ZyX
21a5ce033c
viml/parser/expressions: Add support for the dot operator and numbers
2017-10-15 19:13:50 +03:00
ZyX
163792e9b9
viml/parser/expressions: Make lexer parse numbers, support non-decimal
2017-10-15 19:13:50 +03:00
ZyX
0bc4e22379
viml/parser/expressions: Forbid dot or alpha characters after a float
...
This is basically what Vim already does, in addition to forbidding floats should
there be a concat immediately before it.
2017-10-15 19:13:50 +03:00
ZyX
6168e1127c
viml/parser/expressions: Add support for comparison operators
2017-10-15 19:13:49 +03:00
ZyX
6791c57420
viml/parser/expressions: Make sure that arrows outside lambda throw
2017-10-15 19:13:49 +03:00
ZyX
6144e26eb9
viml/parser/expressions: Add support for ternary operator
2017-10-15 19:13:49 +03:00
ZyX
9e721031d5
viml/parser/expressions: Fix determining invalid commas/colons
2017-10-15 19:13:48 +03:00
ZyX
3735537a50
viml/parser/expressions: Fix call inside nested parenthesis
...
It may have incorrectly tried to call everything because of essentially “value”
nodes being treated as not such.
2017-10-15 19:13:48 +03:00
ZyX
f33543377e
viml/parser/expressions: Add a way to represent tokens from C code
2017-10-15 19:13:47 +03:00
ZyX
9fa8f7fc0a
viml/parser/expressions: Add a way to adjust lexer
...
It also adds support for kExprLexOr which for some reason was forgotten.
It was only made sure that KLEE test compiles in non-KLEE mode, not that
something works or that KLEE is able to run tests.
2017-10-08 22:25:08 +03:00
ZyX
0987d3b10f
viml/parser/expressions: Make curly braces name actually work
2017-10-08 22:25:07 +03:00
ZyX
3cc65ac054
viml/parser/expressions: Make commas actually work when calling
2017-10-08 22:25:07 +03:00
ZyX
d4782fb1ca
viml/parser/expressions: Make commas actually work when calling
2017-10-08 22:25:06 +03:00
ZyX
7980614650
viml/parser/expressions: Add support for figure braces (three kinds)
2017-10-08 22:25:06 +03:00
ZyX
430e516d3a
viml/parser/expressions: Start creating expressions parser
...
Currently supported nodes:
- Register as it is one of the simplest value nodes (even numbers are
not that simple with that dot handling).
- Plus, both unary and binary.
- Parenthesis, both nesting and calling.
Note regarding unit tests: it stores data for AST in highlighting in
strings in place of tables because luassert fails to do a good job at
representing big tables. Squashing a bunch of data into a single string
simply yields more readable result.
2017-10-08 22:25:03 +03:00
ZyX
1265da0288
viml/parser: Add helper functions for highlighting
2017-10-08 22:12:00 +03:00
ZyX
2d8b9937de
viml/parser: Handle encoding conversions
2017-10-08 22:11:59 +03:00
ZyX
0300c4d109
viml/expressions: Add lexer with some basic tests
2017-10-08 22:11:57 +03:00