Tim Schaub
bd5d9d572e
Lint
2013-06-25 12:11:50 -06:00
Tim Schaub
5e309e244b
Using ol.expression.parse
2013-06-25 12:11:50 -06:00
Tim Schaub
72d32ec71a
Correct index for tokens
2013-06-25 12:11:50 -06:00
Tim Schaub
f0567f5053
Expect the unexpected
2013-06-25 12:11:49 -06:00
Tim Schaub
62eb0dd72b
Give token an index and throw unexpected token from a common place
2013-06-25 12:11:49 -06:00
Tim Schaub
bb1b0cba95
Getter for not expression argument
2013-06-25 12:11:49 -06:00
Tim Schaub
c05fb8c61b
Getters for member expression properties
2013-06-25 12:11:49 -06:00
Tim Schaub
2528581642
Getters for math expression properties
2013-06-25 12:11:49 -06:00
Tim Schaub
4a617871da
Getters for logical expression properties
2013-06-25 12:11:49 -06:00
Tim Schaub
3de330eb99
Getter for literal expression value
2013-06-25 12:11:49 -06:00
Tim Schaub
6d6ec357e1
Getter for identifier expression name
2013-06-25 12:11:48 -06:00
Tim Schaub
582a52849c
Getters for comparison expression properties
2013-06-25 12:11:48 -06:00
Tim Schaub
be636d7f46
Getters for call expression properties
2013-06-25 12:11:48 -06:00
Tim Schaub
6458f98996
Describing the extent of support for ES-5 expressions
2013-06-25 12:11:48 -06:00
Tim Schaub
2fd8f4cb00
Integration testing for binary logical operators
2013-06-25 12:11:48 -06:00
Tim Schaub
973606e67a
Integration tests for equality operators
2013-06-25 12:11:48 -06:00
Tim Schaub
3a3f9bc20b
Integration testing for relational operators
...
No `instanceof` or `in` operator support.
2013-06-25 12:11:47 -06:00
Tim Schaub
9d5424236c
Integration testing for additive operators
2013-06-25 12:11:47 -06:00
Tim Schaub
7c2550fefa
Integration testing for multiplicative operators
2013-06-25 12:11:47 -06:00
Tim Schaub
2492515e8f
Integration testing for unary operators
...
Only supporting ! at the moment.
2013-06-25 12:11:47 -06:00
Tim Schaub
e6f03c8f22
Confirm whitespace is consumed as expected
2013-06-25 12:11:47 -06:00
Tim Schaub
26a7d907a2
Test unary expression parsing
2013-06-25 12:11:47 -06:00
Tim Schaub
a0bd736948
Left-hand-side expression parsing
2013-06-25 12:11:47 -06:00
Tim Schaub
803b3a3f7d
Binary expression parsing
2013-06-25 12:11:46 -06:00
Tim Schaub
40b12410f0
Increment after scanning >= and <= (and expect EOF in tests)
2013-06-25 12:11:46 -06:00
Tim Schaub
379ac82688
Test argument parsing
2013-06-25 12:11:46 -06:00
Tim Schaub
6d0badcf2a
Optional scope (works for expressions without identifiers)
2013-06-25 12:11:46 -06:00
Tim Schaub
d920d8e578
Test left-hand-side expression parsing
2013-06-25 12:11:46 -06:00
Tim Schaub
13d0b8b084
Provide ol.expression.parse method
...
This is the only method needed in the API.
2013-06-25 12:11:46 -06:00
Tim Schaub
3643ea164f
Cast boolean and null before creating literal expression
2013-06-25 12:11:46 -06:00
Tim Schaub
ce67aa2617
Make way for convenience functions in ol.expression package
2013-06-25 12:11:45 -06:00
Tim Schaub
7a1e69e288
Initial parsing tests
2013-06-25 12:11:45 -06:00
Tim Schaub
cb9725bdfb
Provide static method to check for valid operators
2013-06-25 12:11:45 -06:00
Tim Schaub
29b77a2dac
Member expressions
2013-06-25 12:11:45 -06:00
Tim Schaub
fbb028e15e
Call expressions
2013-06-25 12:11:45 -06:00
Tim Schaub
f050546fe2
Logical expressions
2013-06-25 12:11:44 -06:00
Tim Schaub
153df45f95
Math expressions
...
Just simple binary type expressions supported here. These can be serialized in a variety of formats. More complex operations to be supported by call expressions.
2013-06-25 12:11:44 -06:00
Tim Schaub
b2ff793ea1
Comparison expressions
2013-06-25 12:11:44 -06:00
Tim Schaub
052b973b39
Reduce to a single literal
2013-06-25 12:11:44 -06:00
Tim Schaub
20b66fc447
Proper specs
2013-06-25 12:11:43 -06:00
Tim Schaub
0abcbb9854
Stray not
2013-06-25 12:11:43 -06:00
Tim Schaub
a87ebfe97b
Specific expression types
2013-06-25 12:11:43 -06:00
Tim Schaub
063b461ffd
Fewer calls to charCodeAt
2013-06-25 12:11:43 -06:00
Tim Schaub
f272350e00
Expose next and peek methods
2013-06-25 12:11:42 -06:00
Tim Schaub
5baa38b82c
Test punctuator scanning
2013-06-25 12:11:42 -06:00
Tim Schaub
50f94911b1
Scan string literals
2013-06-25 12:11:42 -06:00
Tim Schaub
0844df8cc2
Scanning identifiers
...
This includes code that is likely not necessary. The escape sequence scanning will likely not be used in our case, but I'm committing it here so it can be brought back if needed later.
2013-06-25 12:11:42 -06:00
Tim Schaub
040c80a5ad
Expectations about token type
2013-06-25 12:11:42 -06:00
Tim Schaub
193cf4de50
Scan numeric literals
2013-06-25 12:11:41 -06:00
Tim Schaub
a5343161bf
Separate lexer
2013-06-25 12:11:41 -06:00