Michael M
294b1895ef
ExpressionParser: std::move() tokens vector to parser
2017-09-14 12:53:36 -07:00
Michael M
31f1c06226
ControlReference: don't reparse expression when references are updated
2017-09-14 12:53:35 -07:00
Michael M
c332580b83
ControlReference/ExpressionParser: separate parsing from binding
2017-09-14 12:53:35 -07:00
Michael M
ba87a50338
ExpressionParser: add FallbackExpression node type
2017-09-14 12:53:35 -07:00
Michael M
7e74961eb1
ExpressionParser: expose ExpressionNode directly
2017-09-14 12:53:35 -07:00
Michael M
85301e2bae
ParseStatus: replace NoDevice with EmptyExpression
2017-09-14 12:53:35 -07:00
Michael M
754efd75c5
ExpressionParser: remove DummyExpression
2017-09-14 12:53:35 -07:00
Michael M
f1ff1e3d08
ExpressionParser: clean up ControlExpression
2017-09-14 12:53:35 -07:00
Michael M
3df945f8d0
ExpressionParser: replace bare pointers with unique_ptrs
2017-09-14 12:53:35 -07:00
Michael M
bbb7c17235
ExpressionParser: use internal ParseResult struct instead of out-params
2017-09-14 12:53:35 -07:00
Michael M
d2821e14fa
ParseExpression: return a std::pair
2017-09-14 12:53:34 -07:00
Lioncash
05872336a9
ExpressionParser: Rename ParseStatus' Success member to Successful
...
This clashes with X11's preprocessor define named Success (because using
non-prefixed lowercase identifiers in C was apparently a fantastic idea
at some point), causing compilation errors.
2017-04-02 06:13:18 -04:00
Lioncash
d104e5e916
ExpressionParser: Convert parse state enum into an enum class
2017-02-28 05:07:21 -05:00
Lioncash
f0203157d4
ExpressionParser: Const-correctness changes
2017-02-26 02:09:34 -05:00
Michael Maltese
a509f56116
InputCommon: Extract ControlReference from ControllerInterface
...
Better separation of concerns. Relegates `ControllerInterface` to
enumerating input controls, and the new `ControlReference` deals with
combining inputs and configuration expression parsing.
2017-02-07 22:59:10 -08:00