79 Commits

Author SHA1 Message Date
Raphaël AMIARD
fa11d4bdd3 T917-024/SA28-035: Don't use negative ranges for token slocs. 2020-09-21 15:16:26 +02:00
Raphaël AMIARD
eff5ae2cd9 T910-014: Improve App
- Allow just subclassing App.process_unit, by providing a default main
  that iterates on units and calls process_unit on each

- Allow passing args to python App programmatically
2020-09-11 17:54:55 +02:00
Raphaël AMIARD
3b19d67528 SA28-035: Don't store source locations in token data
Instead, compute them lazily from offset data.

This creates a slight breakage in the generated slocs for token with
negative spans. Since there is not much you could do with the end sloc
of a token with a negative span range before, this is considered a
minor breakage.
2020-09-08 16:57:26 +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
Pierre-Marie de Rodat
6600963d0f dsl_unparse: fix handling for abstract properties
TN: RA22-015
2020-06-23 16:19:45 +02:00
Pierre-Marie de Rodat
71f773e0ff Rename SymbolNode to TokenNode
TN: RA22-015
2020-06-17 11:45:07 +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
adaebf3a3a Lkt lowering: handle enum nodes (qualifier ones included)
TN: RA22-015
2020-06-15 16:11:44 +02:00
Pierre-Marie de Rodat
55fe04716e dsl_unparse: fix syntax for qualifier enum nodes
TN: RA22-015
2020-06-12 14:01:11 +02:00
Raphaël AMIARD
a7cd8f3a39 RA22-015: New syntax for enum classes 2020-06-11 17:07:45 +02:00
Pierre-Marie de Rodat
cc52e46c10 Generate and interpret the @@has_abstract_list node annotation
TN: RA22-015
2020-06-11 14:37:13 +02:00
Pierre-Marie de Rodat
b72147bbb7 Testsuite: add types_from_lkt=True wherever possible
TN: RA22-015
2020-06-11 14:37:13 +02:00
Pierre-Marie de Rodat
770513f43d Generate and interpret the @token_node node annotation
TN: RA22-015
2020-06-11 14:37:13 +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
ef315c4345 Python API: fix ASTNode.dump_str with Python3
Fixes #353
2020-06-01 17:51:37 +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
d3db6f97a3 dsl_unparse: make the order of fields in New() expressions deterministic
TN: T511-017
2020-05-26 12:33:48 +02:00
Raphaël AMIARD
4e14e1f2b3 RA22-015: don't emit EnvAssoc 2020-05-14 17:07:42 +02:00
Pierre-Marie de Rodat
f352c7a361 Python API: do not dec_ref C array values when coming from struct fields
TN: T423-042
2020-04-28 11:48:45 +02:00
Raphaël AMIARD
25ef86e25a RA22-015: dsl_unparse: filter_map -> filtermap 2020-03-27 16:46:10 +01:00
Raphaël AMIARD
5dab1571b2 RA22-015: cleanup syntax for casts and type checks 2020-03-27 16:46:10 +01:00
Raphaël AMIARD
e5357ae48a RA22-015: cleanup method vs field emission 2020-03-27 16:46:10 +01: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