This commit is contained in:
Mylloon 2023-10-24 15:32:22 +02:00
parent 27696ecf09
commit f3ceb046f9
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -25,9 +25,11 @@
let taille = String.length charac in
match charac with
| "\\n" -> Some '\n'
| "\\b" -> Some '\b'
| "\\r" -> Some '\r'
| "\\t" -> Some '\t'
| "\\\'" -> Some '\''
| "\\'" -> Some '\''
| "\\\"" -> Some '"'
| "\\\\" -> Some '\\'
| _ -> (
let s2 = String.get charac 1 in
@ -55,7 +57,7 @@ let octa = "0o" ['0'-'7']
let ascii_table = ['\000'-'\255']
let ascii_hex = "\\0x" hex_dig hex_dig
let printable = ['\032'-'\038' '\040'-'\127']
let escapes = "\\\\" | "\\'" | "\\n" | "\\t" | "\\b" | "\\r"
let escapes = "\\n" | "\\b" | "\\r" | "\\t" | "\\'" | "\\\"" | "\\\\"
let atom = ascii_table | ascii_hex | printable | escapes
(* On ne peut pas différencier au niveau du lexer var_id label_id et type_con,
@ -184,6 +186,7 @@ and read_string buffer = parse
| "\\n" { Buffer.add_char buffer '\n'; read_string buffer lexbuf }
| "\\b" { Buffer.add_char buffer '\b'; read_string buffer lexbuf }
| "\\r" { Buffer.add_char buffer '\r'; read_string buffer lexbuf }
| "\\t" { Buffer.add_char buffer '\r'; read_string buffer lexbuf }
| "\\'" { Buffer.add_char buffer '\''; read_string buffer lexbuf }
| "\\\"" { Buffer.add_char buffer '"'; read_string buffer lexbuf }
| "\\\\" { Buffer.add_char buffer '\\'; read_string buffer lexbuf }