James Blacklock
7ad1ba209d
Add support for array index expressions
...
This is a squash of the changes in
https://github.com/sixtyfpsui/sixtyfps/pull/605
2022-01-14 13:38:25 +01:00
Olivier Goffart
b078fffc44
Parser: allow .
to access member after any expression
...
Before we would only allow `foo.bar` where `foo` was an identifier.
Now we also allow more complex expression such as `"foo".bar` or `(123 + foo).bar`
(in the parser)
In particular, this will allow to get the member of objects returned by functions
or, in the future, part of arrays
2022-01-13 17:49:16 +01:00
Tobias Hunger
bfca0e3573
Mass update copyright messages to be more REUSE compliant
2021-12-22 10:06:12 +01:00
Tobias Hunger
8b30849f7e
compilerlib: Add tests for linear_gradient and image_url
...
Add two simple tests to make sure we do not exidentally break the
alternative spelling for linear-gradient and image-url.
2021-11-22 13:21:17 +01:00
Tobias Hunger
37a2ad5b0f
compilerlib: Fix an assert triggered by linear_gradient
...
Allow both documented spellings of linear_gradient in the debug_assert.
2021-11-22 13:21:17 +01:00
Olivier Goffart
13bd828b96
Update license date
2021-07-02 15:55:54 +02:00
Olivier Goffart
8ab713c681
Parse @linear-gradient(...)
2021-02-01 14:25:27 +01:00
Olivier Goffart
bb4212f0aa
Remove bang macro support
2021-01-28 11:49:24 +01:00
Olivier Goffart
5debc08f98
Parse @image-url
2021-01-28 11:49:24 +01:00
Olivier Goffart
8dc79699de
String template concatenation
...
Currently not supported in the sixtyfps macro
2021-01-18 16:09:58 +01:00
Olivier Goffart
7f78bea8b5
Fix a bunch of cargo clippy warnings in the compiler
2020-12-07 12:54:38 +01:00
Olivier Goffart
9fbb40d91b
Start working on a debug statement
2020-09-03 19:10:07 +02:00
Patrick José Pereira
b63852967e
sixtyfps_compiler: parser: Move code to use new nth and kind functions
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-31 15:02:41 +02:00
Olivier Goffart
58cdaeb8dd
Update license header to mention that commertial option are available
2020-08-26 13:23:42 +02:00
Simon Hausmann
2823f32692
Apply license headers to all non-binary/non-json sources
2020-08-17 17:55:20 +02:00
Olivier Goffart
c30aa370f3
Parse units
...
They currently have no real meaning
2020-07-14 11:35:45 +02:00
Simon Hausmann
4c0755d6cc
Change the way boolean literals are implemented
...
Instead of catching them at parsing time, catch them when trying to convert a qualified name node into an expression.
2020-07-07 22:53:35 +02:00
Simon Hausmann
22d838ffae
Add support for true and false boolean literals
2020-07-07 22:11:41 +02:00
Olivier Goffart
009addf9b4
Logical operations and comparisons and unary operators
2020-06-29 18:40:37 +02:00
Olivier Goffart
c4b1feeea0
Parse Equality opreration
...
(Code generation still missing)
2020-06-29 18:40:37 +02:00
Olivier Goffart
897edb8ac1
Parse object literal
2020-06-18 12:35:37 +02:00
Olivier Goffart
93dbc3b02d
Parse array
2020-06-18 12:20:04 +02:00
Olivier Goffart
5cd4ed7347
Arithmetic operations
2020-06-16 19:04:03 +02:00
Olivier Goffart
8713c10d48
Color literals
2020-06-11 19:26:41 +02:00
Olivier Goffart
708e62800d
Test that the tree is well formed for what we expect
2020-06-11 15:01:09 +02:00
Simon Hausmann
fdbef8c3c4
Add support for parsing conditional expression syntax
2020-06-10 15:40:27 +02:00
Olivier Goffart
95b671c97c
Support for code blocks and signal call
2020-05-28 12:30:08 +02:00
Olivier Goffart
9e4c355fa1
Lookup of quallified id
2020-05-25 17:24:31 +02:00
Olivier Goffart
270c626c6c
Make the Parser a trait
...
Because the rowan::GreenNode is read-only but i want to use the parser
to generate something that can be mutated
2020-05-22 15:31:27 +02:00
Olivier Goffart
300cd9653a
Move the expression parse funciton in their own module
2020-05-20 12:30:30 +02:00