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 hex_dig = ['0'-'9' 'a'-'f' 'A'-'F']
|
||||||
|
|
||||||
let digit = ['0'-'9']
|
let digit = ['0'-'9']
|
||||||
let hexa = "0x" hex_dig
|
let hexa = "0x" hex_dig+
|
||||||
let bina = "0b" ['0'-'1']
|
let bina = "0b" ['0'-'1']+
|
||||||
let octa = "0o" ['0'-'7']
|
let octa = "0o" ['0'-'7']+
|
||||||
|
|
||||||
|
|
||||||
(* Définition d'un atom
|
(* 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 *)
|
(* Identificateur de variables de type *)
|
||||||
let type_variable = '`' ident
|
let type_variable = '`' ident
|
||||||
(* Littéraux entiers *)
|
(* 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 *)
|
(* Littéraux caractères *)
|
||||||
let letter = (digit | ['A'-'Z'] | ['a'-'z'])
|
let letter = (digit | ['A'-'Z'] | ['a'-'z'])
|
||||||
|
|
||||||
|
|
Reference in a new issue