12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879moduleCompliance=structtypejson=Json.Strict.jsontypejson_stream=Json_stream.Strict.jsonopenTokensletlex_strings=Lexxer_utils.unescape_stringsletlex_number=function|INFINITY->COMPLIANCE_ERROR"inf not supported"|NEGINFINITY->COMPLIANCE_ERROR"-inf not supported"|NAN->COMPLIANCE_ERROR"nan not supported"|FLOAT_astoken->token|token->tokenletlex_integertoken=tokenletlex_largeint=function|LARGEINTs->FLOAT(float_of_strings)|token->tokenletlex_variant_=falseletlex_tuple_=falseletcomment_check()=Error"comments are not supported in basic mode"letnumber_to_stringf=matchclassify_floatfwith|FP_normal|FP_subnormal|FP_zero->Json_float.string_of_float_jsonf|FP_infinite->raise(Failure"infinity not supported")|FP_nan->raise(Failure"nan not supported")letlargeints=`Float(float_of_strings)letintegeri=`Float(float_of_inti)letnull=`Nullletstrings=`Stringsletboolb=`Boolbletassoca=`Assocaletlistl=`Listllettuple_l=raise(Failure"tuples not supported in strict mode")letvariant_l=raise(Failure"variants not supported in strict mode")letnumber=function|`Floatf->`Floatf|`Infinity->raise(Failure"inf not supported in strict mode")|`Neginfinity->raise(Failure"-inf not supported in strict mode")|`Nan->raise(Failure"nan not supported in strict mode")|`Floatlit_->raise(Failure"floatlit not supported in basic mode")moduleStream=structletnumber=numberletlargeint=largeintletinteger=integerletnull=nullletstring=stringletbool=boolletarray_start()=`Asletarray_end()=`Aeletobject_start()=`Osletobject_end()=`Oelettuple_start()=raise(Failure"tuples not supported in strict mode")lettuple_end()=raise(Failure"tuples not supported in strict mode")letvariant_start()=raise(Failure"variants not supported in strict mode")letvariant_end()=raise(Failure"variants not supported in strict mode")letnames=`NamesendendmoduleLexxer=Compliant_lexxer.Make(Compliance)moduleParser=Parser.Make(Compliance)includeReader_string_file.Make(Lexxer)(Parser)typet=jsonincludeWriter_string.Make(Compliance)includeWriter_file.Make(Compliance)includePretty.Make(Compliance)moduleProcess=Process.Strict