Commit Graph

89 Commits

Author SHA1 Message Date
Denis Merigoux
fcca9e4c47
Correction after confirmation from regulatory body 2023-01-20 10:10:31 -05:00
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
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
fa84dd4330
Splitting long lines 2023-01-05 16:20:51 +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
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
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
f236e2cfb2 Replace the type conversion and rounding operators with overloads
Ref. #366

Also updates `CONTRIBUTING.md`.

This was pretty straight-forward :)
2022-12-13 15:32:49 +01:00
Louis Gesbert
dcb422302d Tests/examples update 2022-12-13 12:30:40 +01:00
Louis Gesbert
bb58d11ca8 Improve syntax for scope calls
implements #357
2022-12-13 12:30:38 +01:00
Louis Gesbert
09d49ab1cc French syntax: replace 'sortie' with 'résultat'
as per comment in #357
2022-12-13 12:27:33 +01:00
Louis Gesbert
71bb67163c Remove explicitely typed operators in tests and examples
Command used: `sed -i 's/\([-+*/><=]=\?\)[.$@^€$]/\1/g' **/*/*.catala_*`

The overload test, of course, is kept unchanged and ensures that explicit
operators still work.
2022-12-13 12:00:04 +01:00
Louis Gesbert
4ee4a96ac7 Remove *all* struct field access qualifiers in catala code
They are no longer needed \o/
2022-11-28 16:42:02 +01:00
Denis Merigoux
d7b9396e87
Correct lines 2022-11-24 15:17:00 +01:00
Louis Gesbert
a51d082033 Use scope calls in "Aides logement" 2022-11-07 14:23:10 +01:00
Louis Gesbert
b19a7660fc Fix ambiguities in examples 2022-10-21 17:36:44 +02:00
Louis Gesbert
5fc3181621 Aides logement: fix typo 2022-10-11 17:38:31 +02:00
Louis Gesbert
0ab7a0f9ce Turn all existing tests to inline tests
Done using
```bash
process() { FILE=$1; awk 'match($0, /^```catala-test *{ *id *= *"(.*)" *}/, a) {print "```catala-test-inline"; f="'"$(dirname $FILE)/output/$(basename $FILE)"'." a[1]; getline; print "$ " $0; while ((getline<f) > 0) print; next} {print}' $FILE >$FILE.new; mv $FILE.new $FILE; }
for f in tests/test_*/*/*.catala_* examples/**/*.catala_*; do process $f; git add $f; done
for d in $(find -name output -type d); do git rm -r $d; done
```
2022-09-23 14:45:10 +02:00
Denis Merigoux
6e64f769a0
Update assets and rename executable 2022-09-08 15:16:39 +02:00
Denis Merigoux
a4207c9d9e
Last corrections 2022-09-08 14:54:02 +02:00
Denis Merigoux
1df20c18ac
Fixing discrepancies with LegiFrance in French housing benefits 2022-09-08 12:30:16 +02:00
Denis Merigoux
3188ac5e13
Starting to fix diffs 2022-09-07 17:51:48 +02:00
Denis Merigoux
3756a6fb22
Fix french housing benefits 2022-09-07 17:14:36 +02:00
Denis Merigoux
84b994b521
Bug caught with proof mode 2022-09-05 17:35:44 +02:00
Denis Merigoux
6130151c8e
Fix bug and typos 2022-09-05 14:50:37 +02:00
Denis Merigoux
e37639667d
Mise à jour arrêté du 16 août 2022 2022-09-05 12:15:36 +02:00
Denis Merigoux
538cca3f0e
Fix table 2022-08-26 12:05:22 +02:00
Denis Merigoux
e41e0f9dcc
Fix line length and display lines of code 2022-08-26 12:05:22 +02:00
Denis Merigoux
062fea89d7
No RLS for logement-foyers 2022-08-19 11:54:15 +02:00
Denis Merigoux
d6ad4604ce
Only social conventions for logement-foyers 2022-08-19 11:39:04 +02:00
Denis Merigoux
1553f88cf5
Remove unnecessary input 2022-08-18 18:53:30 +02:00
Denis Merigoux
2bc1b7d7f7
RLS only for social housing 2022-08-18 16:00:52 +02:00
Denis Merigoux
62ff234319
Shuffle data around 2022-08-18 15:27:01 +02:00
Denis Merigoux
1d63c48b9c
Fix test 2022-08-18 11:55:19 +02:00
Denis Merigoux
331789bfee
Remove input data duplicate 2022-08-16 17:39:18 +02:00
Denis Merigoux
82940b63e3
Remove mode_occupation from AL/APL logement-foyer's input
In favor of a more restricted input
2022-08-16 17:01:53 +02:00
Denis Merigoux
54e08585c6
Put sectorial information where it belongs 2022-08-16 16:22:51 +02:00
Denis Merigoux
a1ebb6715c
Remove age prompts, deduct from birth date correctly 2022-08-16 11:08:13 +02:00
Denis Merigoux
d93e00c7bc
Some factorization 2022-08-15 18:33:09 +02:00
Denis Merigoux
1fdb21326b
Fix logement meublé thing 2022-08-15 17:43:29 +02:00
Denis Merigoux
489d2f9506
Fixed bugs in allocation logement eligibility 2022-08-15 17:16:23 +02:00
Denis Merigoux
c71b8e28c6
Moving parameters into property-section of data 2022-08-12 11:16:52 +02:00
Denis Merigoux
ef269df553
Restore tests 2022-08-12 09:51:35 +02:00
Denis Merigoux
c062ac2924
Added a new test 2022-08-11 18:18:04 +02:00
Denis Merigoux
9184b1e265
Further use let-in 2022-08-11 18:17:53 +02:00
Denis Merigoux
35a893920b
Précision chambre CROUS 2022-08-11 18:17:33 +02:00
Denis Merigoux
9eef072cdd
Logement à usage locatif s'applique aussi aux logements-foyers 2022-08-11 18:17:00 +02:00
Denis Merigoux
7b7d31d0a5
Fix non-negative value bug in housing benefits 2022-08-11 16:16:00 +02:00