Lexer gère mieux les nombres désormais

This commit is contained in:
Nicolas PENELOUX 2023-10-24 15:20:11 +02:00
parent 27696ecf09
commit 9444102aea

View file

@ -45,9 +45,9 @@ let blank = [' ' '\009' '\012']
let hex_dig = ['0'-'9' 'a'-'f' 'A'-'F']
let digit = ['0'-'9']
let hexa = "0x" hex_dig
let bina = "0b" ['0'-'1']
let octa = "0o" ['0'-'7']
let hexa = "0x" hex_dig+
let bina = "0b" ['0'-'1']+
let octa = "0o" ['0'-'7']+
(* Définition d'un atom
@ -69,7 +69,11 @@ let constr_id = ['A'-'Z']['A'-'Z' 'a'-'z' '0'-'9' '_']*
(* Identificateur de variables de type *)
let type_variable = '`' ident
(* Littéraux entiers *)
let int = '-'? (digit+ | hexa+ | bina+ | octa+)
(*let int = '-'? (digit+ | hexa | bina | octa)*)
let int = '-'? ['0'-'9']+
| "0x" ['0'-'9' 'a'-'f' 'A'-'F']+
| "0b" ['0'-'1']+
| "0o" ['0'-'7']+
(* Littéraux caractères *)
let letter = (digit | ['A'-'Z'] | ['a'-'z'])