Revision 783d1d2799a649f7baf929448dea778156ba8d3b authored by Arvid Jakobsson on 10 January 2024, 14:09:25 UTC, committed by Marge Bot on 15 January 2024, 15:19:42 UTC
1 parent 3402657
JSON_lexer.mll
{
open JSON_parser
}
(* NOTE: This rule does not follow the JSON spec. In particular it does
not correctly handle backslash characters in strings. If it becomes
necessary to support it, we could consider vendoring a json library. *)
rule token = parse
| [' ' '\t' '\r' '\n']+ { token lexbuf }
| '-'? ['0'-'9']+ ('.' ['0'-'9']+)? as x
{ (* TODO: this regexp probably doesn't exactly match the spec *)
FLOAT (float_of_string x) }
| '"' ([^'"' '\\']* as x) '"'
{ STRING x }
| '{' { LBRACE }
| '}' { RBRACE }
| '[' { LBRACKET }
| ']' { RBRACKET }
| ',' { COMMA }
| ':' { COLON }
| ['a'-'z']+ as x
{ match x with
| "true" -> BOOL true
| "false" -> BOOL false
| "null" -> NULL
| _ -> failwith "parse error" }
| eof { EOF }
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...