Commit Graph

102 Commits

Author SHA1 Message Date
Louis Gesbert
4ae392c900 AST refactoring
Many changes got bundled in here and would be too tedious to separate.

Closes #330

See changes in `shared_ast/definitions.ml` to check the main point.

- the biggest change is a modification of the struct and enum types in
  expressions: they are now stored as `Map`s throughout passes, and no longer
  converted to indexed lists after scopelang. Their accessors are also changed,
  and tuples only exist in Lcalc (they're used for closure conversion).

  This implied adding some more information in the contexts, to keep the mapping
  between struct fields and scope output variables. It should also be much more
  robust (no longer relying on assumptions upon different orderings).

- another very pervasive change is more cosmetic: the rewrite of the main AST to
  use inline records, labelling individual subfields.

- moved the checks for correct definitions and accesses of structures from
  `Scope_to_dcalc` to `Typing`

- defining some new shallow iterators in module `Shared_ast.Expr`, and
  factorising a few same-pass rewriting functions accordingly (closure
  conversion, optimisations, etc.)

- some smaller style improvements (ensuring we use the proper compare/equal
  functions instead of `=` in a few `when` closes, for example)
2022-11-17 18:16:09 +01:00
Denis Merigoux
c7f07435fc
Moved doc around 2022-09-20 10:50:43 +02:00
Denis Merigoux
cc8c460fb3
Remove chinese language support as it is not yet supported by the compiler 2022-09-20 10:44:46 +02:00
YueLiPicasso
9c3b001f21 gnu gedit syntax highlighting 2022-09-20 16:15:46 +08:00
Denis Merigoux
755b1212a2
Remove division durations 2022-08-19 15:21:29 +02:00
Denis Merigoux
b8a5598d3c
Fix syntax highlighting for "let" 2022-08-11 11:46:45 +02:00
Louis Gesbert
f35f18b295 Add local 'let in' bindings 2022-08-09 12:17:31 +02:00
Louis Gesbert
19dbce895c Shell scripts: POSIX + correct error reporting 2022-07-20 12:04:30 +02:00
Louis Gesbert
56026e8e8d Pygments: install as user
Makefiles shouldn't sudo
2022-05-19 10:40:04 +02:00
Louis Gesbert
b928e02385 Emacs mode: small fixes 2022-05-16 15:21:15 +02:00
Louis Gesbert
50c1e7282c Add a (very simple) syntax highlighting mode for Emacs
Also fixes a typo in the .iro specifications
2022-05-13 17:42:03 +02:00
Denis Merigoux
eb7f00f56d
Syntax: parser and highlighting 2022-02-28 14:33:07 +01:00
Denis Merigoux
2263dd7dab
Update syntax highlighting and test suite [skip ci] 2022-02-07 12:04:48 +01:00
Denis Merigoux
45fe92be62
Update syntax highlighting 2022-02-04 23:10:29 +01:00
EmileRolley
50901fbb0c refactor(syntax-highlighting): support the new catala-metadata markup 2021-10-01 15:52:45 +02:00
Sébastien Canu
2c36276a71
Fix atom fr syntax highlighting plugin 2021-06-09 22:07:37 +02:00
EmileRolley
5060565ed2 fix: update all syntax highlighting in order to match widlcard keywords 2021-06-03 15:33:40 +02:00
EmileRolley
f6d3906fe9 Revert "fix(syntax_highlighting): Type to Structure for constructors"
This reverts commit c0cc636372.
2021-06-02 10:57:43 +02:00
EmileRolley
c0cc636372 fix(syntax_highlighting): Type to Structure for constructors 2021-06-02 10:57:24 +02:00
EmileRolley
01daa6e1e1 Revert "fix(syntax_highlighting): Type to Structure for primitive types"
This reverts commit 241ae8f7d3.
2021-06-02 10:38:57 +02:00
EmileRolley
241ae8f7d3 fix(syntax_highlighting): Type to Structure for primitive types 2021-06-02 10:37:13 +02:00
EmileRolley
7921484aee fix(syntax_highlighting): improve floating/money amount mathching in vim syntax files 2021-06-01 11:18:44 +02:00
EmileRolley
ed73be5abf feat(syntax_highlighting): add the catala_pl.vim file 2021-06-01 10:53:49 +02:00
EmileRolley
909f04b8af feat(syntax_highlighting): add the catala_en.vim file 2021-05-31 20:59:56 +02:00
EmileRolley
fa345a9312 fix(syntax_highlighting): minor corrections in catala_fr.vim 2021-05-31 14:43:03 +02:00
EmileRolley
6b63ba02b5 docs(syntax_highlighting): add a link to the vim help page 2021-05-31 14:30:18 +02:00
EmileRolley
a233769e98 feat(syntax_highlighting)!: add the catala_fr.vim file 2021-05-31 14:23:15 +02:00
EmileRolley
9ac9ed6f1e fix(syntax_highlighting): fix date highlighting 2021-05-30 21:06:32 +02:00
EmileRolley
a450c8f841 fix(syntax_highlighting): fix heading hightlighting 2021-05-30 20:15:37 +02:00
EmileRolley
f5b3786d2f refactor(syntax_highlighting)!: remove the the syntax highlighting for the abbrevitated syntax 2021-05-29 11:21:35 +02:00
Bartosz Woźniak
44af0acdb3 visible diacritics done 2021-05-16 21:07:14 +02:00
Bartosz Woźniak
831f4c75ae diacritics ę 2021-05-16 20:38:38 +02:00
Bartosz Woźniak
b1ecf5abc9 begin diacritics 2021-05-16 20:35:39 +02:00
Bartosz Woźniak
68e2d5c541 change form of noun for consistency 2021-05-16 20:22:53 +02:00
Bartosz Woźniak
2b5a54e315 atom stuff 2021-05-16 20:13:03 +02:00
Denis Merigoux
da363d8e75 Fixed Iro files 2021-05-13 10:12:00 +02:00
Bartosz Woźniak
f70e3e4296 change 'zawartosc' which means 'content' to 'typu' which means 'of the type..' 2021-05-12 19:42:40 +02:00
Bartosz Woźniak
c4e39f159f change condition ('warunek' - boolean) from green to red in pdf 2021-05-12 19:40:19 +02:00
Denis Merigoux
4f9b0d63fd Fix PL pygmentz lexer and document formatting 2021-05-12 10:43:42 +02:00
Bartosz Woźniak
d61926c51b cleanup 2021-05-11 20:37:35 +02:00
Bartosz Woźniak
962d5d2f82 compilation fixes 2021-05-11 20:26:17 +02:00
Bartosz Woźniak
21584e6444 polish syntax pygments 2021-05-10 19:05:18 +02:00
EmileRolley
13c94cb3c0 fix(syntax_highlighting_fr): syntax 2021-03-19 16:47:32 +01:00
EmileRolley
43c923d8f3 fix(syntax_highlighting_fr): syntax 2021-03-19 16:04:44 +01:00
EmileRolley
9b67bd9d27 fix(syntax_highlighting_fr): add 'ou bien' to operators 2021-03-19 15:56:16 +01:00
EmileRolley
56481ebf97 fix(syntax_highlighting_en): add xor to operators 2021-03-17 10:49:07 +01:00
EmileRolley
86447636e2 fix(syntax_highlighting_nv): add xor to operators 2021-03-17 10:48:26 +01:00
Denis Merigoux
3b110e04ee
Syntax sheet 2021-03-14 21:57:01 +01:00
EmileRolley
383347bf00 refactor(syntax_highlighting): update the catala_en highlighting 2021-03-10 14:47:43 +01:00
EmileRolley
764a8fe1f8 fix(syntax_highlighting): syntax 2021-03-10 14:47:09 +01:00