More parsing again

This commit is contained in:
Denis Merigoux 2020-03-08 05:12:12 +01:00
parent 1475c98ea4
commit 681b1f76ae
3 changed files with 47 additions and 5 deletions

View File

@ -63,15 +63,20 @@ let rec lex_code lexbuf =
| "tel" -> update_and_acc lexbuf; SUCH
| "que" -> update_and_acc lexbuf; THAT
| "maintenant" -> update_and_acc lexbuf; NOW
| "et" -> update_and_acc lexbuf; AND
| "ou" -> update_and_acc lexbuf; OR
| '!' -> update_and_acc lexbuf; BANG
| '<' -> update_and_acc lexbuf; LESSER
| '>' -> update_and_acc lexbuf; GREATER
| '(' -> update_and_acc lexbuf; LPAREN
| ')' -> update_and_acc lexbuf; RPAREN
| ';' -> update_and_acc lexbuf; SEMICOLON
| ':' -> update_and_acc lexbuf; COLON
| '.' -> update_and_acc lexbuf; DOT
| "--" -> update_and_acc lexbuf; ALT
| uppercase , Star (uppercase | lowercase) ->
update_and_acc lexbuf; CONSTRUCTOR (Sedlexing.Utf8.lexeme buf)
| lowercase , Star (lowercase | '_' | '\'') ->
| lowercase , Star (lowercase | uppercase | '0' .. '9' | '_' | '\'') ->
update_and_acc lexbuf; IDENT (Sedlexing.Utf8.lexeme buf)
| _ -> raise_ParseError lexbuf

View File

@ -30,8 +30,8 @@
%token COLON ALT DOT SITUATION SOURCE DATA
%token OF SEMICOLON INTEGER TYPE COLLECTION
%token RULE CONDITION CONSEQUENCE DEFINED AS
%token EXISTS IN SUCH THAT NOW LESSER
%token BANG
%token EXISTS IN SUCH THAT NOW LESSER GREATER
%token BANG AND OR LPAREN RPAREN
%type <Ast.source_file> source_file
@ -68,18 +68,31 @@ primitive_expression:
compare_op:
| LESSER {}
| GREATER {}
sum_expression:
base_expression:
| primitive_expression {}
| qident {}
| LPAREN expression RPAREN {}
sum_expression:
| base_expression {}
logical_op:
| AND {}
| OR {}
compare_expression:
| sum_expression {}
| sum_expression compare_op sum_expression {}
logical_expression:
| compare_expression {}
| compare_expression logical_op compare_expression {}
expression:
| EXISTS IDENT IN qident SUCH THAT expression {}
| compare_expression {}
| logical_expression {}
condition:
| CONDITION expression CONSEQUENCE {}

View File

@ -45,7 +45,31 @@ situation ContextePrestationsFamiliales source loi :
consequence droits_ouverts defini.
*/
2°) après la fin de l'obligation scolaire, et jusqu'à un âge limite, tout enfant dont la rémunération éventuelle n'excède pas un plafond.
/*
situation ContextePrestationsFamiliales source loi :
donnee age_limite_L512_3_2 de type entier ;
donnee plafond_remuneration_L512_3_2 de type montant.
situation EnfantPrestationsFamiliales source loi :
donnee age de type entier ;
donnee remuneration de type montant ;
donnee qualifie_pour_prestation_sauf_age ;
regle condition
maintenant > fin_obligation_scolaire et
remuneration < plafond_remuneration_L512_3_2
consequence qualifie_pour_prestation_sauf_age defini ;
donnee enfant_qualifie_pour_prestation ;
regle condition
qualifie_pour_prestation_sauf_age et
age < age_limite_L512_3_2
consequence qualifie_pour_prestation defini.
situation ContextePrestationsFamiliales source loi :
regle condition
existe enfant dans enfants tel que
enfant!qualifie_pour_prestation
consequence droits_ouverts defini.
*/
Toutefois, pour l'attribution du complément familial et de l'allocation de logement mentionnés aux 3° et 4° de l'article L. 511-1, l'âge limite peut être différent de celui mentionné au 2° du présent article.