Laurent Thévenoux
042d578dd5
U920-002: avoid mismatched type error on root node
...
As the LexicalEnv.get method always return an array of root nodes
while the root node is defined in user code, we need to turn the Node
and LexicalEnv classes into generic traits and instantiate them using
the actual root node.
To make this works, root node declaration has to be changed from
`class FooNode : Node` to `class FooNode implements Node[FooNode]`,
which required to refactor a bit almost all the lkt tests.
2021-09-27 17:39:36 +02:00
Raphaël AMIARD
3eef9cdc25
RA22-015: make Node a base class rt. a trait
2020-06-30 15:43:53 +02:00
Raphaël AMIARD
119379f643
RA22-015 dsl_unparse: Unparse @with_lexer annotation
2020-06-30 15:43:53 +02:00
Raphaël AMIARD
2060a7c36d
RA22-015: make token_node/root_node traits
2020-06-16 15:19:35 +02:00
Pierre-Marie de Rodat
2b40a5ce99
Lkt: start handling the lowering of nodes
...
TN: RA22-015
2020-06-11 14:37:13 +02:00
Pierre-Marie de Rodat
2b9b33d6a0
Remove __future__ imports and adjust stylechecks
...
TN: T511-017
2020-05-26 12:33:48 +02:00
Pierre-Marie de Rodat
de58c96d16
Testsuite: factorize common lexers in the concrete syntax
...
TN: RA22-015
2020-03-16 10:41:18 +01:00
Pierre-Marie de Rodat
05ca4fbcb1
Slightly change lexer annotation syntax
...
Since @text, @trivia and @symbol take arguments, enforce parens for
them.
TN: RA22-015
2020-03-16 10:41:18 +01:00
Romain Beguet
0612dde534
RA22-015: Make WithText the default token action.
2020-03-05 17:01:26 +01:00
Romain Beguet
7287f3f275
RA22-015: Fix syntax of token families.
2020-03-05 17:01:26 +01:00
Pierre-Marie de Rodat
383670d486
Extend support for LKT grammars, transition tests
...
TN: RA22-015
2020-02-27 13:43:20 +01:00
Romain Beguet
9467a5a42c
RA22-015: Add lexer parser and unparser to concrete syntax.
2020-02-27 11:41:20 +01:00
Pierre-Marie de Rodat
fed6874e3b
dsl_unparse: change the naming convention for grammars
...
TN: RA22-015
2020-02-26 12:09:38 +01:00
Pierre-Marie de Rodat
e586a93d9a
dsl_unparse: unparse main grammar rules
...
TN: RA22-015
2020-02-26 12:09:38 +01:00
Pierre-Marie de Rodat
3237629d7d
dsl_unparse: fix grammar name computation
...
Also use "Foo" as the short name for example libraries in testcases.
TN: RA22-015
2020-02-26 12:09:38 +01:00
Raphaël AMIARD
4e7b5f5890
RA22-015: Work on the parser and typer
2020-02-25 11:40:10 +01:00
Raphaël AMIARD
b85e638a68
RA22-015: Emit @abstract qualifiers for fields and classes
2020-02-25 11:40:10 +01:00
Raphaël AMIARD
491b238315
RA22-015: Properly unparse string literal tokens in grammars
2020-02-25 11:40:10 +01:00
Raphaël AMIARD
375b5d2a8e
RA22-015: switch to braces
...
We want to have a block based functional language and braces are a
common choice for that.
2020-01-14 16:58:05 +01:00
Raphaël AMIARD
b809553bb8
RA22-015: improve blank lines generation
2020-01-14 16:58:05 +01:00
Raphaël AMIARD
fd75a5a6c6
RA22-015: Don't unparse generic list types
2020-01-14 16:58:05 +01:00
Raphaël AMIARD
ab381dca1e
RA22-015: test CS unparsing results
2020-01-09 16:23:29 +01:00
Pierre-Marie de Rodat
3260fb63e1
Add Python3 compatibility for the Python bindings to generated libraries
...
TN: SB13-026
2019-12-05 14:47:36 +01:00
Pierre-Marie de Rodat
a5bf08a3a7
stylechecks: enforce two empty lines after imports
...
TN: S819-013
2019-08-20 14:34:45 +02:00
Pierre-Marie de Rodat
99e4111bad
Testsuite: rename directories to replace "-" with "_"
2018-09-28 15:02:58 +02:00