Lexer gère mieux les nombres désormais
This commit is contained in:
parent
27696ecf09
commit
9444102aea
1 changed files with 8 additions and 4 deletions
|
@ -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'])
|
||||
|
||||
|
|
Reference in a new issue