@tellahq/rescript 10.1.0-alpha.2 → 10.1.4-republish-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +204 -2
- package/README.md +1 -1
- package/darwinarm64/bsb_helper.exe +0 -0
- package/darwinarm64/bsc.exe +0 -0
- package/darwinarm64/ninja.exe +0 -0
- package/darwinarm64/rescript.exe +0 -0
- package/docs/docson/build-schema.json +497 -516
- package/lib/4.06.1/bsb_helper.ml +6 -1
- package/lib/4.06.1/rescript.ml +1414 -1191
- package/lib/4.06.1/whole_compiler.ml +69844 -69069
- package/lib/es6/belt_internalBuckets.js +13 -13
- package/lib/es6/caml_float.js +5 -5
- package/lib/es6/caml_format.js +1 -1
- package/lib/es6/caml_int64.js +1 -1
- package/lib/es6/caml_obj.js +26 -6
- package/lib/es6/complex.js +4 -4
- package/lib/es6/js.js +3 -0
- package/lib/es6/js_promise2.js +16 -0
- package/lib/es6/jsxPPXReactSupport.js +26 -0
- package/lib/js/belt_internalBuckets.js +13 -13
- package/lib/js/caml_float.js +5 -5
- package/lib/js/caml_format.js +1 -1
- package/lib/js/caml_int64.js +1 -1
- package/lib/js/caml_obj.js +26 -6
- package/lib/js/complex.js +4 -4
- package/lib/js/js.js +3 -0
- package/lib/js/js_promise2.js +14 -0
- package/lib/js/jsxPPXReactSupport.js +24 -0
- package/package.json +2 -1
- package/scripts/buildNinjaBinary.js +29 -0
- package/scripts/install.js +7 -3
- package/scripts/installUtils.js +9 -1
- package/scripts/rescript_arg.js +2 -4
- package/scripts/rescript_format.js +73 -39
- package/win32/refmt.exe +0 -0
- package/darwin/bsb_helper.exe +0 -0
- package/darwin/bsc.exe +0 -0
- package/darwin/ninja.COPYING +0 -202
- package/darwin/ninja.exe +0 -0
- package/darwin/rescript.exe +0 -0
- package/darwinarm64/ninja.COPYING +0 -202
- package/freebsd/ninja.COPYING +0 -202
- package/lib/ocaml/arg.cmi +0 -0
- package/lib/ocaml/arg.cmt +0 -0
- package/lib/ocaml/arg.cmti +0 -0
- package/lib/ocaml/arg.ml +0 -359
- package/lib/ocaml/arg.mli +0 -185
- package/lib/ocaml/array.cmi +0 -0
- package/lib/ocaml/array.cmt +0 -0
- package/lib/ocaml/array.cmti +0 -0
- package/lib/ocaml/array.ml +0 -307
- package/lib/ocaml/array.mli +0 -275
- package/lib/ocaml/arrayLabels.cmi +0 -0
- package/lib/ocaml/arrayLabels.cmt +0 -0
- package/lib/ocaml/arrayLabels.cmti +0 -0
- package/lib/ocaml/arrayLabels.ml +0 -307
- package/lib/ocaml/arrayLabels.mli +0 -276
- package/lib/ocaml/belt.cmi +0 -0
- package/lib/ocaml/belt.cmt +0 -0
- package/lib/ocaml/belt.ml +0 -352
- package/lib/ocaml/belt_Array.cmi +0 -0
- package/lib/ocaml/belt_Array.cmt +0 -0
- package/lib/ocaml/belt_Array.cmti +0 -0
- package/lib/ocaml/belt_Array.ml +0 -525
- package/lib/ocaml/belt_Array.mli +0 -707
- package/lib/ocaml/belt_Float.cmi +0 -0
- package/lib/ocaml/belt_Float.cmt +0 -0
- package/lib/ocaml/belt_Float.cmti +0 -0
- package/lib/ocaml/belt_Float.ml +0 -50
- package/lib/ocaml/belt_Float.mli +0 -106
- package/lib/ocaml/belt_HashMap.cmi +0 -0
- package/lib/ocaml/belt_HashMap.cmt +0 -0
- package/lib/ocaml/belt_HashMap.cmti +0 -0
- package/lib/ocaml/belt_HashMap.ml +0 -226
- package/lib/ocaml/belt_HashMap.mli +0 -436
- package/lib/ocaml/belt_HashMapInt.cmi +0 -0
- package/lib/ocaml/belt_HashMapInt.cmt +0 -0
- package/lib/ocaml/belt_HashMapInt.cmti +0 -0
- package/lib/ocaml/belt_HashMapInt.ml +0 -206
- package/lib/ocaml/belt_HashMapInt.mli +0 -50
- package/lib/ocaml/belt_HashMapString.cmi +0 -0
- package/lib/ocaml/belt_HashMapString.cmt +0 -0
- package/lib/ocaml/belt_HashMapString.cmti +0 -0
- package/lib/ocaml/belt_HashMapString.ml +0 -206
- package/lib/ocaml/belt_HashMapString.mli +0 -50
- package/lib/ocaml/belt_HashSet.cmi +0 -0
- package/lib/ocaml/belt_HashSet.cmt +0 -0
- package/lib/ocaml/belt_HashSet.cmti +0 -0
- package/lib/ocaml/belt_HashSet.ml +0 -196
- package/lib/ocaml/belt_HashSet.mli +0 -125
- package/lib/ocaml/belt_HashSetInt.cmi +0 -0
- package/lib/ocaml/belt_HashSetInt.cmt +0 -0
- package/lib/ocaml/belt_HashSetInt.cmti +0 -0
- package/lib/ocaml/belt_HashSetInt.ml +0 -155
- package/lib/ocaml/belt_HashSetInt.mli +0 -74
- package/lib/ocaml/belt_HashSetString.cmi +0 -0
- package/lib/ocaml/belt_HashSetString.cmt +0 -0
- package/lib/ocaml/belt_HashSetString.cmti +0 -0
- package/lib/ocaml/belt_HashSetString.ml +0 -156
- package/lib/ocaml/belt_HashSetString.mli +0 -74
- package/lib/ocaml/belt_Id.cmi +0 -0
- package/lib/ocaml/belt_Id.cmt +0 -0
- package/lib/ocaml/belt_Id.cmti +0 -0
- package/lib/ocaml/belt_Id.ml +0 -133
- package/lib/ocaml/belt_Id.mli +0 -171
- package/lib/ocaml/belt_Int.cmi +0 -0
- package/lib/ocaml/belt_Int.cmt +0 -0
- package/lib/ocaml/belt_Int.cmti +0 -0
- package/lib/ocaml/belt_Int.ml +0 -50
- package/lib/ocaml/belt_Int.mli +0 -103
- package/lib/ocaml/belt_List.cmi +0 -0
- package/lib/ocaml/belt_List.cmt +0 -0
- package/lib/ocaml/belt_List.cmti +0 -0
- package/lib/ocaml/belt_List.ml +0 -803
- package/lib/ocaml/belt_List.mli +0 -844
- package/lib/ocaml/belt_Map.cmi +0 -0
- package/lib/ocaml/belt_Map.cmt +0 -0
- package/lib/ocaml/belt_Map.cmti +0 -0
- package/lib/ocaml/belt_Map.ml +0 -170
- package/lib/ocaml/belt_Map.mli +0 -496
- package/lib/ocaml/belt_MapDict.cmi +0 -0
- package/lib/ocaml/belt_MapDict.cmt +0 -0
- package/lib/ocaml/belt_MapDict.cmti +0 -0
- package/lib/ocaml/belt_MapDict.ml +0 -278
- package/lib/ocaml/belt_MapDict.mli +0 -268
- package/lib/ocaml/belt_MapInt.cmi +0 -0
- package/lib/ocaml/belt_MapInt.cmt +0 -0
- package/lib/ocaml/belt_MapInt.cmti +0 -0
- package/lib/ocaml/belt_MapInt.ml +0 -169
- package/lib/ocaml/belt_MapInt.mli +0 -187
- package/lib/ocaml/belt_MapString.cmi +0 -0
- package/lib/ocaml/belt_MapString.cmt +0 -0
- package/lib/ocaml/belt_MapString.cmti +0 -0
- package/lib/ocaml/belt_MapString.ml +0 -169
- package/lib/ocaml/belt_MapString.mli +0 -187
- package/lib/ocaml/belt_MutableMap.cmi +0 -0
- package/lib/ocaml/belt_MutableMap.cmt +0 -0
- package/lib/ocaml/belt_MutableMap.cmti +0 -0
- package/lib/ocaml/belt_MutableMap.ml +0 -241
- package/lib/ocaml/belt_MutableMap.mli +0 -145
- package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
- package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
- package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
- package/lib/ocaml/belt_MutableMapInt.ml +0 -172
- package/lib/ocaml/belt_MutableMapInt.mli +0 -135
- package/lib/ocaml/belt_MutableMapString.cmi +0 -0
- package/lib/ocaml/belt_MutableMapString.cmt +0 -0
- package/lib/ocaml/belt_MutableMapString.cmti +0 -0
- package/lib/ocaml/belt_MutableMapString.ml +0 -172
- package/lib/ocaml/belt_MutableMapString.mli +0 -135
- package/lib/ocaml/belt_MutableQueue.cmi +0 -0
- package/lib/ocaml/belt_MutableQueue.cmt +0 -0
- package/lib/ocaml/belt_MutableQueue.cmti +0 -0
- package/lib/ocaml/belt_MutableQueue.ml +0 -222
- package/lib/ocaml/belt_MutableQueue.mli +0 -116
- package/lib/ocaml/belt_MutableSet.cmi +0 -0
- package/lib/ocaml/belt_MutableSet.cmt +0 -0
- package/lib/ocaml/belt_MutableSet.cmti +0 -0
- package/lib/ocaml/belt_MutableSet.ml +0 -371
- package/lib/ocaml/belt_MutableSet.mli +0 -617
- package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
- package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
- package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
- package/lib/ocaml/belt_MutableSetInt.ml +0 -342
- package/lib/ocaml/belt_MutableSetInt.mli +0 -124
- package/lib/ocaml/belt_MutableSetString.cmi +0 -0
- package/lib/ocaml/belt_MutableSetString.cmt +0 -0
- package/lib/ocaml/belt_MutableSetString.cmti +0 -0
- package/lib/ocaml/belt_MutableSetString.ml +0 -342
- package/lib/ocaml/belt_MutableSetString.mli +0 -124
- package/lib/ocaml/belt_MutableStack.cmi +0 -0
- package/lib/ocaml/belt_MutableStack.cmt +0 -0
- package/lib/ocaml/belt_MutableStack.cmti +0 -0
- package/lib/ocaml/belt_MutableStack.ml +0 -106
- package/lib/ocaml/belt_MutableStack.mli +0 -63
- package/lib/ocaml/belt_Option.cmi +0 -0
- package/lib/ocaml/belt_Option.cmt +0 -0
- package/lib/ocaml/belt_Option.cmti +0 -0
- package/lib/ocaml/belt_Option.ml +0 -93
- package/lib/ocaml/belt_Option.mli +0 -270
- package/lib/ocaml/belt_Range.cmi +0 -0
- package/lib/ocaml/belt_Range.cmt +0 -0
- package/lib/ocaml/belt_Range.cmti +0 -0
- package/lib/ocaml/belt_Range.ml +0 -76
- package/lib/ocaml/belt_Range.mli +0 -114
- package/lib/ocaml/belt_Result.cmi +0 -0
- package/lib/ocaml/belt_Result.cmt +0 -0
- package/lib/ocaml/belt_Result.cmti +0 -0
- package/lib/ocaml/belt_Result.ml +0 -75
- package/lib/ocaml/belt_Result.mli +0 -205
- package/lib/ocaml/belt_Set.cmi +0 -0
- package/lib/ocaml/belt_Set.cmt +0 -0
- package/lib/ocaml/belt_Set.cmti +0 -0
- package/lib/ocaml/belt_Set.cppo.ml +0 -205
- package/lib/ocaml/belt_Set.cppo.mli +0 -153
- package/lib/ocaml/belt_Set.ml +0 -164
- package/lib/ocaml/belt_Set.mli +0 -523
- package/lib/ocaml/belt_SetDict.cmi +0 -0
- package/lib/ocaml/belt_SetDict.cmt +0 -0
- package/lib/ocaml/belt_SetDict.cmti +0 -0
- package/lib/ocaml/belt_SetDict.ml +0 -237
- package/lib/ocaml/belt_SetDict.mli +0 -567
- package/lib/ocaml/belt_SetInt.cmi +0 -0
- package/lib/ocaml/belt_SetInt.cmt +0 -0
- package/lib/ocaml/belt_SetInt.cmti +0 -0
- package/lib/ocaml/belt_SetInt.ml +0 -201
- package/lib/ocaml/belt_SetInt.mli +0 -151
- package/lib/ocaml/belt_SetString.cmi +0 -0
- package/lib/ocaml/belt_SetString.cmt +0 -0
- package/lib/ocaml/belt_SetString.cmti +0 -0
- package/lib/ocaml/belt_SetString.ml +0 -201
- package/lib/ocaml/belt_SetString.mli +0 -151
- package/lib/ocaml/belt_SortArray.cmi +0 -0
- package/lib/ocaml/belt_SortArray.cmt +0 -0
- package/lib/ocaml/belt_SortArray.cmti +0 -0
- package/lib/ocaml/belt_SortArray.ml +0 -322
- package/lib/ocaml/belt_SortArray.mli +0 -146
- package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
- package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
- package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
- package/lib/ocaml/belt_SortArrayInt.ml +0 -263
- package/lib/ocaml/belt_SortArrayInt.mli +0 -93
- package/lib/ocaml/belt_SortArrayString.cmi +0 -0
- package/lib/ocaml/belt_SortArrayString.cmt +0 -0
- package/lib/ocaml/belt_SortArrayString.cmti +0 -0
- package/lib/ocaml/belt_SortArrayString.ml +0 -263
- package/lib/ocaml/belt_SortArrayString.mli +0 -93
- package/lib/ocaml/belt_internalAVLset.cmt +0 -0
- package/lib/ocaml/belt_internalAVLset.cmti +0 -0
- package/lib/ocaml/belt_internalAVLset.ml +0 -665
- package/lib/ocaml/belt_internalAVLset.mli +0 -124
- package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
- package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
- package/lib/ocaml/belt_internalAVLtree.ml +0 -762
- package/lib/ocaml/belt_internalAVLtree.mli +0 -215
- package/lib/ocaml/belt_internalBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalBuckets.ml +0 -218
- package/lib/ocaml/belt_internalBuckets.mli +0 -57
- package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
- package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
- package/lib/ocaml/belt_internalBucketsType.ml +0 -59
- package/lib/ocaml/belt_internalBucketsType.mli +0 -46
- package/lib/ocaml/belt_internalMapInt.cmt +0 -0
- package/lib/ocaml/belt_internalMapInt.ml +0 -227
- package/lib/ocaml/belt_internalMapString.cmt +0 -0
- package/lib/ocaml/belt_internalMapString.ml +0 -227
- package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalSetBuckets.ml +0 -157
- package/lib/ocaml/belt_internalSetBuckets.mli +0 -47
- package/lib/ocaml/belt_internalSetInt.cmt +0 -0
- package/lib/ocaml/belt_internalSetInt.ml +0 -129
- package/lib/ocaml/belt_internalSetString.cmt +0 -0
- package/lib/ocaml/belt_internalSetString.ml +0 -129
- package/lib/ocaml/belt_internals.cmti +0 -0
- package/lib/ocaml/belt_internals.mli +0 -79
- package/lib/ocaml/buffer.cmi +0 -0
- package/lib/ocaml/buffer.cmt +0 -0
- package/lib/ocaml/buffer.cmti +0 -0
- package/lib/ocaml/buffer.ml +0 -250
- package/lib/ocaml/buffer.mli +0 -149
- package/lib/ocaml/bytes.cmi +0 -0
- package/lib/ocaml/bytes.cmt +0 -0
- package/lib/ocaml/bytes.cmti +0 -0
- package/lib/ocaml/bytes.ml +0 -431
- package/lib/ocaml/bytes.mli +0 -430
- package/lib/ocaml/bytesLabels.cmi +0 -0
- package/lib/ocaml/bytesLabels.cmt +0 -0
- package/lib/ocaml/bytesLabels.cmti +0 -0
- package/lib/ocaml/bytesLabels.ml +0 -428
- package/lib/ocaml/bytesLabels.mli +0 -276
- package/lib/ocaml/callback.cmi +0 -0
- package/lib/ocaml/callback.cmt +0 -0
- package/lib/ocaml/callback.cmti +0 -0
- package/lib/ocaml/callback.ml +0 -20
- package/lib/ocaml/callback.mli +0 -34
- package/lib/ocaml/camlinternalLazy.cmi +0 -0
- package/lib/ocaml/camlinternalLazy.cmt +0 -0
- package/lib/ocaml/camlinternalLazy.cmti +0 -0
- package/lib/ocaml/camlinternalLazy.ml +0 -89
- package/lib/ocaml/camlinternalLazy.mli +0 -27
- package/lib/ocaml/camlinternalMod.cmi +0 -0
- package/lib/ocaml/camlinternalMod.cmt +0 -0
- package/lib/ocaml/camlinternalMod.cmti +0 -0
- package/lib/ocaml/camlinternalMod.ml +0 -21
- package/lib/ocaml/camlinternalMod.mli +0 -25
- package/lib/ocaml/char.cmi +0 -0
- package/lib/ocaml/char.cmt +0 -0
- package/lib/ocaml/char.cmti +0 -0
- package/lib/ocaml/char.ml +0 -76
- package/lib/ocaml/char.mli +0 -72
- package/lib/ocaml/complex.cmi +0 -0
- package/lib/ocaml/complex.cmt +0 -0
- package/lib/ocaml/complex.cmti +0 -0
- package/lib/ocaml/complex.ml +0 -87
- package/lib/ocaml/complex.mli +0 -86
- package/lib/ocaml/digest.cmi +0 -0
- package/lib/ocaml/digest.cmt +0 -0
- package/lib/ocaml/digest.cmti +0 -0
- package/lib/ocaml/digest.ml +0 -66
- package/lib/ocaml/digest.mli +0 -68
- package/lib/ocaml/dom.cmi +0 -0
- package/lib/ocaml/dom.cmt +0 -0
- package/lib/ocaml/dom.ml +0 -296
- package/lib/ocaml/dom_storage.cmi +0 -0
- package/lib/ocaml/dom_storage.cmt +0 -0
- package/lib/ocaml/dom_storage.ml +0 -22
- package/lib/ocaml/dom_storage2.cmi +0 -0
- package/lib/ocaml/dom_storage2.cmt +0 -0
- package/lib/ocaml/dom_storage2.ml +0 -11
- package/lib/ocaml/filename.cmi +0 -0
- package/lib/ocaml/filename.cmt +0 -0
- package/lib/ocaml/filename.cmti +0 -0
- package/lib/ocaml/filename.ml +0 -233
- package/lib/ocaml/filename.mli +0 -134
- package/lib/ocaml/genlex.cmi +0 -0
- package/lib/ocaml/genlex.cmt +0 -0
- package/lib/ocaml/genlex.cmti +0 -0
- package/lib/ocaml/genlex.ml +0 -201
- package/lib/ocaml/genlex.mli +0 -73
- package/lib/ocaml/hashmap.cppo.ml +0 -214
- package/lib/ocaml/hashmap.cppo.mli +0 -54
- package/lib/ocaml/hashset.cppo.ml +0 -165
- package/lib/ocaml/hashset.cppo.mli +0 -77
- package/lib/ocaml/hashtbl.cmi +0 -0
- package/lib/ocaml/hashtbl.cmt +0 -0
- package/lib/ocaml/hashtbl.cmti +0 -0
- package/lib/ocaml/hashtbl.ml +0 -541
- package/lib/ocaml/hashtbl.mli +0 -411
- package/lib/ocaml/hashtblLabels.cmi +0 -0
- package/lib/ocaml/hashtblLabels.cmt +0 -0
- package/lib/ocaml/hashtblLabels.ml +0 -130
- package/lib/ocaml/int32.cmi +0 -0
- package/lib/ocaml/int32.cmt +0 -0
- package/lib/ocaml/int32.cmti +0 -0
- package/lib/ocaml/int32.ml +0 -64
- package/lib/ocaml/int32.mli +0 -186
- package/lib/ocaml/int64.cmi +0 -0
- package/lib/ocaml/int64.cmt +0 -0
- package/lib/ocaml/int64.cmti +0 -0
- package/lib/ocaml/int64.ml +0 -72
- package/lib/ocaml/int64.mli +0 -197
- package/lib/ocaml/internal_map.cppo.ml +0 -230
- package/lib/ocaml/internal_set.cppo.ml +0 -134
- package/lib/ocaml/js.cmi +0 -0
- package/lib/ocaml/js.cmt +0 -0
- package/lib/ocaml/js.ml +0 -313
- package/lib/ocaml/js_OO.cmi +0 -0
- package/lib/ocaml/js_OO.cmt +0 -0
- package/lib/ocaml/js_OO.ml +0 -180
- package/lib/ocaml/js_array.cmi +0 -0
- package/lib/ocaml/js_array.cmt +0 -0
- package/lib/ocaml/js_array.ml +0 -970
- package/lib/ocaml/js_array2.cmi +0 -0
- package/lib/ocaml/js_array2.cmt +0 -0
- package/lib/ocaml/js_array2.ml +0 -1065
- package/lib/ocaml/js_bigint.cmi +0 -0
- package/lib/ocaml/js_bigint.cmt +0 -0
- package/lib/ocaml/js_bigint.ml +0 -3
- package/lib/ocaml/js_cast.cmi +0 -0
- package/lib/ocaml/js_cast.cmt +0 -0
- package/lib/ocaml/js_cast.cmti +0 -0
- package/lib/ocaml/js_cast.ml +0 -29
- package/lib/ocaml/js_cast.mli +0 -45
- package/lib/ocaml/js_console.cmi +0 -0
- package/lib/ocaml/js_console.cmt +0 -0
- package/lib/ocaml/js_console.ml +0 -51
- package/lib/ocaml/js_date.cmi +0 -0
- package/lib/ocaml/js_date.cmt +0 -0
- package/lib/ocaml/js_date.ml +0 -1263
- package/lib/ocaml/js_dict.cmi +0 -0
- package/lib/ocaml/js_dict.cmt +0 -0
- package/lib/ocaml/js_dict.cmti +0 -0
- package/lib/ocaml/js_dict.ml +0 -114
- package/lib/ocaml/js_dict.mli +0 -152
- package/lib/ocaml/js_exn.cmi +0 -0
- package/lib/ocaml/js_exn.cmt +0 -0
- package/lib/ocaml/js_exn.cmti +0 -0
- package/lib/ocaml/js_exn.ml +0 -102
- package/lib/ocaml/js_exn.mli +0 -79
- package/lib/ocaml/js_float.cmi +0 -0
- package/lib/ocaml/js_float.cmt +0 -0
- package/lib/ocaml/js_float.ml +0 -294
- package/lib/ocaml/js_global.cmi +0 -0
- package/lib/ocaml/js_global.cmt +0 -0
- package/lib/ocaml/js_global.ml +0 -185
- package/lib/ocaml/js_int.cmi +0 -0
- package/lib/ocaml/js_int.cmt +0 -0
- package/lib/ocaml/js_int.ml +0 -158
- package/lib/ocaml/js_json.cmi +0 -0
- package/lib/ocaml/js_json.cmt +0 -0
- package/lib/ocaml/js_json.cmti +0 -0
- package/lib/ocaml/js_json.ml +0 -195
- package/lib/ocaml/js_json.mli +0 -244
- package/lib/ocaml/js_list.cmi +0 -0
- package/lib/ocaml/js_list.cmt +0 -0
- package/lib/ocaml/js_list.cmti +0 -0
- package/lib/ocaml/js_list.ml +0 -174
- package/lib/ocaml/js_list.mli +0 -72
- package/lib/ocaml/js_map.cmi +0 -0
- package/lib/ocaml/js_map.cmt +0 -0
- package/lib/ocaml/js_map.ml +0 -3
- package/lib/ocaml/js_mapperRt.cmi +0 -0
- package/lib/ocaml/js_mapperRt.cmt +0 -0
- package/lib/ocaml/js_mapperRt.cmti +0 -0
- package/lib/ocaml/js_mapperRt.ml +0 -50
- package/lib/ocaml/js_mapperRt.mli +0 -44
- package/lib/ocaml/js_math.cmi +0 -0
- package/lib/ocaml/js_math.cmt +0 -0
- package/lib/ocaml/js_math.ml +0 -626
- package/lib/ocaml/js_null.cmi +0 -0
- package/lib/ocaml/js_null.cmt +0 -0
- package/lib/ocaml/js_null.cmti +0 -0
- package/lib/ocaml/js_null.ml +0 -57
- package/lib/ocaml/js_null.mli +0 -87
- package/lib/ocaml/js_null_undefined.cmi +0 -0
- package/lib/ocaml/js_null_undefined.cmt +0 -0
- package/lib/ocaml/js_null_undefined.cmti +0 -0
- package/lib/ocaml/js_null_undefined.ml +0 -50
- package/lib/ocaml/js_null_undefined.mli +0 -85
- package/lib/ocaml/js_obj.cmi +0 -0
- package/lib/ocaml/js_obj.cmt +0 -0
- package/lib/ocaml/js_obj.ml +0 -100
- package/lib/ocaml/js_option.cmi +0 -0
- package/lib/ocaml/js_option.cmt +0 -0
- package/lib/ocaml/js_option.cmti +0 -0
- package/lib/ocaml/js_option.ml +0 -203
- package/lib/ocaml/js_option.mli +0 -52
- package/lib/ocaml/js_promise.cmi +0 -0
- package/lib/ocaml/js_promise.cmt +0 -0
- package/lib/ocaml/js_promise.ml +0 -100
- package/lib/ocaml/js_re.cmi +0 -0
- package/lib/ocaml/js_re.cmt +0 -0
- package/lib/ocaml/js_re.ml +0 -184
- package/lib/ocaml/js_result.cmi +0 -0
- package/lib/ocaml/js_result.cmt +0 -0
- package/lib/ocaml/js_result.cmti +0 -0
- package/lib/ocaml/js_result.ml +0 -28
- package/lib/ocaml/js_result.mli +0 -28
- package/lib/ocaml/js_set.cmi +0 -0
- package/lib/ocaml/js_set.cmt +0 -0
- package/lib/ocaml/js_set.ml +0 -3
- package/lib/ocaml/js_string.cmi +0 -0
- package/lib/ocaml/js_string.cmt +0 -0
- package/lib/ocaml/js_string.ml +0 -914
- package/lib/ocaml/js_string2.cmi +0 -0
- package/lib/ocaml/js_string2.cmt +0 -0
- package/lib/ocaml/js_string2.ml +0 -912
- package/lib/ocaml/js_typed_array.cmi +0 -0
- package/lib/ocaml/js_typed_array.cmt +0 -0
- package/lib/ocaml/js_typed_array.cppo.ml +0 -429
- package/lib/ocaml/js_typed_array.ml +0 -1405
- package/lib/ocaml/js_typed_array2.cmi +0 -0
- package/lib/ocaml/js_typed_array2.cmt +0 -0
- package/lib/ocaml/js_typed_array2.cppo.ml +0 -296
- package/lib/ocaml/js_typed_array2.ml +0 -1269
- package/lib/ocaml/js_types.cmi +0 -0
- package/lib/ocaml/js_types.cmt +0 -0
- package/lib/ocaml/js_types.cmti +0 -0
- package/lib/ocaml/js_types.ml +0 -118
- package/lib/ocaml/js_types.mli +0 -78
- package/lib/ocaml/js_undefined.cmi +0 -0
- package/lib/ocaml/js_undefined.cmt +0 -0
- package/lib/ocaml/js_undefined.cmti +0 -0
- package/lib/ocaml/js_undefined.ml +0 -59
- package/lib/ocaml/js_undefined.mli +0 -92
- package/lib/ocaml/js_vector.cmi +0 -0
- package/lib/ocaml/js_vector.cmt +0 -0
- package/lib/ocaml/js_vector.cmti +0 -0
- package/lib/ocaml/js_vector.ml +0 -143
- package/lib/ocaml/js_vector.mli +0 -92
- package/lib/ocaml/js_weakmap.cmi +0 -0
- package/lib/ocaml/js_weakmap.cmt +0 -0
- package/lib/ocaml/js_weakmap.ml +0 -3
- package/lib/ocaml/js_weakset.cmi +0 -0
- package/lib/ocaml/js_weakset.cmt +0 -0
- package/lib/ocaml/js_weakset.ml +0 -3
- package/lib/ocaml/jsx.cmi +0 -0
- package/lib/ocaml/jsx.cmt +0 -0
- package/lib/ocaml/jsx.ml +0 -39
- package/lib/ocaml/jsxDOM.cmi +0 -0
- package/lib/ocaml/jsxDOM.cmt +0 -0
- package/lib/ocaml/jsxDOM.ml +0 -2087
- package/lib/ocaml/jsxDOMStyle.cmi +0 -0
- package/lib/ocaml/jsxDOMStyle.cmt +0 -0
- package/lib/ocaml/jsxDOMStyle.ml +0 -777
- package/lib/ocaml/jsxEvent.cmi +0 -0
- package/lib/ocaml/jsxEvent.cmt +0 -0
- package/lib/ocaml/jsxEvent.ml +0 -358
- package/lib/ocaml/lazy.cmi +0 -0
- package/lib/ocaml/lazy.cmt +0 -0
- package/lib/ocaml/lazy.cmti +0 -0
- package/lib/ocaml/lazy.ml +0 -70
- package/lib/ocaml/lazy.mli +0 -95
- package/lib/ocaml/lexing.cmi +0 -0
- package/lib/ocaml/lexing.cmt +0 -0
- package/lib/ocaml/lexing.cmti +0 -0
- package/lib/ocaml/lexing.ml +0 -230
- package/lib/ocaml/lexing.mli +0 -172
- package/lib/ocaml/list.cmi +0 -0
- package/lib/ocaml/list.cmt +0 -0
- package/lib/ocaml/list.cmti +0 -0
- package/lib/ocaml/list.ml +0 -485
- package/lib/ocaml/list.mli +0 -347
- package/lib/ocaml/listLabels.cmi +0 -0
- package/lib/ocaml/listLabels.cmt +0 -0
- package/lib/ocaml/listLabels.cmti +0 -0
- package/lib/ocaml/listLabels.ml +0 -485
- package/lib/ocaml/listLabels.mli +0 -353
- package/lib/ocaml/map.cmi +0 -0
- package/lib/ocaml/map.cmt +0 -0
- package/lib/ocaml/map.cmti +0 -0
- package/lib/ocaml/map.cppo.ml +0 -174
- package/lib/ocaml/map.cppo.mli +0 -191
- package/lib/ocaml/map.ml +0 -480
- package/lib/ocaml/map.mli +0 -315
- package/lib/ocaml/mapLabels.cmi +0 -0
- package/lib/ocaml/mapLabels.cmt +0 -0
- package/lib/ocaml/mapLabels.ml +0 -480
- package/lib/ocaml/mapm.cppo.ml +0 -177
- package/lib/ocaml/mapm.cppo.mli +0 -138
- package/lib/ocaml/moreLabels.cmi +0 -0
- package/lib/ocaml/moreLabels.cmt +0 -0
- package/lib/ocaml/moreLabels.cmti +0 -0
- package/lib/ocaml/moreLabels.ml +0 -22
- package/lib/ocaml/moreLabels.mli +0 -198
- package/lib/ocaml/node.cmi +0 -0
- package/lib/ocaml/node.cmt +0 -0
- package/lib/ocaml/node.ml +0 -84
- package/lib/ocaml/node_buffer.cmi +0 -0
- package/lib/ocaml/node_buffer.cmt +0 -0
- package/lib/ocaml/node_buffer.ml +0 -47
- package/lib/ocaml/node_child_process.cmi +0 -0
- package/lib/ocaml/node_child_process.cmt +0 -0
- package/lib/ocaml/node_child_process.ml +0 -50
- package/lib/ocaml/node_fs.cmi +0 -0
- package/lib/ocaml/node_fs.cmt +0 -0
- package/lib/ocaml/node_fs.ml +0 -153
- package/lib/ocaml/node_module.cmi +0 -0
- package/lib/ocaml/node_module.cmt +0 -0
- package/lib/ocaml/node_module.ml +0 -29
- package/lib/ocaml/node_path.cmi +0 -0
- package/lib/ocaml/node_path.cmt +0 -0
- package/lib/ocaml/node_path.ml +0 -71
- package/lib/ocaml/node_process.cmi +0 -0
- package/lib/ocaml/node_process.cmt +0 -0
- package/lib/ocaml/node_process.cmti +0 -0
- package/lib/ocaml/node_process.ml +0 -59
- package/lib/ocaml/node_process.mli +0 -48
- package/lib/ocaml/obj.cmi +0 -0
- package/lib/ocaml/obj.cmt +0 -0
- package/lib/ocaml/obj.cmti +0 -0
- package/lib/ocaml/obj.ml +0 -29
- package/lib/ocaml/obj.mli +0 -62
- package/lib/ocaml/parsing.cmi +0 -0
- package/lib/ocaml/parsing.cmt +0 -0
- package/lib/ocaml/parsing.cmti +0 -0
- package/lib/ocaml/parsing.ml +0 -212
- package/lib/ocaml/parsing.mli +0 -105
- package/lib/ocaml/pervasives.cmi +0 -0
- package/lib/ocaml/pervasives.cmt +0 -0
- package/lib/ocaml/pervasives.cmti +0 -0
- package/lib/ocaml/pervasives.ml +0 -297
- package/lib/ocaml/pervasives.mli +0 -771
- package/lib/ocaml/printexc.cmi +0 -0
- package/lib/ocaml/printexc.cmt +0 -0
- package/lib/ocaml/printexc.cmti +0 -0
- package/lib/ocaml/printexc.ml +0 -79
- package/lib/ocaml/printexc.mli +0 -57
- package/lib/ocaml/queue.cmi +0 -0
- package/lib/ocaml/queue.cmt +0 -0
- package/lib/ocaml/queue.cmti +0 -0
- package/lib/ocaml/queue.ml +0 -132
- package/lib/ocaml/queue.mli +0 -82
- package/lib/ocaml/random.cmi +0 -0
- package/lib/ocaml/random.cmt +0 -0
- package/lib/ocaml/random.cmti +0 -0
- package/lib/ocaml/random.ml +0 -273
- package/lib/ocaml/random.mli +0 -102
- package/lib/ocaml/set.cmi +0 -0
- package/lib/ocaml/set.cmt +0 -0
- package/lib/ocaml/set.cmti +0 -0
- package/lib/ocaml/set.ml +0 -526
- package/lib/ocaml/set.mli +0 -266
- package/lib/ocaml/setLabels.cmi +0 -0
- package/lib/ocaml/setLabels.cmt +0 -0
- package/lib/ocaml/setLabels.ml +0 -526
- package/lib/ocaml/setm.cppo.ml +0 -346
- package/lib/ocaml/setm.cppo.mli +0 -126
- package/lib/ocaml/sort.cmi +0 -0
- package/lib/ocaml/sort.cmt +0 -0
- package/lib/ocaml/sort.cmti +0 -0
- package/lib/ocaml/sort.cppo.ml +0 -267
- package/lib/ocaml/sort.cppo.mli +0 -96
- package/lib/ocaml/sort.ml +0 -99
- package/lib/ocaml/sort.mli +0 -44
- package/lib/ocaml/stack.cmi +0 -0
- package/lib/ocaml/stack.cmt +0 -0
- package/lib/ocaml/stack.cmti +0 -0
- package/lib/ocaml/stack.ml +0 -44
- package/lib/ocaml/stack.mli +0 -63
- package/lib/ocaml/stdLabels.cmi +0 -0
- package/lib/ocaml/stdLabels.cmt +0 -0
- package/lib/ocaml/stdLabels.cmti +0 -0
- package/lib/ocaml/stdLabels.ml +0 -24
- package/lib/ocaml/stdLabels.mli +0 -29
- package/lib/ocaml/stream.cmi +0 -0
- package/lib/ocaml/stream.cmt +0 -0
- package/lib/ocaml/stream.cmti +0 -0
- package/lib/ocaml/stream.ml +0 -213
- package/lib/ocaml/stream.mli +0 -108
- package/lib/ocaml/string.cmi +0 -0
- package/lib/ocaml/string.cmt +0 -0
- package/lib/ocaml/string.cmti +0 -0
- package/lib/ocaml/string.ml +0 -190
- package/lib/ocaml/string.mli +0 -286
- package/lib/ocaml/stringLabels.cmi +0 -0
- package/lib/ocaml/stringLabels.cmt +0 -0
- package/lib/ocaml/stringLabels.cmti +0 -0
- package/lib/ocaml/stringLabels.ml +0 -190
- package/lib/ocaml/stringLabels.mli +0 -241
- package/lib/ocaml/sys.cmi +0 -0
- package/lib/ocaml/sys.cmt +0 -0
- package/lib/ocaml/sys.cmti +0 -0
- package/lib/ocaml/sys.ml +0 -135
- package/lib/ocaml/sys.mli +0 -333
- package/lib/ocaml/uchar.cmi +0 -0
- package/lib/ocaml/uchar.cmt +0 -0
- package/lib/ocaml/uchar.cmti +0 -0
- package/lib/ocaml/uchar.ml +0 -58
- package/lib/ocaml/uchar.mli +0 -98
- package/linux/bsb_helper.exe +0 -0
- package/linux/bsc.exe +0 -0
- package/linux/ninja.COPYING +0 -202
- package/linux/ninja.exe +0 -0
- package/linux/rescript.exe +0 -0
- package/openbsd/.keep +0 -0
- package/scripts/LICENSE.ml +0 -27
- package/scripts/buckle_lto.js +0 -55
- package/scripts/build_sorted.ml +0 -233
- package/scripts/caml_oo_curry_gen.ml +0 -71
- package/scripts/checkUnused.js +0 -63
- package/scripts/ciTest.js +0 -172
- package/scripts/cover.sh +0 -3
- package/scripts/curry_gen.ml +0 -167
- package/scripts/dbg +0 -13
- package/scripts/dedupe.js +0 -44
- package/scripts/doc_gen.js +0 -117
- package/scripts/js_internal_gen.js +0 -135
- package/scripts/jsconfig.json +0 -12
- package/scripts/littlecase.js +0 -21
- package/scripts/ninja.js +0 -1980
- package/scripts/pack.js +0 -107
- package/scripts/prebuilt.js +0 -99
- package/scripts/release.js +0 -41
- package/scripts/repl.js +0 -151
- package/scripts/shake.js +0 -138
- package/scripts/tasks.js +0 -149
- package/scripts/test.sh +0 -3
- package/scripts/tmp.js +0 -98
- package/scripts/validate.js +0 -41
- package/vendor/ninja.tar.gz +0 -0
- package/win32/bsb_helper.exe +0 -0
- package/win32/bsc.exe +0 -0
- package/win32/ninja.COPYING +0 -202
- package/win32/ninja.exe +0 -0
- package/win32/rescript.exe +0 -0
package/lib/ocaml/parsing.ml
DELETED
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
(**************************************************************************)
|
|
2
|
-
(* *)
|
|
3
|
-
(* OCaml *)
|
|
4
|
-
(* *)
|
|
5
|
-
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
6
|
-
(* *)
|
|
7
|
-
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
8
|
-
(* en Automatique. *)
|
|
9
|
-
(* *)
|
|
10
|
-
(* All rights reserved. This file is distributed under the terms of *)
|
|
11
|
-
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
12
|
-
(* special exception on linking described in the file LICENSE. *)
|
|
13
|
-
(* *)
|
|
14
|
-
(**************************************************************************)
|
|
15
|
-
|
|
16
|
-
(* The parsing engine *)
|
|
17
|
-
|
|
18
|
-
open Lexing
|
|
19
|
-
|
|
20
|
-
(* Internal interface to the parsing engine *)
|
|
21
|
-
|
|
22
|
-
type parser_env =
|
|
23
|
-
{ mutable s_stack : int array; (* States *)
|
|
24
|
-
mutable v_stack : Obj.t array; (* Semantic attributes *)
|
|
25
|
-
mutable symb_start_stack : position array; (* Start positions *)
|
|
26
|
-
mutable symb_end_stack : position array; (* End positions *)
|
|
27
|
-
mutable stacksize : int; (* Size of the stacks *)
|
|
28
|
-
mutable stackbase : int; (* Base sp for current parse *)
|
|
29
|
-
mutable curr_char : int; (* Last token read *)
|
|
30
|
-
mutable lval : Obj.t; (* Its semantic attribute *)
|
|
31
|
-
mutable symb_start : position; (* Start pos. of the current symbol*)
|
|
32
|
-
mutable symb_end : position; (* End pos. of the current symbol *)
|
|
33
|
-
mutable asp : int; (* The stack pointer for attributes *)
|
|
34
|
-
mutable rule_len : int; (* Number of rhs items in the rule *)
|
|
35
|
-
mutable rule_number : int; (* Rule number to reduce by *)
|
|
36
|
-
mutable sp : int; (* Saved sp for parse_engine *)
|
|
37
|
-
mutable state : int; (* Saved state for parse_engine *)
|
|
38
|
-
mutable errflag : int } (* Saved error flag for parse_engine *)
|
|
39
|
-
|
|
40
|
-
type parse_tables =
|
|
41
|
-
{ actions : (parser_env -> Obj.t) array;
|
|
42
|
-
transl_const : int array;
|
|
43
|
-
transl_block : int array;
|
|
44
|
-
lhs : string;
|
|
45
|
-
len : string;
|
|
46
|
-
defred : string;
|
|
47
|
-
dgoto : string;
|
|
48
|
-
sindex : string;
|
|
49
|
-
rindex : string;
|
|
50
|
-
gindex : string;
|
|
51
|
-
tablesize : int;
|
|
52
|
-
table : string;
|
|
53
|
-
check : string;
|
|
54
|
-
error_function : string -> unit;
|
|
55
|
-
names_const : string;
|
|
56
|
-
names_block : string }
|
|
57
|
-
|
|
58
|
-
exception YYexit of Obj.t
|
|
59
|
-
exception Parse_error
|
|
60
|
-
|
|
61
|
-
type parser_input =
|
|
62
|
-
Start
|
|
63
|
-
| Token_read
|
|
64
|
-
| Stacks_grown_1
|
|
65
|
-
| Stacks_grown_2
|
|
66
|
-
| Semantic_action_computed
|
|
67
|
-
| Error_detected
|
|
68
|
-
|
|
69
|
-
type parser_output =
|
|
70
|
-
Read_token
|
|
71
|
-
| Raise_parse_error
|
|
72
|
-
| Grow_stacks_1
|
|
73
|
-
| Grow_stacks_2
|
|
74
|
-
| Compute_semantic_action
|
|
75
|
-
| Call_error_function
|
|
76
|
-
|
|
77
|
-
(* to avoid warnings *)
|
|
78
|
-
let _ = [Read_token; Raise_parse_error; Grow_stacks_1; Grow_stacks_2;
|
|
79
|
-
Compute_semantic_action; Call_error_function]
|
|
80
|
-
|
|
81
|
-
external parse_engine :
|
|
82
|
-
parse_tables -> parser_env -> parser_input -> Obj.t -> parser_output
|
|
83
|
-
= "?parse_engine"
|
|
84
|
-
|
|
85
|
-
external set_trace: bool -> bool
|
|
86
|
-
= "?set_parser_trace"
|
|
87
|
-
|
|
88
|
-
let env =
|
|
89
|
-
{ s_stack = Array.make 100 0;
|
|
90
|
-
v_stack = Array.make 100 (Obj.repr ());
|
|
91
|
-
symb_start_stack = Array.make 100 dummy_pos;
|
|
92
|
-
symb_end_stack = Array.make 100 dummy_pos;
|
|
93
|
-
stacksize = 100;
|
|
94
|
-
stackbase = 0;
|
|
95
|
-
curr_char = 0;
|
|
96
|
-
lval = Obj.repr ();
|
|
97
|
-
symb_start = dummy_pos;
|
|
98
|
-
symb_end = dummy_pos;
|
|
99
|
-
asp = 0;
|
|
100
|
-
rule_len = 0;
|
|
101
|
-
rule_number = 0;
|
|
102
|
-
sp = 0;
|
|
103
|
-
state = 0;
|
|
104
|
-
errflag = 0 }
|
|
105
|
-
|
|
106
|
-
let grow_stacks() =
|
|
107
|
-
let oldsize = env.stacksize in
|
|
108
|
-
let newsize = oldsize * 2 in
|
|
109
|
-
let new_s = Array.make newsize 0
|
|
110
|
-
and new_v = Array.make newsize (Obj.repr ())
|
|
111
|
-
and new_start = Array.make newsize dummy_pos
|
|
112
|
-
and new_end = Array.make newsize dummy_pos in
|
|
113
|
-
Array.blit env.s_stack 0 new_s 0 oldsize;
|
|
114
|
-
env.s_stack <- new_s;
|
|
115
|
-
Array.blit env.v_stack 0 new_v 0 oldsize;
|
|
116
|
-
env.v_stack <- new_v;
|
|
117
|
-
Array.blit env.symb_start_stack 0 new_start 0 oldsize;
|
|
118
|
-
env.symb_start_stack <- new_start;
|
|
119
|
-
Array.blit env.symb_end_stack 0 new_end 0 oldsize;
|
|
120
|
-
env.symb_end_stack <- new_end;
|
|
121
|
-
env.stacksize <- newsize
|
|
122
|
-
|
|
123
|
-
let clear_parser() =
|
|
124
|
-
Array.fill env.v_stack 0 env.stacksize (Obj.repr ());
|
|
125
|
-
env.lval <- Obj.repr ()
|
|
126
|
-
|
|
127
|
-
let current_lookahead_fun = ref (fun (_ : Obj.t) -> false)
|
|
128
|
-
|
|
129
|
-
let yyparse tables start lexer lexbuf =
|
|
130
|
-
let rec loop cmd arg =
|
|
131
|
-
match parse_engine tables env cmd arg with
|
|
132
|
-
Read_token ->
|
|
133
|
-
let t = Obj.repr(lexer lexbuf) in
|
|
134
|
-
env.symb_start <- lexbuf.lex_start_p;
|
|
135
|
-
env.symb_end <- lexbuf.lex_curr_p;
|
|
136
|
-
loop Token_read t
|
|
137
|
-
| Raise_parse_error ->
|
|
138
|
-
raise Parse_error
|
|
139
|
-
| Compute_semantic_action ->
|
|
140
|
-
let (action, value) =
|
|
141
|
-
try
|
|
142
|
-
(Semantic_action_computed, tables.actions.(env.rule_number) env)
|
|
143
|
-
with Parse_error ->
|
|
144
|
-
(Error_detected, Obj.repr ()) in
|
|
145
|
-
loop action value
|
|
146
|
-
| Grow_stacks_1 ->
|
|
147
|
-
grow_stacks(); loop Stacks_grown_1 (Obj.repr ())
|
|
148
|
-
| Grow_stacks_2 ->
|
|
149
|
-
grow_stacks(); loop Stacks_grown_2 (Obj.repr ())
|
|
150
|
-
| Call_error_function ->
|
|
151
|
-
tables.error_function "syntax error";
|
|
152
|
-
loop Error_detected (Obj.repr ()) in
|
|
153
|
-
let init_asp = env.asp
|
|
154
|
-
and init_sp = env.sp
|
|
155
|
-
and init_stackbase = env.stackbase
|
|
156
|
-
and init_state = env.state
|
|
157
|
-
and init_curr_char = env.curr_char
|
|
158
|
-
and init_lval = env.lval
|
|
159
|
-
and init_errflag = env.errflag in
|
|
160
|
-
env.stackbase <- env.sp + 1;
|
|
161
|
-
env.curr_char <- start;
|
|
162
|
-
env.symb_end <- lexbuf.lex_curr_p;
|
|
163
|
-
try
|
|
164
|
-
loop Start (Obj.repr ())
|
|
165
|
-
with exn ->
|
|
166
|
-
let curr_char = env.curr_char in
|
|
167
|
-
env.asp <- init_asp;
|
|
168
|
-
env.sp <- init_sp;
|
|
169
|
-
env.stackbase <- init_stackbase;
|
|
170
|
-
env.state <- init_state;
|
|
171
|
-
env.curr_char <- init_curr_char;
|
|
172
|
-
env.lval <- init_lval;
|
|
173
|
-
env.errflag <- init_errflag;
|
|
174
|
-
match exn with
|
|
175
|
-
YYexit v ->
|
|
176
|
-
Obj.magic v
|
|
177
|
-
| _ ->
|
|
178
|
-
current_lookahead_fun :=
|
|
179
|
-
(fun tok ->
|
|
180
|
-
if
|
|
181
|
-
(Js.typeof tok <> "number")
|
|
182
|
-
then tables.transl_block.(Obj.tag tok) = curr_char
|
|
183
|
-
else tables.transl_const.(Obj.magic tok) = curr_char);
|
|
184
|
-
raise exn
|
|
185
|
-
|
|
186
|
-
let peek_val env n =
|
|
187
|
-
Obj.magic env.v_stack.(env.asp - n)
|
|
188
|
-
|
|
189
|
-
let symbol_start_pos () =
|
|
190
|
-
let rec loop i =
|
|
191
|
-
if i <= 0 then env.symb_end_stack.(env.asp)
|
|
192
|
-
else begin
|
|
193
|
-
let st = env.symb_start_stack.(env.asp - i + 1) in
|
|
194
|
-
let en = env.symb_end_stack.(env.asp - i + 1) in
|
|
195
|
-
if st <> en then st else loop (i - 1)
|
|
196
|
-
end
|
|
197
|
-
in
|
|
198
|
-
loop env.rule_len
|
|
199
|
-
|
|
200
|
-
let symbol_end_pos () = env.symb_end_stack.(env.asp)
|
|
201
|
-
let rhs_start_pos n = env.symb_start_stack.(env.asp - (env.rule_len - n))
|
|
202
|
-
let rhs_end_pos n = env.symb_end_stack.(env.asp - (env.rule_len - n))
|
|
203
|
-
|
|
204
|
-
let symbol_start () = (symbol_start_pos ()).pos_cnum
|
|
205
|
-
let symbol_end () = (symbol_end_pos ()).pos_cnum
|
|
206
|
-
let rhs_start n = (rhs_start_pos n).pos_cnum
|
|
207
|
-
let rhs_end n = (rhs_end_pos n).pos_cnum
|
|
208
|
-
|
|
209
|
-
let is_current_lookahead tok =
|
|
210
|
-
(!current_lookahead_fun)(Obj.repr tok)
|
|
211
|
-
|
|
212
|
-
let parse_error (_ : string) = ()
|
package/lib/ocaml/parsing.mli
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
(**************************************************************************)
|
|
2
|
-
(* *)
|
|
3
|
-
(* OCaml *)
|
|
4
|
-
(* *)
|
|
5
|
-
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
6
|
-
(* *)
|
|
7
|
-
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
8
|
-
(* en Automatique. *)
|
|
9
|
-
(* *)
|
|
10
|
-
(* All rights reserved. This file is distributed under the terms of *)
|
|
11
|
-
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
12
|
-
(* special exception on linking described in the file LICENSE. *)
|
|
13
|
-
(* *)
|
|
14
|
-
(**************************************************************************)
|
|
15
|
-
|
|
16
|
-
(** The run-time library for parsers generated by [ocamlyacc]. *)
|
|
17
|
-
|
|
18
|
-
val symbol_start : unit -> int
|
|
19
|
-
(** [symbol_start] and {!Parsing.symbol_end} are to be called in the
|
|
20
|
-
action part of a grammar rule only. They return the offset of the
|
|
21
|
-
string that matches the left-hand side of the rule: [symbol_start()]
|
|
22
|
-
returns the offset of the first character; [symbol_end()] returns the
|
|
23
|
-
offset after the last character. The first character in a file is at
|
|
24
|
-
offset 0. *)
|
|
25
|
-
|
|
26
|
-
val symbol_end : unit -> int
|
|
27
|
-
(** See {!Parsing.symbol_start}. *)
|
|
28
|
-
|
|
29
|
-
val rhs_start : int -> int
|
|
30
|
-
(** Same as {!Parsing.symbol_start} and {!Parsing.symbol_end}, but
|
|
31
|
-
return the offset of the string matching the [n]th item on the
|
|
32
|
-
right-hand side of the rule, where [n] is the integer parameter
|
|
33
|
-
to [rhs_start] and [rhs_end]. [n] is 1 for the leftmost item. *)
|
|
34
|
-
|
|
35
|
-
val rhs_end : int -> int
|
|
36
|
-
(** See {!Parsing.rhs_start}. *)
|
|
37
|
-
|
|
38
|
-
val symbol_start_pos : unit -> Lexing.position
|
|
39
|
-
(** Same as [symbol_start], but return a [position] instead of an offset. *)
|
|
40
|
-
|
|
41
|
-
val symbol_end_pos : unit -> Lexing.position
|
|
42
|
-
(** Same as [symbol_end], but return a [position] instead of an offset. *)
|
|
43
|
-
|
|
44
|
-
val rhs_start_pos : int -> Lexing.position
|
|
45
|
-
(** Same as [rhs_start], but return a [position] instead of an offset. *)
|
|
46
|
-
|
|
47
|
-
val rhs_end_pos : int -> Lexing.position
|
|
48
|
-
(** Same as [rhs_end], but return a [position] instead of an offset. *)
|
|
49
|
-
|
|
50
|
-
val clear_parser : unit -> unit
|
|
51
|
-
(** Empty the parser stack. Call it just after a parsing function
|
|
52
|
-
has returned, to remove all pointers from the parser stack
|
|
53
|
-
to structures that were built by semantic actions during parsing.
|
|
54
|
-
This is optional, but lowers the memory requirements of the
|
|
55
|
-
programs. *)
|
|
56
|
-
|
|
57
|
-
exception Parse_error
|
|
58
|
-
(** Raised when a parser encounters a syntax error.
|
|
59
|
-
Can also be raised from the action part of a grammar rule,
|
|
60
|
-
to initiate error recovery. *)
|
|
61
|
-
|
|
62
|
-
val set_trace: bool -> bool
|
|
63
|
-
(** Control debugging support for [ocamlyacc]-generated parsers.
|
|
64
|
-
After [Parsing.set_trace true], the pushdown automaton that
|
|
65
|
-
executes the parsers prints a trace of its actions (reading a token,
|
|
66
|
-
shifting a state, reducing by a rule) on standard output.
|
|
67
|
-
[Parsing.set_trace false] turns this debugging trace off.
|
|
68
|
-
The boolean returned is the previous state of the trace flag.
|
|
69
|
-
@since 3.11.0
|
|
70
|
-
*)
|
|
71
|
-
|
|
72
|
-
(**/**)
|
|
73
|
-
|
|
74
|
-
(** {1 } *)
|
|
75
|
-
|
|
76
|
-
(** The following definitions are used by the generated parsers only.
|
|
77
|
-
They are not intended to be used directly by user programs. *)
|
|
78
|
-
|
|
79
|
-
type parser_env
|
|
80
|
-
|
|
81
|
-
type parse_tables =
|
|
82
|
-
{ actions : (parser_env -> Obj.t) array;
|
|
83
|
-
transl_const : int array;
|
|
84
|
-
transl_block : int array;
|
|
85
|
-
lhs : string;
|
|
86
|
-
len : string;
|
|
87
|
-
defred : string;
|
|
88
|
-
dgoto : string;
|
|
89
|
-
sindex : string;
|
|
90
|
-
rindex : string;
|
|
91
|
-
gindex : string;
|
|
92
|
-
tablesize : int;
|
|
93
|
-
table : string;
|
|
94
|
-
check : string;
|
|
95
|
-
error_function : string -> unit;
|
|
96
|
-
names_const : string;
|
|
97
|
-
names_block : string }
|
|
98
|
-
|
|
99
|
-
exception YYexit of Obj.t
|
|
100
|
-
|
|
101
|
-
val yyparse :
|
|
102
|
-
parse_tables -> int -> (Lexing.lexbuf -> 'a) -> Lexing.lexbuf -> 'b
|
|
103
|
-
val peek_val : parser_env -> int -> 'a
|
|
104
|
-
val is_current_lookahead : 'a -> bool
|
|
105
|
-
val parse_error : string -> unit
|
package/lib/ocaml/pervasives.cmi
DELETED
|
Binary file
|
package/lib/ocaml/pervasives.cmt
DELETED
|
Binary file
|
|
Binary file
|
package/lib/ocaml/pervasives.ml
DELETED
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
(**************************************************************************)
|
|
2
|
-
(* *)
|
|
3
|
-
(* OCaml *)
|
|
4
|
-
(* *)
|
|
5
|
-
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
6
|
-
(* *)
|
|
7
|
-
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
8
|
-
(* en Automatique. *)
|
|
9
|
-
(* *)
|
|
10
|
-
(* All rights reserved. This file is distributed under the terms of *)
|
|
11
|
-
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
12
|
-
(* special exception on linking described in the file LICENSE. *)
|
|
13
|
-
(* *)
|
|
14
|
-
(**************************************************************************)
|
|
15
|
-
|
|
16
|
-
(* type 'a option = None | Some of 'a *)
|
|
17
|
-
|
|
18
|
-
(* Internal *)
|
|
19
|
-
external __unsafe_cast : 'a -> 'b = "%identity"
|
|
20
|
-
|
|
21
|
-
(* Exceptions *)
|
|
22
|
-
|
|
23
|
-
external raise : exn -> 'a = "%raise"
|
|
24
|
-
external raise_notrace : exn -> 'a = "%raise_notrace"
|
|
25
|
-
|
|
26
|
-
let failwith s = raise(Failure s)
|
|
27
|
-
let invalid_arg s = raise(Invalid_argument s)
|
|
28
|
-
|
|
29
|
-
exception Exit
|
|
30
|
-
|
|
31
|
-
(* Composition operators *)
|
|
32
|
-
|
|
33
|
-
external ( |> ) : 'a -> ('a -> 'b) -> 'b = "%revapply"
|
|
34
|
-
external ( @@ ) : ('a -> 'b) -> 'a -> 'b = "%apply"
|
|
35
|
-
|
|
36
|
-
(* Debugging *)
|
|
37
|
-
|
|
38
|
-
external __LOC__ : string = "%loc_LOC"
|
|
39
|
-
external __FILE__ : string = "%loc_FILE"
|
|
40
|
-
external __LINE__ : int = "%loc_LINE"
|
|
41
|
-
external __MODULE__ : string = "%loc_MODULE"
|
|
42
|
-
external __POS__ : string * int * int * int = "%loc_POS"
|
|
43
|
-
|
|
44
|
-
external __LOC_OF__ : 'a -> string * 'a = "%loc_LOC"
|
|
45
|
-
external __LINE_OF__ : 'a -> int * 'a = "%loc_LINE"
|
|
46
|
-
external __POS_OF__ : 'a -> (string * int * int * int) * 'a = "%loc_POS"
|
|
47
|
-
|
|
48
|
-
(* Comparisons *)
|
|
49
|
-
|
|
50
|
-
external ( = ) : 'a -> 'a -> bool = "%equal"
|
|
51
|
-
external ( <> ) : 'a -> 'a -> bool = "%notequal"
|
|
52
|
-
external ( < ) : 'a -> 'a -> bool = "%lessthan"
|
|
53
|
-
external ( > ) : 'a -> 'a -> bool = "%greaterthan"
|
|
54
|
-
external ( <= ) : 'a -> 'a -> bool = "%lessequal"
|
|
55
|
-
external ( >= ) : 'a -> 'a -> bool = "%greaterequal"
|
|
56
|
-
external compare : 'a -> 'a -> int = "%compare"
|
|
57
|
-
external min : 'a -> 'a -> 'a = "%bs_min"
|
|
58
|
-
external max : 'a -> 'a -> 'a = "%bs_max"
|
|
59
|
-
external ( == ) : 'a -> 'a -> bool = "%eq"
|
|
60
|
-
external ( != ) : 'a -> 'a -> bool = "%noteq"
|
|
61
|
-
|
|
62
|
-
(* Boolean operations *)
|
|
63
|
-
|
|
64
|
-
external not : bool -> bool = "%boolnot"
|
|
65
|
-
|
|
66
|
-
external ( && ) : bool -> bool -> bool = "%sequand"
|
|
67
|
-
|
|
68
|
-
external ( || ) : bool -> bool -> bool = "%sequor"
|
|
69
|
-
|
|
70
|
-
(* Integer operations *)
|
|
71
|
-
|
|
72
|
-
external ( ~- ) : int -> int = "%negint"
|
|
73
|
-
external ( ~+ ) : int -> int = "%identity"
|
|
74
|
-
external succ : int -> int = "%succint"
|
|
75
|
-
external pred : int -> int = "%predint"
|
|
76
|
-
external ( + ) : int -> int -> int = "%addint"
|
|
77
|
-
external ( - ) : int -> int -> int = "%subint"
|
|
78
|
-
external ( * ) : int -> int -> int = "%mulint"
|
|
79
|
-
external ( / ) : int -> int -> int = "%divint"
|
|
80
|
-
external ( mod ) : int -> int -> int = "%modint"
|
|
81
|
-
|
|
82
|
-
let abs x = if x >= 0 then x else -x
|
|
83
|
-
|
|
84
|
-
external ( land ) : int -> int -> int = "%andint"
|
|
85
|
-
external ( lor ) : int -> int -> int = "%orint"
|
|
86
|
-
external ( lxor ) : int -> int -> int = "%xorint"
|
|
87
|
-
|
|
88
|
-
let lnot x = x lxor (-1)
|
|
89
|
-
|
|
90
|
-
external ( lsl ) : int -> int -> int = "%lslint"
|
|
91
|
-
external ( lsr ) : int -> int -> int = "%lsrint"
|
|
92
|
-
external ( asr ) : int -> int -> int = "%asrint"
|
|
93
|
-
|
|
94
|
-
let max_int = (-1) lsr 1
|
|
95
|
-
let min_int = max_int + 1
|
|
96
|
-
|
|
97
|
-
(* Floating-point operations *)
|
|
98
|
-
|
|
99
|
-
external ( ~-. ) : float -> float = "%negfloat"
|
|
100
|
-
external ( ~+. ) : float -> float = "%identity"
|
|
101
|
-
external ( +. ) : float -> float -> float = "%addfloat"
|
|
102
|
-
external ( -. ) : float -> float -> float = "%subfloat"
|
|
103
|
-
external ( *. ) : float -> float -> float = "%mulfloat"
|
|
104
|
-
external ( /. ) : float -> float -> float = "%divfloat"
|
|
105
|
-
|
|
106
|
-
external ( ** ) : float -> float -> float = "pow" [@@bs.val] [@@bs.scope "Math"]
|
|
107
|
-
external exp : float -> float = "exp" [@@bs.val][@@bs.scope "Math"]
|
|
108
|
-
external expm1 : float -> float = "?expm1_float"
|
|
109
|
-
|
|
110
|
-
external acos : float -> float = "acos" [@@bs.val] [@@bs.scope "Math"]
|
|
111
|
-
external asin : float -> float = "asin" [@@bs.val] [@@bs.scope "Math"]
|
|
112
|
-
external atan : float -> float = "atan" [@@bs.val] [@@bs.scope "Math"]
|
|
113
|
-
external atan2 : float -> float -> float = "atan2" [@@bs.val] [@@bs.scope "Math"]
|
|
114
|
-
external hypot : float -> float -> float
|
|
115
|
-
= "?hypot_float"
|
|
116
|
-
|
|
117
|
-
external cos : float -> float = "cos" [@@bs.val] [@@bs.scope "Math"]
|
|
118
|
-
external cosh : float -> float = "cosh" [@@bs.val] [@@bs.scope "Math"]
|
|
119
|
-
external log : float -> float = "log" [@@bs.val] [@@bs.scope "Math"]
|
|
120
|
-
external log10 : float -> float = "log10"[@@bs.val] [@@bs.scope "Math"]
|
|
121
|
-
external log1p : float -> float = "log1p" [@@bs.val] [@@bs.scope "Math"]
|
|
122
|
-
external sin : float -> float = "sin" [@@bs.val] [@@bs.scope "Math"]
|
|
123
|
-
external sinh : float -> float = "sinh" [@@bs.val] [@@bs.scope "Math"]
|
|
124
|
-
external sqrt : float -> float = "sqrt" [@@bs.val] [@@bs.scope "Math"]
|
|
125
|
-
external tan : float -> float = "tan" [@@bs.val] [@@bs.scope "Math"]
|
|
126
|
-
external tanh : float -> float = "tanh" [@@bs.val] [@@bs.scope "Math"]
|
|
127
|
-
external ceil : float -> float = "ceil" [@@bs.val] [@@bs.scope "Math"]
|
|
128
|
-
external floor : float -> float = "floor" [@@bs.val] [@@bs.scope "Math"]
|
|
129
|
-
external abs_float : float -> float = "abs"[@@bs.val] [@@bs.scope "Math"]
|
|
130
|
-
external copysign : float -> float -> float
|
|
131
|
-
= "?copysign_float"
|
|
132
|
-
external mod_float : float -> float -> float = "?fmod_float"
|
|
133
|
-
external frexp : float -> float * int = "?frexp_float"
|
|
134
|
-
external ldexp : float -> int -> float =
|
|
135
|
-
"?ldexp_float"
|
|
136
|
-
external modf : float -> float * float = "?modf_float"
|
|
137
|
-
external float : int -> float = "%floatofint"
|
|
138
|
-
external float_of_int : int -> float = "%floatofint"
|
|
139
|
-
external truncate : float -> int = "%intoffloat"
|
|
140
|
-
external int_of_float : float -> int = "%intoffloat"
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
let infinity = 0x1p2047
|
|
144
|
-
let neg_infinity = -0x1p2047
|
|
145
|
-
external nan : float = "NaN"
|
|
146
|
-
[@@bs.val] [@@bs.scope "Number"]
|
|
147
|
-
let max_float = 1.79769313486231571e+308 (*0x1.ffff_ffff_ffff_fp+1023*)
|
|
148
|
-
let min_float = 2.22507385850720138e-308 (* 0x1p-1022 *)
|
|
149
|
-
let epsilon_float = 2.22044604925031308e-16 (* 0x1p-52 *)
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
type fpclass =
|
|
154
|
-
FP_normal
|
|
155
|
-
| FP_subnormal
|
|
156
|
-
| FP_zero
|
|
157
|
-
| FP_infinite
|
|
158
|
-
| FP_nan
|
|
159
|
-
|
|
160
|
-
let classify_float (x : float) : fpclass =
|
|
161
|
-
if ([%raw{|isFinite|}] : _ -> _ [@bs]) x [@bs] then
|
|
162
|
-
if abs_float x >= (* 0x1p-1022 *) (* 2.22507385850720138e-308*) min_float then
|
|
163
|
-
FP_normal
|
|
164
|
-
else if x <> 0. then FP_subnormal
|
|
165
|
-
else FP_zero
|
|
166
|
-
else
|
|
167
|
-
if ([%raw{|isNaN|}] : _ -> _ [@bs]) x [@bs] then
|
|
168
|
-
FP_nan
|
|
169
|
-
else FP_infinite
|
|
170
|
-
|
|
171
|
-
(* String and byte sequence operations -- more in modules String and Bytes *)
|
|
172
|
-
|
|
173
|
-
external string_length : string -> int = "%string_length"
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
external (^) : string -> string -> string = "#string_append"
|
|
177
|
-
(* Character operations -- more in module Char *)
|
|
178
|
-
|
|
179
|
-
external int_of_char : char -> int = "%identity"
|
|
180
|
-
external unsafe_char_of_int : int -> char = "%identity"
|
|
181
|
-
let char_of_int n =
|
|
182
|
-
if n < 0 || n > 255 then invalid_arg "char_of_int" else unsafe_char_of_int n
|
|
183
|
-
|
|
184
|
-
(* Unit operations *)
|
|
185
|
-
|
|
186
|
-
external ignore : 'a -> unit = "%ignore"
|
|
187
|
-
|
|
188
|
-
(* Pair operations *)
|
|
189
|
-
|
|
190
|
-
external fst : 'a * 'b -> 'a = "%field0"
|
|
191
|
-
external snd : 'a * 'b -> 'b = "%field1"
|
|
192
|
-
|
|
193
|
-
(* References *)
|
|
194
|
-
|
|
195
|
-
type 'a ref = { mutable contents : 'a }
|
|
196
|
-
external ref : 'a -> 'a ref = "%makemutable"
|
|
197
|
-
external ( ! ) : 'a ref -> 'a = "%bs_ref_field0"
|
|
198
|
-
external ( := ) : 'a ref -> 'a -> unit = "%bs_ref_setfield0"
|
|
199
|
-
external incr : int ref -> unit = "%incr"
|
|
200
|
-
external decr : int ref -> unit = "%decr"
|
|
201
|
-
|
|
202
|
-
(* Result type *)
|
|
203
|
-
|
|
204
|
-
type ('a, 'b) result = ('a, 'b) Belt.Result.t =
|
|
205
|
-
| Ok of 'a
|
|
206
|
-
| Error of 'b
|
|
207
|
-
|
|
208
|
-
(* String conversion functions *)
|
|
209
|
-
external format_float : string -> float -> string = "?format_float"
|
|
210
|
-
|
|
211
|
-
let string_of_bool b =
|
|
212
|
-
if b then "true" else "false"
|
|
213
|
-
let bool_of_string = function
|
|
214
|
-
| "true" -> true
|
|
215
|
-
| "false" -> false
|
|
216
|
-
| _ -> invalid_arg "bool_of_string"
|
|
217
|
-
|
|
218
|
-
let bool_of_string_opt = function
|
|
219
|
-
| "true" -> Some true
|
|
220
|
-
| "false" -> Some false
|
|
221
|
-
| _ -> None
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
external string_of_int : int -> string = "String" [@@bs.val]
|
|
225
|
-
|
|
226
|
-
external int_of_string : string -> int = "?int_of_string"
|
|
227
|
-
|
|
228
|
-
let int_of_string_opt s =
|
|
229
|
-
(* TODO: provide this directly as a non-raising primitive. *)
|
|
230
|
-
try Some (int_of_string s)
|
|
231
|
-
with Failure _ -> None
|
|
232
|
-
|
|
233
|
-
external string_get : string -> int -> char = "%string_safe_get"
|
|
234
|
-
|
|
235
|
-
let valid_float_lexem s =
|
|
236
|
-
let l = string_length s in
|
|
237
|
-
let rec loop i =
|
|
238
|
-
if i >= l then s ^ "." else
|
|
239
|
-
match string_get s i with
|
|
240
|
-
| '0' .. '9' | '-' -> loop (i + 1)
|
|
241
|
-
| _ -> s
|
|
242
|
-
in
|
|
243
|
-
loop 0
|
|
244
|
-
|
|
245
|
-
let string_of_float f = valid_float_lexem (format_float "%.12g" f)
|
|
246
|
-
|
|
247
|
-
external float_of_string : string -> float = "?float_of_string"
|
|
248
|
-
|
|
249
|
-
let float_of_string_opt s =
|
|
250
|
-
(* TODO: provide this directly as a non-raising primitive. *)
|
|
251
|
-
try Some (float_of_string s)
|
|
252
|
-
with Failure _ -> None
|
|
253
|
-
|
|
254
|
-
(* List operations -- more in module List *)
|
|
255
|
-
|
|
256
|
-
let rec ( @ ) l1 l2 =
|
|
257
|
-
match l1 with
|
|
258
|
-
[] -> l2
|
|
259
|
-
| hd :: tl -> hd :: (tl @ l2)
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
(* Output functions on standard output *)
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
external print_endline : string -> unit = "log"
|
|
267
|
-
[@@bs.val] [@@bs.scope "console"]
|
|
268
|
-
let print_newline () = print_endline ""
|
|
269
|
-
|
|
270
|
-
(* Output functions on standard error *)
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
external prerr_endline : string -> unit = "error"
|
|
274
|
-
[@@bs.val] [@@bs.scope "console"]
|
|
275
|
-
let prerr_newline () = prerr_endline ""
|
|
276
|
-
|
|
277
|
-
let print_int (i : int) = print_endline (string_of_int i)
|
|
278
|
-
let print_float (i : float) = print_endline (string_of_float i)
|
|
279
|
-
let print_string = print_endline
|
|
280
|
-
|
|
281
|
-
(* Miscellaneous *)
|
|
282
|
-
|
|
283
|
-
external sys_exit : int -> 'a = "?sys_exit"
|
|
284
|
-
|
|
285
|
-
let exit_function = ref ignore
|
|
286
|
-
|
|
287
|
-
let at_exit f =
|
|
288
|
-
let g = !exit_function in
|
|
289
|
-
exit_function := (fun () -> f(); g())
|
|
290
|
-
|
|
291
|
-
let do_at_exit () = (!exit_function) ()
|
|
292
|
-
|
|
293
|
-
let exit retcode =
|
|
294
|
-
do_at_exit ();
|
|
295
|
-
sys_exit retcode
|
|
296
|
-
|
|
297
|
-
type int32 = int
|