Commit Graph

2713 Commits

Author SHA1 Message Date
Louis Gesbert
19033669f5 Add support for paths in the parser
Using them will lead to "not supported yet" errors soon after, but it's a start
to get to handling separate modules.

The idea is that `foo` can now also be `Bar.foo`, `Bar.Baz.foo`, `foo.Struc.fld`
can be `foo.Bar.Baz.Struc.fld`, etc.
The next steps are to enable the lookups to handle this paths, and to provide
ways to load the external modules to feed these lookups.
2023-01-16 12:09:23 +01:00
Louis Gesbert
f835225a34 Tiny parser simplification
There is no need to keep separate rules for the different kinds of binops anymore.
2023-01-16 12:09:19 +01:00
Catala nix updated
4517cec1b0 update lock files 2023-01-16 01:27:21 +00:00
Denis Merigoux
f4c92530c6
Update aides_logement and fix bugs to produce an updated working simulator (#377) 2023-01-13 12:05:32 +01:00
Denis Merigoux
cd4f7db547
Removed useless file 2023-01-13 11:57:56 +01:00
Louis Gesbert
ddb4ad547f
Fixing big issues w/ Al1 (first pull request) (#383) 2023-01-13 11:19:35 +01:00
JusBanuls
6d05b2148e Retour à la ligne avec Alain 2023-01-12 17:14:35 +01:00
Denis Merigoux
5fb9031c8a
Fixing review comments 2023-01-11 10:42:21 +01:00
Denis Merigoux
f60bd70b85
Fix code in LaTeX literate output (#381) 2023-01-11 10:11:20 +01:00
Louis Gesbert
41eb25e9e0 Fix code in LaTeX literate output
pfffff
2023-01-10 12:06:48 +01:00
Denis Merigoux
c81c5c6708
Small bug spotted with the help of Justine 2023-01-10 11:55:23 +01:00
Denis Merigoux
d86eb8cb03
Ajout revalorisation plafond ASPA 2023 2023-01-10 11:47:14 +01:00
Denis Merigoux
c31ebdf3f8
Add tabularx as a latex dependency 2023-01-10 10:49:03 +01:00
Catala nix updated
d9df02a44f update lock files 2023-01-09 00:22:49 +00:00
Denis Merigoux
843ae5465b
Merge branch 'master' into aides_logement 2023-01-07 21:01:19 +01:00
Denis Merigoux
bed7617581
Update smic 2023-01-07 20:53:05 +01:00
Denis Merigoux
b3057e1d7c
Continue cleaning 2023-01-07 20:42:42 +01:00
Denis Merigoux
050c7c46de
Update assets 2023-01-07 20:28:41 +01:00
Denis Merigoux
2f4a51ce64
Bug fixed! It was tricky 2023-01-07 20:22:36 +01:00
Denis Merigoux
9c6a126af3
Update formatting 2023-01-07 18:38:02 +01:00
Denis Merigoux
f82a77a79e
Fix man page generation for the website (#376) 2023-01-06 17:12:20 +01:00
Denis Merigoux
90be4dbd0e
Improving bench 2023-01-06 17:08:12 +01:00
Denis Merigoux
c723249337
Managed to find a MWE of the bug 2023-01-06 17:07:43 +01:00
Denis Merigoux
9d619a26ba
Correct cli typecheck behavior 2023-01-05 18:56:19 +01:00
Denis Merigoux
124491410d
Revamp encoding, still doesn't work 2023-01-05 18:56:06 +01:00
Denis Merigoux
a3fffb3c8d
Forgot log 2023-01-05 16:43:53 +01:00
Denis Merigoux
d049f998ac
Update assets 2023-01-05 16:32:51 +01:00
Denis Merigoux
fd12549949
Updating assets 2023-01-05 16:21:10 +01:00
Denis Merigoux
fa84dd4330
Splitting long lines 2023-01-05 16:20:51 +01:00
Louis Gesbert
517efac836 Add explicit uutf dependency
(ubase no longer depends on it, but we use it directly)
2023-01-04 17:55:39 +01:00
Denis Merigoux
76d5e44685
More man pages 2023-01-04 17:34:09 +01:00
Denis Merigoux
d2ce111fc2
Better legifrance inclusion 2023-01-04 16:30:14 +01:00
Denis Merigoux
27cf705441
Update article 18 2023-01-04 16:30:14 +01:00
Denis Merigoux
b0e7e9faf8
Update art 15 2023-01-04 16:30:14 +01:00
Louis Gesbert
81050a1965
Updates the specified repo for pandoc (#369) 2023-01-04 13:36:12 +01:00
Louis Gesbert
f4415416a9
Force parens in compound logic formulas (#374) 2023-01-04 12:29:10 +01:00
Louis Gesbert
e3b98b4f50 Literate: more explicit dune dependency 2023-01-04 12:18:46 +01:00
Louis Gesbert
2003566867 Force parens in compound logic formulas
Closes #373

This forbids expressions such as `a and b or c`, avoiding the need to set an
implicit priority between `and`, `or` and `xor`, which I find error-prone.

Instead, when that appears, a message asking for explicit parentheses will be
shown to the user.

Implementation note: since that would be extremely tedious to do in the parser
directly, the parser is set to allow right-associativity without discrimination
for the logical operators, and the check is done during desugaring. This
required to explicit parentheses in the surface AST to discriminate the case
where the priority was explicit.
2023-01-04 10:46:14 +01:00
Catala nix updated
cd96e4f016 update lock files 2023-01-02 00:22:30 +00:00
Catala nix updated
122a8aceea update lock files 2022-12-26 00:23:14 +00:00
Louis Gesbert
92e925ace8
Syntax changes (#368) 2022-12-20 16:31:50 +01:00
Louis Gesbert
51df581aba Small cleanup/fixes following PR review on Syntax Changes 2022-12-20 16:03:41 +01:00
Louis Gesbert
59f81b4002 Rework and update the cheat-sheet
and pygments syntax coloring
2022-12-19 16:05:02 +01:00
Louis Gesbert
9e514755b7 Collection syntax: re-add combined filter+map 2022-12-19 15:17:17 +01:00
Louis Gesbert
e678d0770f Rename a few tokens
In particular `CONSTRUCTOR` is no longer valid for paths & modules, so let's
switch to the more usual LIDENT / UIDENT for lower- or upper- case idents.

cd compiler/surface
sed -i 's/VERTICAL/BAR/g' *
sed -i 's/BRACKET/BRACE/g' *
sed -i 's/SQUARE/BRACKET/g' *
sed -i 's/IDENT/LIDENT/g' *
sed -i 's/CONSTRUCTOR/UIDENT/g' *
2022-12-19 15:17:17 +01:00
Louis Gesbert
47502335aa Refactor the parser to use priorities
Define a single expression rule with disambiguation using token priorities
instead of the many layers of intermediate rules with explicit sub-terms.

Also replaces `in` for collection operations (`x+1 for foo in [1;2]`) with
`among` which helps a lot.
2022-12-19 15:12:53 +01:00
Louis Gesbert
29a961f786 Puns 2022-12-19 13:03:19 +01:00
Louis Gesbert
b9cc89ebb5 Switch the parser to "new" menhir syntax 2022-12-19 13:03:19 +01:00
Louis Gesbert
19f6d3d352 Add a notice on overload rules
Overloads are powerful, but let's clearly draw the line right now between
convenience and type safety, for when someone else will want to add new
operators.
2022-12-19 13:03:16 +01:00
Louis Gesbert
4bffed0d51
Fix typo in tutorial_en.catala_en (#370) 2022-12-19 09:30:52 +01:00