repl-sdk 1.0.1 → 1.0.3

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.
Files changed (261) hide show
  1. package/package.json +12 -20
  2. package/dist/apl-fqmucPXA.js +0 -141
  3. package/dist/apl-fqmucPXA.js.map +0 -1
  4. package/dist/asciiarmor-DucZyvP0.js +0 -57
  5. package/dist/asciiarmor-DucZyvP0.js.map +0 -1
  6. package/dist/asn1-BnOEsgAm.js +0 -145
  7. package/dist/asn1-BnOEsgAm.js.map +0 -1
  8. package/dist/assets/tar-worker-CxTcoQcr.js +0 -593
  9. package/dist/assets/tar-worker-CxTcoQcr.js.map +0 -1
  10. package/dist/asterisk-QAlztEwS.js +0 -346
  11. package/dist/asterisk-QAlztEwS.js.map +0 -1
  12. package/dist/brainfuck-DZVCuF_t.js +0 -54
  13. package/dist/brainfuck-DZVCuF_t.js.map +0 -1
  14. package/dist/clike-CTYGlS6x.js +0 -800
  15. package/dist/clike-CTYGlS6x.js.map +0 -1
  16. package/dist/clojure-BhXMqnxz.js +0 -850
  17. package/dist/clojure-BhXMqnxz.js.map +0 -1
  18. package/dist/cmake-BGaNd9E7.js +0 -72
  19. package/dist/cmake-BGaNd9E7.js.map +0 -1
  20. package/dist/cobol-4yqQntpt.js +0 -121
  21. package/dist/cobol-4yqQntpt.js.map +0 -1
  22. package/dist/codemirror-De3S70Np.js +0 -2912
  23. package/dist/codemirror-De3S70Np.js.map +0 -1
  24. package/dist/coffeescript-D2dXvhEc.js +0 -309
  25. package/dist/coffeescript-D2dXvhEc.js.map +0 -1
  26. package/dist/commonlisp-CF_VNHQR.js +0 -131
  27. package/dist/commonlisp-CF_VNHQR.js.map +0 -1
  28. package/dist/crystal-DyuLTqLs.js +0 -399
  29. package/dist/crystal-DyuLTqLs.js.map +0 -1
  30. package/dist/css-DkSyTW67.js +0 -1773
  31. package/dist/css-DkSyTW67.js.map +0 -1
  32. package/dist/cypher-Dlu_3r4V.js +0 -122
  33. package/dist/cypher-Dlu_3r4V.js.map +0 -1
  34. package/dist/d-UURgV0Ux.js +0 -180
  35. package/dist/d-UURgV0Ux.js.map +0 -1
  36. package/dist/diff-B_Bi2Crb.js +0 -26
  37. package/dist/diff-B_Bi2Crb.js.map +0 -1
  38. package/dist/dockerfile-Bvk733Ga.js +0 -202
  39. package/dist/dockerfile-Bvk733Ga.js.map +0 -1
  40. package/dist/dtd-Dy74G54E.js +0 -115
  41. package/dist/dtd-Dy74G54E.js.map +0 -1
  42. package/dist/dylan-TSb-Nfix.js +0 -315
  43. package/dist/dylan-TSb-Nfix.js.map +0 -1
  44. package/dist/ebnf-4fKAGW3a.js +0 -141
  45. package/dist/ebnf-4fKAGW3a.js.map +0 -1
  46. package/dist/ecl-B59qGGVg.js +0 -179
  47. package/dist/ecl-B59qGGVg.js.map +0 -1
  48. package/dist/eiffel-Dze7nlu3.js +0 -135
  49. package/dist/eiffel-Dze7nlu3.js.map +0 -1
  50. package/dist/elm-DG7jkhNZ.js +0 -177
  51. package/dist/elm-DG7jkhNZ.js.map +0 -1
  52. package/dist/erlang-BO6gOnGA.js +0 -675
  53. package/dist/erlang-BO6gOnGA.js.map +0 -1
  54. package/dist/factor-CMxFHDqz.js +0 -66
  55. package/dist/factor-CMxFHDqz.js.map +0 -1
  56. package/dist/fcl-CDDUNjTj.js +0 -142
  57. package/dist/fcl-CDDUNjTj.js.map +0 -1
  58. package/dist/forth-B9D2JCeE.js +0 -117
  59. package/dist/forth-B9D2JCeE.js.map +0 -1
  60. package/dist/fortran-CAG2BFbe.js +0 -468
  61. package/dist/fortran-CAG2BFbe.js.map +0 -1
  62. package/dist/gas-0Aw8zDr5.js +0 -294
  63. package/dist/gas-0Aw8zDr5.js.map +0 -1
  64. package/dist/gherkin-DhZlEZiy.js +0 -116
  65. package/dist/gherkin-DhZlEZiy.js.map +0 -1
  66. package/dist/gjs-DfguZDLq.js +0 -173
  67. package/dist/gjs-DfguZDLq.js.map +0 -1
  68. package/dist/gmd-Yas-Oo8k.js +0 -163
  69. package/dist/gmd-Yas-Oo8k.js.map +0 -1
  70. package/dist/groovy-CpwJiBl7.js +0 -224
  71. package/dist/groovy-CpwJiBl7.js.map +0 -1
  72. package/dist/haskell-ySd-OUo8.js +0 -460
  73. package/dist/haskell-ySd-OUo8.js.map +0 -1
  74. package/dist/haxe-7MlzfeYV.js +0 -515
  75. package/dist/haxe-7MlzfeYV.js.map +0 -1
  76. package/dist/hbs-CxcmWxSJ.js +0 -62
  77. package/dist/hbs-CxcmWxSJ.js.map +0 -1
  78. package/dist/http-BqypyemW.js +0 -80
  79. package/dist/http-BqypyemW.js.map +0 -1
  80. package/dist/idl-4HIGJlDI.js +0 -986
  81. package/dist/idl-4HIGJlDI.js.map +0 -1
  82. package/dist/index-B3Meoznj.js +0 -118
  83. package/dist/index-B3Meoznj.js.map +0 -1
  84. package/dist/index-BQyfDUUx.js +0 -692
  85. package/dist/index-BQyfDUUx.js.map +0 -1
  86. package/dist/index-BRDroAD8.js +0 -305
  87. package/dist/index-BRDroAD8.js.map +0 -1
  88. package/dist/index-BRMAzRyM.js +0 -179
  89. package/dist/index-BRMAzRyM.js.map +0 -1
  90. package/dist/index-Bb8uYQgv.js +0 -927
  91. package/dist/index-Bb8uYQgv.js.map +0 -1
  92. package/dist/index-BlOjO66K.js +0 -17618
  93. package/dist/index-BlOjO66K.js.map +0 -1
  94. package/dist/index-BoGWnSNL.js +0 -706
  95. package/dist/index-BoGWnSNL.js.map +0 -1
  96. package/dist/index-BsRrEiOu.js +0 -98
  97. package/dist/index-BsRrEiOu.js.map +0 -1
  98. package/dist/index-C2sFZMth.js +0 -391
  99. package/dist/index-C2sFZMth.js.map +0 -1
  100. package/dist/index-C7xwOjmS.js +0 -291
  101. package/dist/index-C7xwOjmS.js.map +0 -1
  102. package/dist/index-CA3lFUx6.js +0 -315
  103. package/dist/index-CA3lFUx6.js.map +0 -1
  104. package/dist/index-CB-pPTIf.js +0 -98
  105. package/dist/index-CB-pPTIf.js.map +0 -1
  106. package/dist/index-CCa6x1FE.js +0 -386
  107. package/dist/index-CCa6x1FE.js.map +0 -1
  108. package/dist/index-CD4DINI1.js +0 -158
  109. package/dist/index-CD4DINI1.js.map +0 -1
  110. package/dist/index-CE0B_fcG.js +0 -328
  111. package/dist/index-CE0B_fcG.js.map +0 -1
  112. package/dist/index-CVGAEPMV.js +0 -2139
  113. package/dist/index-CVGAEPMV.js.map +0 -1
  114. package/dist/index-CmaT2afn.js +0 -332
  115. package/dist/index-CmaT2afn.js.map +0 -1
  116. package/dist/index-D8sUxXp5.js +0 -83
  117. package/dist/index-D8sUxXp5.js.map +0 -1
  118. package/dist/index-DIz8Vpn-.js +0 -737
  119. package/dist/index-DIz8Vpn-.js.map +0 -1
  120. package/dist/index-DNP1xT-S.js +0 -408
  121. package/dist/index-DNP1xT-S.js.map +0 -1
  122. package/dist/index-DOAqdvnQ.js +0 -862
  123. package/dist/index-DOAqdvnQ.js.map +0 -1
  124. package/dist/index-DVUMFbgi.js +0 -152
  125. package/dist/index-DVUMFbgi.js.map +0 -1
  126. package/dist/index-VeTBKRVd.js +0 -83
  127. package/dist/index-VeTBKRVd.js.map +0 -1
  128. package/dist/index-dXZeR7Bx.js +0 -1767
  129. package/dist/index-dXZeR7Bx.js.map +0 -1
  130. package/dist/index-gtqbIb6T.js +0 -62
  131. package/dist/index-gtqbIb6T.js.map +0 -1
  132. package/dist/index-pN_pUAQ7.js +0 -2426
  133. package/dist/index-pN_pUAQ7.js.map +0 -1
  134. package/dist/index-wasu5VX0.js +0 -1150
  135. package/dist/index-wasu5VX0.js.map +0 -1
  136. package/dist/javascript-Bt8B7yTi.js +0 -993
  137. package/dist/javascript-Bt8B7yTi.js.map +0 -1
  138. package/dist/julia-Bs6JJhYG.js +0 -408
  139. package/dist/julia-Bs6JJhYG.js.map +0 -1
  140. package/dist/livescript-DmzgM3Yt.js +0 -297
  141. package/dist/livescript-DmzgM3Yt.js.map +0 -1
  142. package/dist/lua-8cJgIlqe.js +0 -257
  143. package/dist/lua-8cJgIlqe.js.map +0 -1
  144. package/dist/mathematica-DNLOL9PQ.js +0 -111
  145. package/dist/mathematica-DNLOL9PQ.js.map +0 -1
  146. package/dist/mbox-Ga7d4MMN.js +0 -118
  147. package/dist/mbox-Ga7d4MMN.js.map +0 -1
  148. package/dist/mirc-Dma3B8rS.js +0 -108
  149. package/dist/mirc-Dma3B8rS.js.map +0 -1
  150. package/dist/mllike-DHn7xckP.js +0 -335
  151. package/dist/mllike-DHn7xckP.js.map +0 -1
  152. package/dist/modelica-0d55jYY0.js +0 -148
  153. package/dist/modelica-0d55jYY0.js.map +0 -1
  154. package/dist/mscgen-DdqZYINH.js +0 -136
  155. package/dist/mscgen-DdqZYINH.js.map +0 -1
  156. package/dist/mumps-Btr8VblO.js +0 -94
  157. package/dist/mumps-Btr8VblO.js.map +0 -1
  158. package/dist/nginx-DTDtBDVN.js +0 -142
  159. package/dist/nginx-DTDtBDVN.js.map +0 -1
  160. package/dist/nsis-3zG7tgur.js +0 -63
  161. package/dist/nsis-3zG7tgur.js.map +0 -1
  162. package/dist/ntriples-CvgOYMpL.js +0 -154
  163. package/dist/ntriples-CvgOYMpL.js.map +0 -1
  164. package/dist/octave-DYBj3-tl.js +0 -201
  165. package/dist/octave-DYBj3-tl.js.map +0 -1
  166. package/dist/oz-R_e8WMIi.js +0 -232
  167. package/dist/oz-R_e8WMIi.js.map +0 -1
  168. package/dist/parse-CAqQaKsh.js +0 -21685
  169. package/dist/parse-CAqQaKsh.js.map +0 -1
  170. package/dist/pascal-GD8iposT.js +0 -106
  171. package/dist/pascal-GD8iposT.js.map +0 -1
  172. package/dist/perl-DL9mHpoi.js +0 -1106
  173. package/dist/perl-DL9mHpoi.js.map +0 -1
  174. package/dist/pig-C_4T4YIV.js +0 -102
  175. package/dist/pig-C_4T4YIV.js.map +0 -1
  176. package/dist/powershell-B0suO7Vd.js +0 -329
  177. package/dist/powershell-B0suO7Vd.js.map +0 -1
  178. package/dist/properties-BR-vP1aU.js +0 -59
  179. package/dist/properties-BR-vP1aU.js.map +0 -1
  180. package/dist/protobuf-BxgpyhoW.js +0 -78
  181. package/dist/protobuf-BxgpyhoW.js.map +0 -1
  182. package/dist/pug-vHnWR0UE.js +0 -406
  183. package/dist/pug-vHnWR0UE.js.map +0 -1
  184. package/dist/puppet-Bdao66PW.js +0 -138
  185. package/dist/puppet-Bdao66PW.js.map +0 -1
  186. package/dist/python-BFGRmuZ9.js +0 -427
  187. package/dist/python-BFGRmuZ9.js.map +0 -1
  188. package/dist/q-CrbCVq4a.js +0 -132
  189. package/dist/q-CrbCVq4a.js.map +0 -1
  190. package/dist/r-V7nswm59.js +0 -171
  191. package/dist/r-V7nswm59.js.map +0 -1
  192. package/dist/render-app-island-B-i8rvGi.js +0 -61
  193. package/dist/render-app-island-B-i8rvGi.js.map +0 -1
  194. package/dist/repl-sdk.js +0 -7
  195. package/dist/repl-sdk.js.map +0 -1
  196. package/dist/rpm-C-DLY-If.js +0 -110
  197. package/dist/rpm-C-DLY-If.js.map +0 -1
  198. package/dist/ruby-JDKLJNK0.js +0 -331
  199. package/dist/ruby-JDKLJNK0.js.map +0 -1
  200. package/dist/sas-D2UG-yhZ.js +0 -208
  201. package/dist/sas-D2UG-yhZ.js.map +0 -1
  202. package/dist/scheme-BKzrkGJD.js +0 -223
  203. package/dist/scheme-BKzrkGJD.js.map +0 -1
  204. package/dist/shell-BlsXDxCn.js +0 -223
  205. package/dist/shell-BlsXDxCn.js.map +0 -1
  206. package/dist/sieve-CjwBwOY5.js +0 -136
  207. package/dist/sieve-CjwBwOY5.js.map +0 -1
  208. package/dist/simple-mode-DMneyfDu.js +0 -131
  209. package/dist/simple-mode-DMneyfDu.js.map +0 -1
  210. package/dist/smalltalk-BOIGQuhN.js +0 -122
  211. package/dist/smalltalk-BOIGQuhN.js.map +0 -1
  212. package/dist/solr-CwD7U71z.js +0 -70
  213. package/dist/solr-CwD7U71z.js.map +0 -1
  214. package/dist/sparql-DYskk2vE.js +0 -250
  215. package/dist/sparql-DYskk2vE.js.map +0 -1
  216. package/dist/spreadsheet-Bgtt3oLP.js +0 -88
  217. package/dist/spreadsheet-Bgtt3oLP.js.map +0 -1
  218. package/dist/sql-Cei9CMfk.js +0 -343
  219. package/dist/sql-Cei9CMfk.js.map +0 -1
  220. package/dist/stex-C1nZSzAw.js +0 -231
  221. package/dist/stex-C1nZSzAw.js.map +0 -1
  222. package/dist/stylus-BkS-boTH.js +0 -566
  223. package/dist/stylus-BkS-boTH.js.map +0 -1
  224. package/dist/swift-FRZi1uvB.js +0 -292
  225. package/dist/swift-FRZi1uvB.js.map +0 -1
  226. package/dist/tcl-CUcaCdmq.js +0 -115
  227. package/dist/tcl-CUcaCdmq.js.map +0 -1
  228. package/dist/textile-BnFpjsrl.js +0 -415
  229. package/dist/textile-BnFpjsrl.js.map +0 -1
  230. package/dist/tiddlywiki-CjprD-Qp.js +0 -219
  231. package/dist/tiddlywiki-CjprD-Qp.js.map +0 -1
  232. package/dist/tiki-DK9DOeWn.js +0 -269
  233. package/dist/tiki-DK9DOeWn.js.map +0 -1
  234. package/dist/toml-BOuWGMcf.js +0 -77
  235. package/dist/toml-BOuWGMcf.js.map +0 -1
  236. package/dist/troff-E1bJ0PPL.js +0 -62
  237. package/dist/troff-E1bJ0PPL.js.map +0 -1
  238. package/dist/ttcn-cfg-Dc39-fIP.js +0 -134
  239. package/dist/ttcn-cfg-Dc39-fIP.js.map +0 -1
  240. package/dist/ttcn-tKd4HLu4.js +0 -193
  241. package/dist/ttcn-tKd4HLu4.js.map +0 -1
  242. package/dist/turtle-Dq7-1WAf.js +0 -125
  243. package/dist/turtle-Dq7-1WAf.js.map +0 -1
  244. package/dist/vb-Dp90gtsv.js +0 -197
  245. package/dist/vb-Dp90gtsv.js.map +0 -1
  246. package/dist/vbscript-Bfn8O8I7.js +0 -479
  247. package/dist/vbscript-Bfn8O8I7.js.map +0 -1
  248. package/dist/velocity-BwIZK1TH.js +0 -150
  249. package/dist/velocity-BwIZK1TH.js.map +0 -1
  250. package/dist/verilog-CnT9bMk0.js +0 -430
  251. package/dist/verilog-CnT9bMk0.js.map +0 -1
  252. package/dist/vhdl-DCkMIyT9.js +0 -159
  253. package/dist/vhdl-DCkMIyT9.js.map +0 -1
  254. package/dist/webidl-BTLTThCm.js +0 -205
  255. package/dist/webidl-BTLTThCm.js.map +0 -1
  256. package/dist/xquery-BrBUuxMR.js +0 -526
  257. package/dist/xquery-BrBUuxMR.js.map +0 -1
  258. package/dist/yacas-b5lAVEIl.js +0 -131
  259. package/dist/yacas-b5lAVEIl.js.map +0 -1
  260. package/dist/z80-ClgwfNdB.js +0 -93
  261. package/dist/z80-ClgwfNdB.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"erlang-BO6gOnGA.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/erlang.js"],"sourcesContent":["/////////////////////////////////////////////////////////////////////////////\n// constants\n\nvar typeWords = [\n \"-type\", \"-spec\", \"-export_type\", \"-opaque\"];\n\nvar keywordWords = [\n \"after\",\"begin\",\"catch\",\"case\",\"cond\",\"end\",\"fun\",\"if\",\n \"let\",\"of\",\"query\",\"receive\",\"try\",\"when\"];\n\nvar separatorRE = /[\\->,;]/;\nvar separatorWords = [\n \"->\",\";\",\",\"];\n\nvar operatorAtomWords = [\n \"and\",\"andalso\",\"band\",\"bnot\",\"bor\",\"bsl\",\"bsr\",\"bxor\",\n \"div\",\"not\",\"or\",\"orelse\",\"rem\",\"xor\"];\n\nvar operatorSymbolRE = /[\\+\\-\\*\\/<>=\\|:!]/;\nvar operatorSymbolWords = [\n \"=\",\"+\",\"-\",\"*\",\"/\",\">\",\">=\",\"<\",\"=<\",\"=:=\",\"==\",\"=/=\",\"/=\",\"||\",\"<-\",\"!\"];\n\nvar openParenRE = /[<\\(\\[\\{]/;\nvar openParenWords = [\n \"<<\",\"(\",\"[\",\"{\"];\n\nvar closeParenRE = /[>\\)\\]\\}]/;\nvar closeParenWords = [\n \"}\",\"]\",\")\",\">>\"];\n\nvar guardWords = [\n \"is_atom\",\"is_binary\",\"is_bitstring\",\"is_boolean\",\"is_float\",\n \"is_function\",\"is_integer\",\"is_list\",\"is_number\",\"is_pid\",\n \"is_port\",\"is_record\",\"is_reference\",\"is_tuple\",\n \"atom\",\"binary\",\"bitstring\",\"boolean\",\"function\",\"integer\",\"list\",\n \"number\",\"pid\",\"port\",\"record\",\"reference\",\"tuple\"];\n\nvar bifWords = [\n \"abs\",\"adler32\",\"adler32_combine\",\"alive\",\"apply\",\"atom_to_binary\",\n \"atom_to_list\",\"binary_to_atom\",\"binary_to_existing_atom\",\n \"binary_to_list\",\"binary_to_term\",\"bit_size\",\"bitstring_to_list\",\n \"byte_size\",\"check_process_code\",\"contact_binary\",\"crc32\",\n \"crc32_combine\",\"date\",\"decode_packet\",\"delete_module\",\n \"disconnect_node\",\"element\",\"erase\",\"exit\",\"float\",\"float_to_list\",\n \"garbage_collect\",\"get\",\"get_keys\",\"group_leader\",\"halt\",\"hd\",\n \"integer_to_list\",\"internal_bif\",\"iolist_size\",\"iolist_to_binary\",\n \"is_alive\",\"is_atom\",\"is_binary\",\"is_bitstring\",\"is_boolean\",\n \"is_float\",\"is_function\",\"is_integer\",\"is_list\",\"is_number\",\"is_pid\",\n \"is_port\",\"is_process_alive\",\"is_record\",\"is_reference\",\"is_tuple\",\n \"length\",\"link\",\"list_to_atom\",\"list_to_binary\",\"list_to_bitstring\",\n \"list_to_existing_atom\",\"list_to_float\",\"list_to_integer\",\n \"list_to_pid\",\"list_to_tuple\",\"load_module\",\"make_ref\",\"module_loaded\",\n \"monitor_node\",\"node\",\"node_link\",\"node_unlink\",\"nodes\",\"notalive\",\n \"now\",\"open_port\",\"pid_to_list\",\"port_close\",\"port_command\",\n \"port_connect\",\"port_control\",\"pre_loaded\",\"process_flag\",\n \"process_info\",\"processes\",\"purge_module\",\"put\",\"register\",\n \"registered\",\"round\",\"self\",\"setelement\",\"size\",\"spawn\",\"spawn_link\",\n \"spawn_monitor\",\"spawn_opt\",\"split_binary\",\"statistics\",\n \"term_to_binary\",\"time\",\"throw\",\"tl\",\"trunc\",\"tuple_size\",\n \"tuple_to_list\",\"unlink\",\"unregister\",\"whereis\"];\n\n// upper case: [A-Z] [Ø-Þ] [À-Ö]\n// lower case: [a-z] [ß-ö] [ø-ÿ]\nvar anumRE = /[\\w@Ø-ÞÀ-Öß-öø-ÿ]/;\nvar escapesRE =\n /[0-7]{1,3}|[bdefnrstv\\\\\"']|\\^[a-zA-Z]|x[0-9a-zA-Z]{2}|x{[0-9a-zA-Z]+}/;\n\n/////////////////////////////////////////////////////////////////////////////\n// tokenizer\n\nfunction tokenizer(stream,state) {\n // in multi-line string\n if (state.in_string) {\n state.in_string = (!doubleQuote(stream));\n return rval(state,stream,\"string\");\n }\n\n // in multi-line atom\n if (state.in_atom) {\n state.in_atom = (!singleQuote(stream));\n return rval(state,stream,\"atom\");\n }\n\n // whitespace\n if (stream.eatSpace()) {\n return rval(state,stream,\"whitespace\");\n }\n\n // attributes and type specs\n if (!peekToken(state) &&\n stream.match(/-\\s*[a-zß-öø-ÿ][\\wØ-ÞÀ-Öß-öø-ÿ]*/)) {\n if (is_member(stream.current(),typeWords)) {\n return rval(state,stream,\"type\");\n }else{\n return rval(state,stream,\"attribute\");\n }\n }\n\n var ch = stream.next();\n\n // comment\n if (ch == '%') {\n stream.skipToEnd();\n return rval(state,stream,\"comment\");\n }\n\n // colon\n if (ch == \":\") {\n return rval(state,stream,\"colon\");\n }\n\n // macro\n if (ch == '?') {\n stream.eatSpace();\n stream.eatWhile(anumRE);\n return rval(state,stream,\"macro\");\n }\n\n // record\n if (ch == \"#\") {\n stream.eatSpace();\n stream.eatWhile(anumRE);\n return rval(state,stream,\"record\");\n }\n\n // dollar escape\n if (ch == \"$\") {\n if (stream.next() == \"\\\\\" && !stream.match(escapesRE)) {\n return rval(state,stream,\"error\");\n }\n return rval(state,stream,\"number\");\n }\n\n // dot\n if (ch == \".\") {\n return rval(state,stream,\"dot\");\n }\n\n // quoted atom\n if (ch == '\\'') {\n if (!(state.in_atom = (!singleQuote(stream)))) {\n if (stream.match(/\\s*\\/\\s*[0-9]/,false)) {\n stream.match(/\\s*\\/\\s*[0-9]/,true);\n return rval(state,stream,\"fun\"); // 'f'/0 style fun\n }\n if (stream.match(/\\s*\\(/,false) || stream.match(/\\s*:/,false)) {\n return rval(state,stream,\"function\");\n }\n }\n return rval(state,stream,\"atom\");\n }\n\n // string\n if (ch == '\"') {\n state.in_string = (!doubleQuote(stream));\n return rval(state,stream,\"string\");\n }\n\n // variable\n if (/[A-Z_Ø-ÞÀ-Ö]/.test(ch)) {\n stream.eatWhile(anumRE);\n return rval(state,stream,\"variable\");\n }\n\n // atom/keyword/BIF/function\n if (/[a-z_ß-öø-ÿ]/.test(ch)) {\n stream.eatWhile(anumRE);\n\n if (stream.match(/\\s*\\/\\s*[0-9]/,false)) {\n stream.match(/\\s*\\/\\s*[0-9]/,true);\n return rval(state,stream,\"fun\"); // f/0 style fun\n }\n\n var w = stream.current();\n\n if (is_member(w,keywordWords)) {\n return rval(state,stream,\"keyword\");\n }else if (is_member(w,operatorAtomWords)) {\n return rval(state,stream,\"operator\");\n }else if (stream.match(/\\s*\\(/,false)) {\n // 'put' and 'erlang:put' are bifs, 'foo:put' is not\n if (is_member(w,bifWords) &&\n ((peekToken(state).token != \":\") ||\n (peekToken(state,2).token == \"erlang\"))) {\n return rval(state,stream,\"builtin\");\n }else if (is_member(w,guardWords)) {\n return rval(state,stream,\"guard\");\n }else{\n return rval(state,stream,\"function\");\n }\n }else if (lookahead(stream) == \":\") {\n if (w == \"erlang\") {\n return rval(state,stream,\"builtin\");\n } else {\n return rval(state,stream,\"function\");\n }\n }else if (is_member(w,[\"true\",\"false\"])) {\n return rval(state,stream,\"boolean\");\n }else{\n return rval(state,stream,\"atom\");\n }\n }\n\n // number\n var digitRE = /[0-9]/;\n var radixRE = /[0-9a-zA-Z]/; // 36#zZ style int\n if (digitRE.test(ch)) {\n stream.eatWhile(digitRE);\n if (stream.eat('#')) { // 36#aZ style integer\n if (!stream.eatWhile(radixRE)) {\n stream.backUp(1); //\"36#\" - syntax error\n }\n } else if (stream.eat('.')) { // float\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(1); // \"3.\" - probably end of function\n } else {\n if (stream.eat(/[eE]/)) { // float with exponent\n if (stream.eat(/[-+]/)) {\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(2); // \"2e-\" - syntax error\n }\n } else {\n if (!stream.eatWhile(digitRE)) {\n stream.backUp(1); // \"2e\" - syntax error\n }\n }\n }\n }\n }\n return rval(state,stream,\"number\"); // normal integer\n }\n\n // open parens\n if (nongreedy(stream,openParenRE,openParenWords)) {\n return rval(state,stream,\"open_paren\");\n }\n\n // close parens\n if (nongreedy(stream,closeParenRE,closeParenWords)) {\n return rval(state,stream,\"close_paren\");\n }\n\n // separators\n if (greedy(stream,separatorRE,separatorWords)) {\n return rval(state,stream,\"separator\");\n }\n\n // operators\n if (greedy(stream,operatorSymbolRE,operatorSymbolWords)) {\n return rval(state,stream,\"operator\");\n }\n\n return rval(state,stream,null);\n}\n\n/////////////////////////////////////////////////////////////////////////////\n// utilities\nfunction nongreedy(stream,re,words) {\n if (stream.current().length == 1 && re.test(stream.current())) {\n stream.backUp(1);\n while (re.test(stream.peek())) {\n stream.next();\n if (is_member(stream.current(),words)) {\n return true;\n }\n }\n stream.backUp(stream.current().length-1);\n }\n return false;\n}\n\nfunction greedy(stream,re,words) {\n if (stream.current().length == 1 && re.test(stream.current())) {\n while (re.test(stream.peek())) {\n stream.next();\n }\n while (0 < stream.current().length) {\n if (is_member(stream.current(),words)) {\n return true;\n }else{\n stream.backUp(1);\n }\n }\n stream.next();\n }\n return false;\n}\n\nfunction doubleQuote(stream) {\n return quote(stream, '\"', '\\\\');\n}\n\nfunction singleQuote(stream) {\n return quote(stream,'\\'','\\\\');\n}\n\nfunction quote(stream,quoteChar,escapeChar) {\n while (!stream.eol()) {\n var ch = stream.next();\n if (ch == quoteChar) {\n return true;\n }else if (ch == escapeChar) {\n stream.next();\n }\n }\n return false;\n}\n\nfunction lookahead(stream) {\n var m = stream.match(/^\\s*([^\\s%])/, false)\n return m ? m[1] : \"\";\n}\n\nfunction is_member(element,list) {\n return (-1 < list.indexOf(element));\n}\n\nfunction rval(state,stream,type) {\n\n // parse stack\n pushToken(state,realToken(type,stream));\n\n // map erlang token type to CodeMirror style class\n // erlang -> CodeMirror tag\n switch (type) {\n case \"atom\": return \"atom\";\n case \"attribute\": return \"attribute\";\n case \"boolean\": return \"atom\";\n case \"builtin\": return \"builtin\";\n case \"close_paren\": return null;\n case \"colon\": return null;\n case \"comment\": return \"comment\";\n case \"dot\": return null;\n case \"error\": return \"error\";\n case \"fun\": return \"meta\";\n case \"function\": return \"tag\";\n case \"guard\": return \"property\";\n case \"keyword\": return \"keyword\";\n case \"macro\": return \"macroName\";\n case \"number\": return \"number\";\n case \"open_paren\": return null;\n case \"operator\": return \"operator\";\n case \"record\": return \"bracket\";\n case \"separator\": return null;\n case \"string\": return \"string\";\n case \"type\": return \"def\";\n case \"variable\": return \"variable\";\n default: return null;\n }\n}\n\nfunction aToken(tok,col,ind,typ) {\n return {token: tok,\n column: col,\n indent: ind,\n type: typ};\n}\n\nfunction realToken(type,stream) {\n return aToken(stream.current(),\n stream.column(),\n stream.indentation(),\n type);\n}\n\nfunction fakeToken(type) {\n return aToken(type,0,0,type);\n}\n\nfunction peekToken(state,depth) {\n var len = state.tokenStack.length;\n var dep = (depth ? depth : 1);\n\n if (len < dep) {\n return false;\n }else{\n return state.tokenStack[len-dep];\n }\n}\n\nfunction pushToken(state,token) {\n\n if (!(token.type == \"comment\" || token.type == \"whitespace\")) {\n state.tokenStack = maybe_drop_pre(state.tokenStack,token);\n state.tokenStack = maybe_drop_post(state.tokenStack);\n }\n}\n\nfunction maybe_drop_pre(s,token) {\n var last = s.length-1;\n\n if (0 < last && s[last].type === \"record\" && token.type === \"dot\") {\n s.pop();\n }else if (0 < last && s[last].type === \"group\") {\n s.pop();\n s.push(token);\n }else{\n s.push(token);\n }\n return s;\n}\n\nfunction maybe_drop_post(s) {\n if (!s.length) return s\n var last = s.length-1;\n\n if (s[last].type === \"dot\") {\n return [];\n }\n if (last > 1 && s[last].type === \"fun\" && s[last-1].token === \"fun\") {\n return s.slice(0,last-1);\n }\n switch (s[last].token) {\n case \"}\": return d(s,{g:[\"{\"]});\n case \"]\": return d(s,{i:[\"[\"]});\n case \")\": return d(s,{i:[\"(\"]});\n case \">>\": return d(s,{i:[\"<<\"]});\n case \"end\": return d(s,{i:[\"begin\",\"case\",\"fun\",\"if\",\"receive\",\"try\"]});\n case \",\": return d(s,{e:[\"begin\",\"try\",\"when\",\"->\",\n \",\",\"(\",\"[\",\"{\",\"<<\"]});\n case \"->\": return d(s,{r:[\"when\"],\n m:[\"try\",\"if\",\"case\",\"receive\"]});\n case \";\": return d(s,{E:[\"case\",\"fun\",\"if\",\"receive\",\"try\",\"when\"]});\n case \"catch\":return d(s,{e:[\"try\"]});\n case \"of\": return d(s,{e:[\"case\"]});\n case \"after\":return d(s,{e:[\"receive\",\"try\"]});\n default: return s;\n }\n}\n\nfunction d(stack,tt) {\n // stack is a stack of Token objects.\n // tt is an object; {type:tokens}\n // type is a char, tokens is a list of token strings.\n // The function returns (possibly truncated) stack.\n // It will descend the stack, looking for a Token such that Token.token\n // is a member of tokens. If it does not find that, it will normally (but\n // see \"E\" below) return stack. If it does find a match, it will remove\n // all the Tokens between the top and the matched Token.\n // If type is \"m\", that is all it does.\n // If type is \"i\", it will also remove the matched Token and the top Token.\n // If type is \"g\", like \"i\", but add a fake \"group\" token at the top.\n // If type is \"r\", it will remove the matched Token, but not the top Token.\n // If type is \"e\", it will keep the matched Token but not the top Token.\n // If type is \"E\", it behaves as for type \"e\", except if there is no match,\n // in which case it will return an empty stack.\n\n for (var type in tt) {\n var len = stack.length-1;\n var tokens = tt[type];\n for (var i = len-1; -1 < i ; i--) {\n if (is_member(stack[i].token,tokens)) {\n var ss = stack.slice(0,i);\n switch (type) {\n case \"m\": return ss.concat(stack[i]).concat(stack[len]);\n case \"r\": return ss.concat(stack[len]);\n case \"i\": return ss;\n case \"g\": return ss.concat(fakeToken(\"group\"));\n case \"E\": return ss.concat(stack[i]);\n case \"e\": return ss.concat(stack[i]);\n }\n }\n }\n }\n return (type == \"E\" ? [] : stack);\n}\n\n/////////////////////////////////////////////////////////////////////////////\n// indenter\n\nfunction indenter(state, textAfter, cx) {\n var t;\n var wordAfter = wordafter(textAfter);\n var currT = peekToken(state,1);\n var prevT = peekToken(state,2);\n\n if (state.in_string || state.in_atom) {\n return null;\n }else if (!prevT) {\n return 0;\n }else if (currT.token == \"when\") {\n return currT.column + cx.unit;\n }else if (wordAfter === \"when\" && prevT.type === \"function\") {\n return prevT.indent+cx.unit;\n }else if (wordAfter === \"(\" && currT.token === \"fun\") {\n return currT.column+3;\n }else if (wordAfter === \"catch\" && (t = getToken(state,[\"try\"]))) {\n return t.column;\n }else if (is_member(wordAfter,[\"end\",\"after\",\"of\"])) {\n t = getToken(state,[\"begin\",\"case\",\"fun\",\"if\",\"receive\",\"try\"]);\n return t ? t.column : null;\n }else if (is_member(wordAfter,closeParenWords)) {\n t = getToken(state,openParenWords);\n return t ? t.column : null;\n }else if (is_member(currT.token,[\",\",\"|\",\"||\"]) ||\n is_member(wordAfter,[\",\",\"|\",\"||\"])) {\n t = postcommaToken(state);\n return t ? t.column+t.token.length : cx.unit;\n }else if (currT.token == \"->\") {\n if (is_member(prevT.token, [\"receive\",\"case\",\"if\",\"try\"])) {\n return prevT.column+cx.unit+cx.unit;\n }else{\n return prevT.column+cx.unit;\n }\n }else if (is_member(currT.token,openParenWords)) {\n return currT.column+currT.token.length;\n }else{\n t = defaultToken(state);\n return truthy(t) ? t.column+cx.unit : 0;\n }\n}\n\nfunction wordafter(str) {\n var m = str.match(/,|[a-z]+|\\}|\\]|\\)|>>|\\|+|\\(/);\n\n return truthy(m) && (m.index === 0) ? m[0] : \"\";\n}\n\nfunction postcommaToken(state) {\n var objs = state.tokenStack.slice(0,-1);\n var i = getTokenIndex(objs,\"type\",[\"open_paren\"]);\n\n return truthy(objs[i]) ? objs[i] : false;\n}\n\nfunction defaultToken(state) {\n var objs = state.tokenStack;\n var stop = getTokenIndex(objs,\"type\",[\"open_paren\",\"separator\",\"keyword\"]);\n var oper = getTokenIndex(objs,\"type\",[\"operator\"]);\n\n if (truthy(stop) && truthy(oper) && stop < oper) {\n return objs[stop+1];\n } else if (truthy(stop)) {\n return objs[stop];\n } else {\n return false;\n }\n}\n\nfunction getToken(state,tokens) {\n var objs = state.tokenStack;\n var i = getTokenIndex(objs,\"token\",tokens);\n\n return truthy(objs[i]) ? objs[i] : false;\n}\n\nfunction getTokenIndex(objs,propname,propvals) {\n\n for (var i = objs.length-1; -1 < i ; i--) {\n if (is_member(objs[i][propname],propvals)) {\n return i;\n }\n }\n return false;\n}\n\nfunction truthy(x) {\n return (x !== false) && (x != null);\n}\n\n/////////////////////////////////////////////////////////////////////////////\n// this object defines the mode\n\nexport const erlang = {\n name: \"erlang\",\n startState() {\n return {tokenStack: [],\n in_string: false,\n in_atom: false};\n },\n\n token: tokenizer,\n\n indent: indenter,\n\n languageData: {\n commentTokens: {line: \"%\"}\n }\n};\n\n"],"names":[],"mappings":"AAGA,IAAI,YAAY;AAAA,EACd;AAAA,EAAS;AAAA,EAAS;AAAA,EAAgB;AAAS;AAE7C,IAAI,eAAe;AAAA,EACjB;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAO;AAAA,EAAO;AAAA,EAAM;AAAA,EAAM;AAAA,EAClD;AAAA,EAAM;AAAA,EAAK;AAAA,EAAQ;AAAA,EAAU;AAAA,EAAM;AAAM;AAE3C,IAAI,cAAiB;AACrB,IAAI,iBAAiB;AAAA,EACnB;AAAA,EAAK;AAAA,EAAI;AAAG;AAEd,IAAI,oBAAoB;AAAA,EACtB;AAAA,EAAM;AAAA,EAAU;AAAA,EAAO;AAAA,EAAO;AAAA,EAAM;AAAA,EAAM;AAAA,EAAM;AAAA,EAChD;AAAA,EAAM;AAAA,EAAM;AAAA,EAAK;AAAA,EAAS;AAAA,EAAM;AAAK;AAEvC,IAAI,mBAAsB;AAC1B,IAAI,sBAAsB;AAAA,EACxB;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAA,EAAK;AAAA,EAAI;AAAA,EAAK;AAAA,EAAM;AAAA,EAAK;AAAA,EAAM;AAAA,EAAK;AAAA,EAAK;AAAA,EAAK;AAAG;AAE3E,IAAI,cAAiB;AACrB,IAAI,iBAAiB;AAAA,EACnB;AAAA,EAAK;AAAA,EAAI;AAAA,EAAI;AAAG;AAElB,IAAI,eAAkB;AACtB,IAAI,kBAAkB;AAAA,EACpB;AAAA,EAAI;AAAA,EAAI;AAAA,EAAI;AAAI;AAElB,IAAI,aAAa;AAAA,EACf;AAAA,EAAU;AAAA,EAAY;AAAA,EAAe;AAAA,EAAa;AAAA,EAClD;AAAA,EAAc;AAAA,EAAa;AAAA,EAAU;AAAA,EAAY;AAAA,EACjD;AAAA,EAAU;AAAA,EAAY;AAAA,EAAe;AAAA,EACrC;AAAA,EAAO;AAAA,EAAS;AAAA,EAAY;AAAA,EAAU;AAAA,EAAW;AAAA,EAAU;AAAA,EAC3D;AAAA,EAAS;AAAA,EAAM;AAAA,EAAO;AAAA,EAAS;AAAA,EAAY;AAAO;AAEpD,IAAI,WAAW;AAAA,EACb;AAAA,EAAM;AAAA,EAAU;AAAA,EAAkB;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAClD;AAAA,EAAe;AAAA,EAAiB;AAAA,EAChC;AAAA,EAAiB;AAAA,EAAiB;AAAA,EAAW;AAAA,EAC7C;AAAA,EAAY;AAAA,EAAqB;AAAA,EAAiB;AAAA,EAClD;AAAA,EAAgB;AAAA,EAAO;AAAA,EAAgB;AAAA,EACvC;AAAA,EAAkB;AAAA,EAAU;AAAA,EAAQ;AAAA,EAAO;AAAA,EAAQ;AAAA,EACnD;AAAA,EAAkB;AAAA,EAAM;AAAA,EAAW;AAAA,EAAe;AAAA,EAAO;AAAA,EACzD;AAAA,EAAkB;AAAA,EAAe;AAAA,EAAc;AAAA,EAC/C;AAAA,EAAW;AAAA,EAAU;AAAA,EAAY;AAAA,EAAe;AAAA,EAChD;AAAA,EAAW;AAAA,EAAc;AAAA,EAAa;AAAA,EAAU;AAAA,EAAY;AAAA,EAC5D;AAAA,EAAU;AAAA,EAAmB;AAAA,EAAY;AAAA,EAAe;AAAA,EACxD;AAAA,EAAS;AAAA,EAAO;AAAA,EAAe;AAAA,EAAiB;AAAA,EAChD;AAAA,EAAwB;AAAA,EAAgB;AAAA,EACxC;AAAA,EAAc;AAAA,EAAgB;AAAA,EAAc;AAAA,EAAW;AAAA,EACvD;AAAA,EAAe;AAAA,EAAO;AAAA,EAAY;AAAA,EAAc;AAAA,EAAQ;AAAA,EACxD;AAAA,EAAM;AAAA,EAAY;AAAA,EAAc;AAAA,EAAa;AAAA,EAC7C;AAAA,EAAe;AAAA,EAAe;AAAA,EAAa;AAAA,EAC3C;AAAA,EAAe;AAAA,EAAY;AAAA,EAAe;AAAA,EAAM;AAAA,EAChD;AAAA,EAAa;AAAA,EAAQ;AAAA,EAAO;AAAA,EAAa;AAAA,EAAO;AAAA,EAAQ;AAAA,EACxD;AAAA,EAAgB;AAAA,EAAY;AAAA,EAAe;AAAA,EAC3C;AAAA,EAAiB;AAAA,EAAO;AAAA,EAAQ;AAAA,EAAK;AAAA,EAAQ;AAAA,EAC7C;AAAA,EAAgB;AAAA,EAAS;AAAA,EAAa;AAAS;AAIjD,IAAI,SAAe;AACnB,IAAI,YACA;AAKJ,SAAS,UAAU,QAAO,OAAO;AAE/B,MAAI,MAAM,WAAW;AACnB,UAAM,YAAa,CAAC,YAAY,MAAM;AACtC,WAAO,KAAK,OAAM,QAAO,QAAQ;AAAA,EACnC;AAGA,MAAI,MAAM,SAAS;AACjB,UAAM,UAAW,CAAC,YAAY,MAAM;AACpC,WAAO,KAAK,OAAM,QAAO,MAAM;AAAA,EACjC;AAGA,MAAI,OAAO,YAAY;AACrB,WAAO,KAAK,OAAM,QAAO,YAAY;AAAA,EACvC;AAGA,MAAI,CAAC,UAAU,KAAK,KAChB,OAAO,MAAM,kCAAkC,GAAG;AACpD,QAAI,UAAU,OAAO,QAAO,GAAG,SAAS,GAAG;AACzC,aAAO,KAAK,OAAM,QAAO,MAAM;AAAA,IACjC,OAAK;AACH,aAAO,KAAK,OAAM,QAAO,WAAW;AAAA,IACtC;AAAA,EACF;AAEA,MAAI,KAAK,OAAO,KAAI;AAGpB,MAAI,MAAM,KAAK;AACb,WAAO,UAAS;AAChB,WAAO,KAAK,OAAM,QAAO,SAAS;AAAA,EACpC;AAGA,MAAI,MAAM,KAAK;AACb,WAAO,KAAK,OAAM,QAAO,OAAO;AAAA,EAClC;AAGA,MAAI,MAAM,KAAK;AACb,WAAO,SAAQ;AACf,WAAO,SAAS,MAAM;AACtB,WAAO,KAAK,OAAM,QAAO,OAAO;AAAA,EAClC;AAGA,MAAI,MAAM,KAAK;AACb,WAAO,SAAQ;AACf,WAAO,SAAS,MAAM;AACtB,WAAO,KAAK,OAAM,QAAO,QAAQ;AAAA,EACnC;AAGA,MAAI,MAAM,KAAK;AACb,QAAI,OAAO,UAAU,QAAQ,CAAC,OAAO,MAAM,SAAS,GAAG;AACrD,aAAO,KAAK,OAAM,QAAO,OAAO;AAAA,IAClC;AACA,WAAO,KAAK,OAAM,QAAO,QAAQ;AAAA,EACnC;AAGA,MAAI,MAAM,KAAK;AACb,WAAO,KAAK,OAAM,QAAO,KAAK;AAAA,EAChC;AAGA,MAAI,MAAM,KAAM;AACd,QAAI,EAAE,MAAM,UAAW,CAAC,YAAY,MAAM,IAAK;AAC7C,UAAI,OAAO,MAAM,iBAAgB,KAAK,GAAG;AACvC,eAAO,MAAM,iBAAgB,IAAI;AACjC,eAAO,KAAK,OAAM,QAAO,KAAK;AAAA,MAChC;AACA,UAAI,OAAO,MAAM,SAAQ,KAAK,KAAK,OAAO,MAAM,QAAO,KAAK,GAAG;AAC7D,eAAO,KAAK,OAAM,QAAO,UAAU;AAAA,MACrC;AAAA,IACF;AACA,WAAO,KAAK,OAAM,QAAO,MAAM;AAAA,EACjC;AAGA,MAAI,MAAM,KAAK;AACb,UAAM,YAAa,CAAC,YAAY,MAAM;AACtC,WAAO,KAAK,OAAM,QAAO,QAAQ;AAAA,EACnC;AAGA,MAAI,eAAe,KAAK,EAAE,GAAG;AAC3B,WAAO,SAAS,MAAM;AACtB,WAAO,KAAK,OAAM,QAAO,UAAU;AAAA,EACrC;AAGA,MAAI,eAAe,KAAK,EAAE,GAAG;AAC3B,WAAO,SAAS,MAAM;AAEtB,QAAI,OAAO,MAAM,iBAAgB,KAAK,GAAG;AACvC,aAAO,MAAM,iBAAgB,IAAI;AACjC,aAAO,KAAK,OAAM,QAAO,KAAK;AAAA,IAChC;AAEA,QAAI,IAAI,OAAO,QAAO;AAEtB,QAAI,UAAU,GAAE,YAAY,GAAG;AAC7B,aAAO,KAAK,OAAM,QAAO,SAAS;AAAA,IACpC,WAAU,UAAU,GAAE,iBAAiB,GAAG;AACxC,aAAO,KAAK,OAAM,QAAO,UAAU;AAAA,IACrC,WAAU,OAAO,MAAM,SAAQ,KAAK,GAAG;AAErC,UAAI,UAAU,GAAE,QAAQ,MAClB,UAAU,KAAK,EAAE,SAAS,OAC1B,UAAU,OAAM,CAAC,EAAE,SAAS,WAAY;AAC5C,eAAO,KAAK,OAAM,QAAO,SAAS;AAAA,MACpC,WAAU,UAAU,GAAE,UAAU,GAAG;AACjC,eAAO,KAAK,OAAM,QAAO,OAAO;AAAA,MAClC,OAAK;AACH,eAAO,KAAK,OAAM,QAAO,UAAU;AAAA,MACrC;AAAA,IACF,WAAU,UAAU,MAAM,KAAK,KAAK;AAClC,UAAI,KAAK,UAAU;AACjB,eAAO,KAAK,OAAM,QAAO,SAAS;AAAA,MACpC,OAAO;AACL,eAAO,KAAK,OAAM,QAAO,UAAU;AAAA,MACrC;AAAA,IACF,WAAU,UAAU,GAAE,CAAC,QAAO,OAAO,CAAC,GAAG;AACvC,aAAO,KAAK,OAAM,QAAO,SAAS;AAAA,IACpC,OAAK;AACH,aAAO,KAAK,OAAM,QAAO,MAAM;AAAA,IACjC;AAAA,EACF;AAGA,MAAI,UAAe;AACnB,MAAI,UAAe;AACnB,MAAI,QAAQ,KAAK,EAAE,GAAG;AACpB,WAAO,SAAS,OAAO;AACvB,QAAI,OAAO,IAAI,GAAG,GAAG;AACnB,UAAI,CAAC,OAAO,SAAS,OAAO,GAAG;AAC7B,eAAO,OAAO,CAAC;AAAA,MACjB;AAAA,IACF,WAAW,OAAO,IAAI,GAAG,GAAG;AAC1B,UAAI,CAAC,OAAO,SAAS,OAAO,GAAG;AAC7B,eAAO,OAAO,CAAC;AAAA,MACjB,OAAO;AACL,YAAI,OAAO,IAAI,MAAM,GAAG;AACtB,cAAI,OAAO,IAAI,MAAM,GAAG;AACtB,gBAAI,CAAC,OAAO,SAAS,OAAO,GAAG;AAC7B,qBAAO,OAAO,CAAC;AAAA,YACjB;AAAA,UACF,OAAO;AACL,gBAAI,CAAC,OAAO,SAAS,OAAO,GAAG;AAC7B,qBAAO,OAAO,CAAC;AAAA,YACjB;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO,KAAK,OAAM,QAAO,QAAQ;AAAA,EACnC;AAGA,MAAI,UAAU,QAAO,aAAY,cAAc,GAAG;AAChD,WAAO,KAAK,OAAM,QAAO,YAAY;AAAA,EACvC;AAGA,MAAI,UAAU,QAAO,cAAa,eAAe,GAAG;AAClD,WAAO,KAAK,OAAM,QAAO,aAAa;AAAA,EACxC;AAGA,MAAI,OAAO,QAAO,aAAY,cAAc,GAAG;AAC7C,WAAO,KAAK,OAAM,QAAO,WAAW;AAAA,EACtC;AAGA,MAAI,OAAO,QAAO,kBAAiB,mBAAmB,GAAG;AACvD,WAAO,KAAK,OAAM,QAAO,UAAU;AAAA,EACrC;AAEA,SAAO,KAAK,OAAM,QAAO,IAAI;AAC/B;AAIA,SAAS,UAAU,QAAO,IAAG,OAAO;AAClC,MAAI,OAAO,QAAO,EAAG,UAAU,KAAK,GAAG,KAAK,OAAO,QAAO,CAAE,GAAG;AAC7D,WAAO,OAAO,CAAC;AACf,WAAO,GAAG,KAAK,OAAO,KAAI,CAAE,GAAG;AAC7B,aAAO,KAAI;AACX,UAAI,UAAU,OAAO,QAAO,GAAG,KAAK,GAAG;AACrC,eAAO;AAAA,MACT;AAAA,IACF;AACA,WAAO,OAAO,OAAO,QAAO,EAAG,SAAO,CAAC;AAAA,EACzC;AACA,SAAO;AACT;AAEA,SAAS,OAAO,QAAO,IAAG,OAAO;AAC/B,MAAI,OAAO,QAAO,EAAG,UAAU,KAAK,GAAG,KAAK,OAAO,QAAO,CAAE,GAAG;AAC7D,WAAO,GAAG,KAAK,OAAO,KAAI,CAAE,GAAG;AAC7B,aAAO,KAAI;AAAA,IACb;AACA,WAAO,IAAI,OAAO,QAAO,EAAG,QAAQ;AAClC,UAAI,UAAU,OAAO,QAAO,GAAG,KAAK,GAAG;AACrC,eAAO;AAAA,MACT,OAAK;AACH,eAAO,OAAO,CAAC;AAAA,MACjB;AAAA,IACF;AACA,WAAO,KAAI;AAAA,EACb;AACA,SAAO;AACT;AAEA,SAAS,YAAY,QAAQ;AAC3B,SAAO,MAAM,QAAQ,KAAK,IAAI;AAChC;AAEA,SAAS,YAAY,QAAQ;AAC3B,SAAO,MAAM,QAAO,KAAK,IAAI;AAC/B;AAEA,SAAS,MAAM,QAAO,WAAU,YAAY;AAC1C,SAAO,CAAC,OAAO,OAAO;AACpB,QAAI,KAAK,OAAO,KAAI;AACpB,QAAI,MAAM,WAAW;AACnB,aAAO;AAAA,IACT,WAAU,MAAM,YAAY;AAC1B,aAAO,KAAI;AAAA,IACb;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,UAAU,QAAQ;AACzB,MAAI,IAAI,OAAO,MAAM,gBAAgB,KAAK;AAC1C,SAAO,IAAI,EAAE,CAAC,IAAI;AACpB;AAEA,SAAS,UAAU,SAAQ,MAAM;AAC/B,SAAQ,KAAK,KAAK,QAAQ,OAAO;AACnC;AAEA,SAAS,KAAK,OAAM,QAAO,MAAM;AAG/B,YAAU,OAAM,UAAU,MAAK,MAAM,CAAC;AAItC,UAAQ,MAAI;AAAA,IACZ,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B,KAAK;AAAe,aAAO;AAAA,IAC3B;AAAoB,aAAO;AAAA,EAC7B;AACA;AAEA,SAAS,OAAO,KAAI,KAAI,KAAI,KAAK;AAC/B,SAAO;AAAA,IAAC,OAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,MAAQ;AAAA,EAAG;AACrB;AAEA,SAAS,UAAU,MAAK,QAAQ;AAC9B,SAAO;AAAA,IAAO,OAAO,QAAO;AAAA,IACd,OAAO,OAAM;AAAA,IACb,OAAO,YAAW;AAAA,IAClB;AAAA,EAAI;AACpB;AAEA,SAAS,UAAU,MAAM;AACvB,SAAO,OAAO,MAAK,GAAE,GAAE,IAAI;AAC7B;AAEA,SAAS,UAAU,OAAM,OAAO;AAC9B,MAAI,MAAM,MAAM,WAAW;AAC3B,MAAI,MAAO,QAAQ,QAAQ;AAE3B,MAAI,MAAM,KAAK;AACb,WAAO;AAAA,EACT,OAAK;AACH,WAAO,MAAM,WAAW,MAAI,GAAG;AAAA,EACjC;AACF;AAEA,SAAS,UAAU,OAAM,OAAO;AAE9B,MAAI,EAAE,MAAM,QAAQ,aAAa,MAAM,QAAQ,eAAe;AAC5D,UAAM,aAAa,eAAe,MAAM,YAAW,KAAK;AACxD,UAAM,aAAa,gBAAgB,MAAM,UAAU;AAAA,EACrD;AACF;AAEA,SAAS,eAAe,GAAE,OAAO;AAC/B,MAAI,OAAO,EAAE,SAAO;AAEpB,MAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,YAAY,MAAM,SAAS,OAAO;AACjE,MAAE,IAAG;AAAA,EACP,WAAU,IAAI,QAAQ,EAAE,IAAI,EAAE,SAAS,SAAS;AAC9C,MAAE,IAAG;AACL,MAAE,KAAK,KAAK;AAAA,EACd,OAAK;AACH,MAAE,KAAK,KAAK;AAAA,EACd;AACA,SAAO;AACT;AAEA,SAAS,gBAAgB,GAAG;AAC1B,MAAI,CAAC,EAAE,OAAQ,QAAO;AACtB,MAAI,OAAO,EAAE,SAAO;AAEpB,MAAI,EAAE,IAAI,EAAE,SAAS,OAAO;AAC1B,WAAO,CAAA;AAAA,EACT;AACA,MAAI,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,SAAS,EAAE,OAAK,CAAC,EAAE,UAAU,OAAO;AACnE,WAAO,EAAE,MAAM,GAAE,OAAK,CAAC;AAAA,EACzB;AACA,UAAQ,EAAE,IAAI,EAAE,OAAK;AAAA,IACrB,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,GAAG,EAAC,CAAC;AAAA,IACjC,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,GAAG,EAAC,CAAC;AAAA,IACjC,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,GAAG,EAAC,CAAC;AAAA,IACjC,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,IAAI,EAAC,CAAC;AAAA,IAClC,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,SAAQ,QAAO,OAAM,MAAK,WAAU,KAAK,EAAC,CAAC;AAAA,IACvE,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE;AAAA,QAAC;AAAA,QAAQ;AAAA,QAAM;AAAA,QAAO;AAAA,QACrB;AAAA,QAAI;AAAA,QAAI;AAAA,QAAI;AAAA,QAAI;AAAA,MAAI,EAAC,CAAC;AAAA,IAClD,KAAK;AAAQ,aAAO,EAAE,GAAE;AAAA,QAAC,GAAE,CAAC,MAAM;AAAA,QACT,GAAE,CAAC,OAAM,MAAK,QAAO,SAAS;AAAA,MAAC,CAAC;AAAA,IACzD,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,QAAO,OAAM,MAAK,WAAU,OAAM,MAAM,EAAC,CAAC;AAAA,IACtE,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,KAAK,EAAC,CAAC;AAAA,IACnC,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,MAAM,EAAC,CAAC;AAAA,IACpC,KAAK;AAAQ,aAAO,EAAE,GAAE,EAAC,GAAE,CAAC,WAAU,KAAK,EAAC,CAAC;AAAA,IAC7C;AAAa,aAAO;AAAA,EACtB;AACA;AAEA,SAAS,EAAE,OAAM,IAAI;AAiBnB,WAAS,QAAQ,IAAI;AACnB,QAAI,MAAM,MAAM,SAAO;AACvB,QAAI,SAAS,GAAG,IAAI;AACpB,aAAS,IAAI,MAAI,GAAG,KAAK,GAAI,KAAK;AAChC,UAAI,UAAU,MAAM,CAAC,EAAE,OAAM,MAAM,GAAG;AACpC,YAAI,KAAK,MAAM,MAAM,GAAE,CAAC;AACxB,gBAAQ,MAAI;AAAA,UACZ,KAAK;AAAK,mBAAO,GAAG,OAAO,MAAM,CAAC,CAAC,EAAE,OAAO,MAAM,GAAG,CAAC;AAAA,UACtD,KAAK;AAAK,mBAAO,GAAG,OAAO,MAAM,GAAG,CAAC;AAAA,UACrC,KAAK;AAAK,mBAAO;AAAA,UACjB,KAAK;AAAK,mBAAO,GAAG,OAAO,UAAU,OAAO,CAAC;AAAA,UAC7C,KAAK;AAAK,mBAAO,GAAG,OAAO,MAAM,CAAC,CAAC;AAAA,UACnC,KAAK;AAAK,mBAAO,GAAG,OAAO,MAAM,CAAC,CAAC;AAAA,QAC3C;AAAA,MACM;AAAA,IACF;AAAA,EACF;AACA,SAAQ,QAAQ,MAAM,CAAA,IAAK;AAC7B;AAKA,SAAS,SAAS,OAAO,WAAW,IAAI;AACtC,MAAI;AACJ,MAAI,YAAY,UAAU,SAAS;AACnC,MAAI,QAAQ,UAAU,OAAM,CAAC;AAC7B,MAAI,QAAQ,UAAU,OAAM,CAAC;AAE7B,MAAI,MAAM,aAAa,MAAM,SAAS;AACpC,WAAO;AAAA,EACT,WAAU,CAAC,OAAO;AAChB,WAAO;AAAA,EACT,WAAU,MAAM,SAAS,QAAQ;AAC/B,WAAO,MAAM,SAAS,GAAG;AAAA,EAC3B,WAAU,cAAc,UAAU,MAAM,SAAS,YAAY;AAC3D,WAAO,MAAM,SAAO,GAAG;AAAA,EACzB,WAAU,cAAc,OAAO,MAAM,UAAU,OAAO;AACpD,WAAQ,MAAM,SAAO;AAAA,EACvB,WAAU,cAAc,YAAY,IAAI,SAAS,OAAM,CAAC,KAAK,CAAC,IAAI;AAChE,WAAO,EAAE;AAAA,EACX,WAAU,UAAU,WAAU,CAAC,OAAM,SAAQ,IAAI,CAAC,GAAG;AACnD,QAAI,SAAS,OAAM,CAAC,SAAQ,QAAO,OAAM,MAAK,WAAU,KAAK,CAAC;AAC9D,WAAO,IAAI,EAAE,SAAS;AAAA,EACxB,WAAU,UAAU,WAAU,eAAe,GAAG;AAC9C,QAAI,SAAS,OAAM,cAAc;AACjC,WAAO,IAAI,EAAE,SAAS;AAAA,EACxB,WAAU,UAAU,MAAM,OAAM,CAAC,KAAI,KAAI,IAAI,CAAC,KACpC,UAAU,WAAU,CAAC,KAAI,KAAI,IAAI,CAAC,GAAG;AAC7C,QAAI,eAAe,KAAK;AACxB,WAAO,IAAI,EAAE,SAAO,EAAE,MAAM,SAAS,GAAG;AAAA,EAC1C,WAAU,MAAM,SAAS,MAAM;AAC7B,QAAI,UAAU,MAAM,OAAO,CAAC,WAAU,QAAO,MAAK,KAAK,CAAC,GAAG;AACzD,aAAO,MAAM,SAAO,GAAG,OAAK,GAAG;AAAA,IACjC,OAAK;AACH,aAAO,MAAM,SAAO,GAAG;AAAA,IACzB;AAAA,EACF,WAAU,UAAU,MAAM,OAAM,cAAc,GAAG;AAC/C,WAAO,MAAM,SAAO,MAAM,MAAM;AAAA,EAClC,OAAK;AACH,QAAI,aAAa,KAAK;AACtB,WAAO,OAAO,CAAC,IAAI,EAAE,SAAO,GAAG,OAAO;AAAA,EACxC;AACF;AAEA,SAAS,UAAU,KAAK;AACtB,MAAI,IAAI,IAAI,MAAM,6BAA6B;AAE/C,SAAO,OAAO,CAAC,KAAM,EAAE,UAAU,IAAK,EAAE,CAAC,IAAI;AAC/C;AAEA,SAAS,eAAe,OAAO;AAC7B,MAAI,OAAO,MAAM,WAAW,MAAM,GAAE,EAAE;AACtC,MAAI,IAAI,cAAc,MAAK,QAAO,CAAC,YAAY,CAAC;AAEhD,SAAO,OAAO,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI;AACrC;AAEA,SAAS,aAAa,OAAO;AAC3B,MAAI,OAAO,MAAM;AACjB,MAAI,OAAO,cAAc,MAAK,QAAO,CAAC,cAAa,aAAY,SAAS,CAAC;AACzE,MAAI,OAAO,cAAc,MAAK,QAAO,CAAC,UAAU,CAAC;AAEjD,MAAI,OAAO,IAAI,KAAK,OAAO,IAAI,KAAK,OAAO,MAAM;AAC/C,WAAO,KAAK,OAAK,CAAC;AAAA,EACpB,WAAW,OAAO,IAAI,GAAG;AACvB,WAAO,KAAK,IAAI;AAAA,EAClB,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,SAAS,SAAS,OAAM,QAAQ;AAC9B,MAAI,OAAO,MAAM;AACjB,MAAI,IAAI,cAAc,MAAK,SAAQ,MAAM;AAEzC,SAAO,OAAO,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI;AACrC;AAEA,SAAS,cAAc,MAAK,UAAS,UAAU;AAE7C,WAAS,IAAI,KAAK,SAAO,GAAG,KAAK,GAAI,KAAK;AACxC,QAAI,UAAU,KAAK,CAAC,EAAE,QAAQ,GAAE,QAAQ,GAAG;AACzC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,OAAO,GAAG;AACjB,SAAQ,MAAM,SAAW,KAAK;AAChC;AAKY,MAAC,SAAS;AAAA,EACpB,MAAM;AAAA,EACN,aAAa;AACX,WAAO;AAAA,MAAC,YAAY,CAAA;AAAA,MACZ,WAAY;AAAA,MACZ,SAAY;AAAA,IAAK;AAAA,EAC3B;AAAA,EAEA,OAAO;AAAA,EAEP,QAAQ;AAAA,EAER,cAAc;AAAA,IACZ,eAAe,EAAC,MAAM,IAAG;AAAA,EAC7B;AACA;","x_google_ignoreList":[0]}
@@ -1,66 +0,0 @@
1
- import { s as simpleMode } from "./simple-mode-DMneyfDu.js";
2
- const factor = simpleMode({
3
- start: [
4
- // comments
5
- { regex: /#?!.*/, token: "comment" },
6
- // strings """, multiline --> state
7
- { regex: /"""/, token: "string", next: "string3" },
8
- { regex: /(STRING:)(\s)/, token: ["keyword", null], next: "string2" },
9
- { regex: /\S*?"/, token: "string", next: "string" },
10
- // numbers: dec, hex, unicode, bin, fractional, complex
11
- { regex: /(?:0x[\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\-?\d+.?\d*)(?=\s)/, token: "number" },
12
- //{regex: /[+-]?/} //fractional
13
- // definition: defining word, defined word, etc
14
- { regex: /((?:GENERIC)|\:?\:)(\s+)(\S+)(\s+)(\()/, token: ["keyword", null, "def", null, "bracket"], next: "stack" },
15
- // method definition: defining word, type, defined word, etc
16
- { regex: /(M\:)(\s+)(\S+)(\s+)(\S+)/, token: ["keyword", null, "def", null, "tag"] },
17
- // vocabulary using --> state
18
- { regex: /USING\:/, token: "keyword", next: "vocabulary" },
19
- // vocabulary definition/use
20
- { regex: /(USE\:|IN\:)(\s+)(\S+)(?=\s|$)/, token: ["keyword", null, "tag"] },
21
- // definition: a defining word, defined word
22
- { regex: /(\S+\:)(\s+)(\S+)(?=\s|$)/, token: ["keyword", null, "def"] },
23
- // "keywords", incl. ; t f . [ ] { } defining words
24
- { regex: /(?:;|\\|t|f|if|loop|while|until|do|PRIVATE>|<PRIVATE|\.|\S*\[|\]|\S*\{|\})(?=\s|$)/, token: "keyword" },
25
- // <constructors> and the like
26
- { regex: /\S+[\)>\.\*\?]+(?=\s|$)/, token: "builtin" },
27
- { regex: /[\)><]+\S+(?=\s|$)/, token: "builtin" },
28
- // operators
29
- { regex: /(?:[\+\-\=\/\*<>])(?=\s|$)/, token: "keyword" },
30
- // any id (?)
31
- { regex: /\S+/, token: "variable" },
32
- { regex: /\s+|./, token: null }
33
- ],
34
- vocabulary: [
35
- { regex: /;/, token: "keyword", next: "start" },
36
- { regex: /\S+/, token: "tag" },
37
- { regex: /\s+|./, token: null }
38
- ],
39
- string: [
40
- { regex: /(?:[^\\]|\\.)*?"/, token: "string", next: "start" },
41
- { regex: /.*/, token: "string" }
42
- ],
43
- string2: [
44
- { regex: /^;/, token: "keyword", next: "start" },
45
- { regex: /.*/, token: "string" }
46
- ],
47
- string3: [
48
- { regex: /(?:[^\\]|\\.)*?"""/, token: "string", next: "start" },
49
- { regex: /.*/, token: "string" }
50
- ],
51
- stack: [
52
- { regex: /\)/, token: "bracket", next: "start" },
53
- { regex: /--/, token: "bracket" },
54
- { regex: /\S+/, token: "meta" },
55
- { regex: /\s+|./, token: null }
56
- ],
57
- languageData: {
58
- name: "factor",
59
- dontIndentStates: ["start", "vocabulary", "string", "string3", "stack"],
60
- commentTokens: { line: "!" }
61
- }
62
- });
63
- export {
64
- factor
65
- };
66
- //# sourceMappingURL=factor-CMxFHDqz.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factor-CMxFHDqz.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/factor.js"],"sourcesContent":["import {simpleMode} from \"./simple-mode.js\"\n\nexport const factor = simpleMode({\n start: [\n // comments\n {regex: /#?!.*/, token: \"comment\"},\n // strings \"\"\", multiline --> state\n {regex: /\"\"\"/, token: \"string\", next: \"string3\"},\n {regex: /(STRING:)(\\s)/, token: [\"keyword\", null], next: \"string2\"},\n {regex: /\\S*?\"/, token: \"string\", next: \"string\"},\n // numbers: dec, hex, unicode, bin, fractional, complex\n {regex: /(?:0x[\\d,a-f]+)|(?:0o[0-7]+)|(?:0b[0,1]+)|(?:\\-?\\d+.?\\d*)(?=\\s)/, token: \"number\"},\n //{regex: /[+-]?/} //fractional\n // definition: defining word, defined word, etc\n {regex: /((?:GENERIC)|\\:?\\:)(\\s+)(\\S+)(\\s+)(\\()/, token: [\"keyword\", null, \"def\", null, \"bracket\"], next: \"stack\"},\n // method definition: defining word, type, defined word, etc\n {regex: /(M\\:)(\\s+)(\\S+)(\\s+)(\\S+)/, token: [\"keyword\", null, \"def\", null, \"tag\"]},\n // vocabulary using --> state\n {regex: /USING\\:/, token: \"keyword\", next: \"vocabulary\"},\n // vocabulary definition/use\n {regex: /(USE\\:|IN\\:)(\\s+)(\\S+)(?=\\s|$)/, token: [\"keyword\", null, \"tag\"]},\n // definition: a defining word, defined word\n {regex: /(\\S+\\:)(\\s+)(\\S+)(?=\\s|$)/, token: [\"keyword\", null, \"def\"]},\n // \"keywords\", incl. ; t f . [ ] { } defining words\n {regex: /(?:;|\\\\|t|f|if|loop|while|until|do|PRIVATE>|<PRIVATE|\\.|\\S*\\[|\\]|\\S*\\{|\\})(?=\\s|$)/, token: \"keyword\"},\n // <constructors> and the like\n {regex: /\\S+[\\)>\\.\\*\\?]+(?=\\s|$)/, token: \"builtin\"},\n {regex: /[\\)><]+\\S+(?=\\s|$)/, token: \"builtin\"},\n // operators\n {regex: /(?:[\\+\\-\\=\\/\\*<>])(?=\\s|$)/, token: \"keyword\"},\n // any id (?)\n {regex: /\\S+/, token: \"variable\"},\n {regex: /\\s+|./, token: null}\n ],\n vocabulary: [\n {regex: /;/, token: \"keyword\", next: \"start\"},\n {regex: /\\S+/, token: \"tag\"},\n {regex: /\\s+|./, token: null}\n ],\n string: [\n {regex: /(?:[^\\\\]|\\\\.)*?\"/, token: \"string\", next: \"start\"},\n {regex: /.*/, token: \"string\"}\n ],\n string2: [\n {regex: /^;/, token: \"keyword\", next: \"start\"},\n {regex: /.*/, token: \"string\"}\n ],\n string3: [\n {regex: /(?:[^\\\\]|\\\\.)*?\"\"\"/, token: \"string\", next: \"start\"},\n {regex: /.*/, token: \"string\"}\n ],\n stack: [\n {regex: /\\)/, token: \"bracket\", next: \"start\"},\n {regex: /--/, token: \"bracket\"},\n {regex: /\\S+/, token: \"meta\"},\n {regex: /\\s+|./, token: null}\n ],\n languageData: {\n name: \"factor\",\n dontIndentStates: [\"start\", \"vocabulary\", \"string\", \"string3\", \"stack\"],\n commentTokens: {line: \"!\"}\n }\n });\n"],"names":[],"mappings":";AAEY,MAAC,SAAS,WAAW;AAAA,EAC7B,OAAO;AAAA;AAAA,IAEL,EAAC,OAAO,SAAS,OAAO,UAAS;AAAA;AAAA,IAEjC,EAAC,OAAO,OAAO,OAAO,UAAU,MAAM,UAAS;AAAA,IAC/C,EAAC,OAAO,iBAAiB,OAAO,CAAC,WAAW,IAAI,GAAG,MAAM,UAAS;AAAA,IAClE,EAAC,OAAO,SAAS,OAAO,UAAU,MAAM,SAAQ;AAAA;AAAA,IAEhD,EAAC,OAAO,mEAAmE,OAAO,SAAQ;AAAA;AAAA;AAAA,IAG1F,EAAC,OAAO,0CAA0C,OAAO,CAAC,WAAW,MAAM,OAAO,MAAM,SAAS,GAAG,MAAM,QAAO;AAAA;AAAA,IAEjH,EAAC,OAAO,6BAA6B,OAAO,CAAC,WAAW,MAAM,OAAO,MAAM,KAAK,EAAC;AAAA;AAAA,IAEjF,EAAC,OAAO,WAAW,OAAO,WAAW,MAAM,aAAY;AAAA;AAAA,IAEvD,EAAC,OAAO,kCAAkC,OAAO,CAAC,WAAW,MAAM,KAAK,EAAC;AAAA;AAAA,IAEzE,EAAC,OAAO,6BAA6B,OAAO,CAAC,WAAW,MAAM,KAAK,EAAC;AAAA;AAAA,IAEpE,EAAC,OAAO,sFAAsF,OAAO,UAAS;AAAA;AAAA,IAE9G,EAAC,OAAO,2BAA2B,OAAO,UAAS;AAAA,IACnD,EAAC,OAAO,sBAAsB,OAAO,UAAS;AAAA;AAAA,IAE9C,EAAC,OAAO,8BAA8B,OAAO,UAAS;AAAA;AAAA,IAEtD,EAAC,OAAO,OAAO,OAAO,WAAU;AAAA,IAChC,EAAC,OAAO,SAAS,OAAO,KAAI;AAAA,EAClC;AAAA,EACI,YAAY;AAAA,IACV,EAAC,OAAO,KAAK,OAAO,WAAW,MAAM,QAAO;AAAA,IAC5C,EAAC,OAAO,OAAO,OAAO,MAAK;AAAA,IAC3B,EAAC,OAAO,SAAS,OAAO,KAAI;AAAA,EAClC;AAAA,EACI,QAAQ;AAAA,IACN,EAAC,OAAO,oBAAoB,OAAO,UAAU,MAAM,QAAO;AAAA,IAC1D,EAAC,OAAO,MAAM,OAAO,SAAQ;AAAA,EACnC;AAAA,EACI,SAAS;AAAA,IACP,EAAC,OAAO,MAAM,OAAO,WAAW,MAAM,QAAO;AAAA,IAC7C,EAAC,OAAO,MAAM,OAAO,SAAQ;AAAA,EACnC;AAAA,EACI,SAAS;AAAA,IACP,EAAC,OAAO,sBAAsB,OAAO,UAAU,MAAM,QAAO;AAAA,IAC5D,EAAC,OAAO,MAAM,OAAO,SAAQ;AAAA,EACnC;AAAA,EACI,OAAO;AAAA,IACL,EAAC,OAAO,MAAM,OAAO,WAAW,MAAM,QAAO;AAAA,IAC7C,EAAC,OAAO,MAAM,OAAO,UAAS;AAAA,IAC9B,EAAC,OAAO,OAAO,OAAO,OAAM;AAAA,IAC5B,EAAC,OAAO,SAAS,OAAO,KAAI;AAAA,EAClC;AAAA,EACI,cAAc;AAAA,IACZ,MAAM;AAAA,IACN,kBAAkB,CAAC,SAAS,cAAc,UAAU,WAAW,OAAO;AAAA,IACtE,eAAe,EAAC,MAAM,IAAG;AAAA,EAC/B;AACA,CAAG;","x_google_ignoreList":[0]}
@@ -1,142 +0,0 @@
1
- var keywords = {
2
- "term": true,
3
- "method": true,
4
- "accu": true,
5
- "rule": true,
6
- "then": true,
7
- "is": true,
8
- "and": true,
9
- "or": true,
10
- "if": true,
11
- "default": true
12
- };
13
- var start_blocks = {
14
- "var_input": true,
15
- "var_output": true,
16
- "fuzzify": true,
17
- "defuzzify": true,
18
- "function_block": true,
19
- "ruleblock": true
20
- };
21
- var end_blocks = {
22
- "end_ruleblock": true,
23
- "end_defuzzify": true,
24
- "end_function_block": true,
25
- "end_fuzzify": true,
26
- "end_var": true
27
- };
28
- var atoms = {
29
- "true": true,
30
- "false": true,
31
- "nan": true,
32
- "real": true,
33
- "min": true,
34
- "max": true,
35
- "cog": true,
36
- "cogs": true
37
- };
38
- var isOperatorChar = /[+\-*&^%:=<>!|\/]/;
39
- function tokenBase(stream, state) {
40
- var ch = stream.next();
41
- if (/[\d\.]/.test(ch)) {
42
- if (ch == ".") {
43
- stream.match(/^[0-9]+([eE][\-+]?[0-9]+)?/);
44
- } else if (ch == "0") {
45
- stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/);
46
- } else {
47
- stream.match(/^[0-9]*\.?[0-9]*([eE][\-+]?[0-9]+)?/);
48
- }
49
- return "number";
50
- }
51
- if (ch == "/" || ch == "(") {
52
- if (stream.eat("*")) {
53
- state.tokenize = tokenComment;
54
- return tokenComment(stream, state);
55
- }
56
- if (stream.eat("/")) {
57
- stream.skipToEnd();
58
- return "comment";
59
- }
60
- }
61
- if (isOperatorChar.test(ch)) {
62
- stream.eatWhile(isOperatorChar);
63
- return "operator";
64
- }
65
- stream.eatWhile(/[\w\$_\xa1-\uffff]/);
66
- var cur = stream.current().toLowerCase();
67
- if (keywords.propertyIsEnumerable(cur) || start_blocks.propertyIsEnumerable(cur) || end_blocks.propertyIsEnumerable(cur)) {
68
- return "keyword";
69
- }
70
- if (atoms.propertyIsEnumerable(cur)) return "atom";
71
- return "variable";
72
- }
73
- function tokenComment(stream, state) {
74
- var maybeEnd = false, ch;
75
- while (ch = stream.next()) {
76
- if ((ch == "/" || ch == ")") && maybeEnd) {
77
- state.tokenize = tokenBase;
78
- break;
79
- }
80
- maybeEnd = ch == "*";
81
- }
82
- return "comment";
83
- }
84
- function Context(indented, column, type, align, prev) {
85
- this.indented = indented;
86
- this.column = column;
87
- this.type = type;
88
- this.align = align;
89
- this.prev = prev;
90
- }
91
- function pushContext(state, col, type) {
92
- return state.context = new Context(state.indented, col, type, null, state.context);
93
- }
94
- function popContext(state) {
95
- if (!state.context.prev) return;
96
- var t = state.context.type;
97
- if (t == "end_block")
98
- state.indented = state.context.indented;
99
- return state.context = state.context.prev;
100
- }
101
- const fcl = {
102
- name: "fcl",
103
- startState: function(indentUnit) {
104
- return {
105
- tokenize: null,
106
- context: new Context(-indentUnit, 0, "top", false),
107
- indented: 0,
108
- startOfLine: true
109
- };
110
- },
111
- token: function(stream, state) {
112
- var ctx = state.context;
113
- if (stream.sol()) {
114
- if (ctx.align == null) ctx.align = false;
115
- state.indented = stream.indentation();
116
- state.startOfLine = true;
117
- }
118
- if (stream.eatSpace()) return null;
119
- var style = (state.tokenize || tokenBase)(stream, state);
120
- if (style == "comment") return style;
121
- if (ctx.align == null) ctx.align = true;
122
- var cur = stream.current().toLowerCase();
123
- if (start_blocks.propertyIsEnumerable(cur)) pushContext(state, stream.column(), "end_block");
124
- else if (end_blocks.propertyIsEnumerable(cur)) popContext(state);
125
- state.startOfLine = false;
126
- return style;
127
- },
128
- indent: function(state, textAfter, cx) {
129
- if (state.tokenize != tokenBase && state.tokenize != null) return 0;
130
- var ctx = state.context;
131
- var closing = end_blocks.propertyIsEnumerable(textAfter);
132
- if (ctx.align) return ctx.column + (closing ? 0 : 1);
133
- else return ctx.indented + (closing ? 0 : cx.unit);
134
- },
135
- languageData: {
136
- commentTokens: { line: "//", block: { open: "(*", close: "*)" } }
137
- }
138
- };
139
- export {
140
- fcl
141
- };
142
- //# sourceMappingURL=fcl-CDDUNjTj.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fcl-CDDUNjTj.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/fcl.js"],"sourcesContent":["var keywords = {\n \"term\": true,\n \"method\": true, \"accu\": true,\n \"rule\": true, \"then\": true, \"is\": true, \"and\": true, \"or\": true,\n \"if\": true, \"default\": true\n};\n\nvar start_blocks = {\n \"var_input\": true,\n \"var_output\": true,\n \"fuzzify\": true,\n \"defuzzify\": true,\n \"function_block\": true,\n \"ruleblock\": true\n};\n\nvar end_blocks = {\n \"end_ruleblock\": true,\n \"end_defuzzify\": true,\n \"end_function_block\": true,\n \"end_fuzzify\": true,\n \"end_var\": true\n};\n\nvar atoms = {\n \"true\": true, \"false\": true, \"nan\": true,\n \"real\": true, \"min\": true, \"max\": true, \"cog\": true, \"cogs\": true\n};\n\nvar isOperatorChar = /[+\\-*&^%:=<>!|\\/]/;\n\nfunction tokenBase(stream, state) {\n var ch = stream.next();\n\n if (/[\\d\\.]/.test(ch)) {\n if (ch == \".\") {\n stream.match(/^[0-9]+([eE][\\-+]?[0-9]+)?/);\n } else if (ch == \"0\") {\n stream.match(/^[xX][0-9a-fA-F]+/) || stream.match(/^0[0-7]+/);\n } else {\n stream.match(/^[0-9]*\\.?[0-9]*([eE][\\-+]?[0-9]+)?/);\n }\n return \"number\";\n }\n\n if (ch == \"/\" || ch == \"(\") {\n if (stream.eat(\"*\")) {\n state.tokenize = tokenComment;\n return tokenComment(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n }\n if (isOperatorChar.test(ch)) {\n stream.eatWhile(isOperatorChar);\n return \"operator\";\n }\n stream.eatWhile(/[\\w\\$_\\xa1-\\uffff]/);\n\n var cur = stream.current().toLowerCase();\n if (keywords.propertyIsEnumerable(cur) ||\n start_blocks.propertyIsEnumerable(cur) ||\n end_blocks.propertyIsEnumerable(cur)) {\n return \"keyword\";\n }\n if (atoms.propertyIsEnumerable(cur)) return \"atom\";\n return \"variable\";\n}\n\n\nfunction tokenComment(stream, state) {\n var maybeEnd = false, ch;\n while (ch = stream.next()) {\n if ((ch == \"/\" || ch == \")\") && maybeEnd) {\n state.tokenize = tokenBase;\n break;\n }\n maybeEnd = (ch == \"*\");\n }\n return \"comment\";\n}\n\nfunction Context(indented, column, type, align, prev) {\n this.indented = indented;\n this.column = column;\n this.type = type;\n this.align = align;\n this.prev = prev;\n}\n\nfunction pushContext(state, col, type) {\n return state.context = new Context(state.indented, col, type, null, state.context);\n}\n\nfunction popContext(state) {\n if (!state.context.prev) return;\n var t = state.context.type;\n if (t == \"end_block\")\n state.indented = state.context.indented;\n return state.context = state.context.prev;\n}\n\n// Interface\n\nexport const fcl = {\n name: \"fcl\",\n startState: function(indentUnit) {\n return {\n tokenize: null,\n context: new Context(-indentUnit, 0, \"top\", false),\n indented: 0,\n startOfLine: true\n };\n },\n\n token: function(stream, state) {\n var ctx = state.context;\n if (stream.sol()) {\n if (ctx.align == null) ctx.align = false;\n state.indented = stream.indentation();\n state.startOfLine = true;\n }\n if (stream.eatSpace()) return null;\n\n var style = (state.tokenize || tokenBase)(stream, state);\n if (style == \"comment\") return style;\n if (ctx.align == null) ctx.align = true;\n\n var cur = stream.current().toLowerCase();\n\n if (start_blocks.propertyIsEnumerable(cur)) pushContext(state, stream.column(), \"end_block\");\n else if (end_blocks.propertyIsEnumerable(cur)) popContext(state);\n\n state.startOfLine = false;\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n if (state.tokenize != tokenBase && state.tokenize != null) return 0;\n var ctx = state.context;\n\n var closing = end_blocks.propertyIsEnumerable(textAfter);\n if (ctx.align) return ctx.column + (closing ? 0 : 1);\n else return ctx.indented + (closing ? 0 : cx.unit);\n },\n\n languageData: {\n commentTokens: {line: \"//\", block: {open: \"(*\", close: \"*)\"}}\n }\n};\n\n"],"names":[],"mappings":"AAAA,IAAI,WAAW;AAAA,EACb,QAAQ;AAAA,EACR,UAAU;AAAA,EAAM,QAAQ;AAAA,EACxB,QAAQ;AAAA,EAAM,QAAQ;AAAA,EAAM,MAAM;AAAA,EAAM,OAAO;AAAA,EAAM,MAAM;AAAA,EAC3D,MAAM;AAAA,EAAM,WAAW;AACzB;AAEA,IAAI,eAAe;AAAA,EACjB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,WAAW;AAAA,EACX,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,aAAa;AACf;AAEA,IAAI,aAAa;AAAA,EACf,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,eAAe;AAAA,EACf,WAAW;AACb;AAEA,IAAI,QAAQ;AAAA,EACV,QAAQ;AAAA,EAAM,SAAS;AAAA,EAAM,OAAO;AAAA,EACpC,QAAQ;AAAA,EAAM,OAAO;AAAA,EAAM,OAAO;AAAA,EAAM,OAAO;AAAA,EAAM,QAAQ;AAC/D;AAEA,IAAI,iBAAiB;AAErB,SAAS,UAAU,QAAQ,OAAO;AAChC,MAAI,KAAK,OAAO,KAAI;AAEpB,MAAI,SAAS,KAAK,EAAE,GAAG;AACrB,QAAI,MAAM,KAAK;AACb,aAAO,MAAM,4BAA4B;AAAA,IAC3C,WAAW,MAAM,KAAK;AACpB,aAAO,MAAM,mBAAmB,KAAK,OAAO,MAAM,UAAU;AAAA,IAC9D,OAAO;AACL,aAAO,MAAM,qCAAqC;AAAA,IACpD;AACA,WAAO;AAAA,EACT;AAEA,MAAI,MAAM,OAAO,MAAM,KAAK;AAC1B,QAAI,OAAO,IAAI,GAAG,GAAG;AACnB,YAAM,WAAW;AACjB,aAAO,aAAa,QAAQ,KAAK;AAAA,IACnC;AACA,QAAI,OAAO,IAAI,GAAG,GAAG;AACnB,aAAO,UAAS;AAChB,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,eAAe,KAAK,EAAE,GAAG;AAC3B,WAAO,SAAS,cAAc;AAC9B,WAAO;AAAA,EACT;AACA,SAAO,SAAS,oBAAoB;AAEpC,MAAI,MAAM,OAAO,QAAO,EAAG,YAAW;AACtC,MAAI,SAAS,qBAAqB,GAAG,KACjC,aAAa,qBAAqB,GAAG,KACrC,WAAW,qBAAqB,GAAG,GAAG;AACxC,WAAO;AAAA,EACT;AACA,MAAI,MAAM,qBAAqB,GAAG,EAAG,QAAO;AAC5C,SAAO;AACT;AAGA,SAAS,aAAa,QAAQ,OAAO;AACnC,MAAI,WAAW,OAAO;AACtB,SAAO,KAAK,OAAO,QAAQ;AACzB,SAAK,MAAM,OAAO,MAAM,QAAQ,UAAU;AACxC,YAAM,WAAW;AACjB;AAAA,IACF;AACA,eAAY,MAAM;AAAA,EACpB;AACA,SAAO;AACT;AAEA,SAAS,QAAQ,UAAU,QAAQ,MAAM,OAAO,MAAM;AACpD,OAAK,WAAW;AAChB,OAAK,SAAS;AACd,OAAK,OAAO;AACZ,OAAK,QAAQ;AACb,OAAK,OAAO;AACd;AAEA,SAAS,YAAY,OAAO,KAAK,MAAM;AACrC,SAAO,MAAM,UAAU,IAAI,QAAQ,MAAM,UAAU,KAAK,MAAM,MAAM,MAAM,OAAO;AACnF;AAEA,SAAS,WAAW,OAAO;AACzB,MAAI,CAAC,MAAM,QAAQ,KAAM;AACzB,MAAI,IAAI,MAAM,QAAQ;AACtB,MAAI,KAAK;AACP,UAAM,WAAW,MAAM,QAAQ;AACjC,SAAO,MAAM,UAAU,MAAM,QAAQ;AACvC;AAIY,MAAC,MAAM;AAAA,EACjB,MAAM;AAAA,EACN,YAAY,SAAS,YAAY;AAC/B,WAAO;AAAA,MACL,UAAU;AAAA,MACV,SAAS,IAAI,QAAQ,CAAC,YAAY,GAAG,OAAO,KAAK;AAAA,MACjD,UAAU;AAAA,MACV,aAAa;AAAA,IACnB;AAAA,EACE;AAAA,EAEA,OAAO,SAAS,QAAQ,OAAO;AAC7B,QAAI,MAAM,MAAM;AAChB,QAAI,OAAO,OAAO;AAChB,UAAI,IAAI,SAAS,KAAM,KAAI,QAAQ;AACnC,YAAM,WAAW,OAAO,YAAW;AACnC,YAAM,cAAc;AAAA,IACtB;AACA,QAAI,OAAO,SAAQ,EAAI,QAAO;AAE9B,QAAI,SAAS,MAAM,YAAY,WAAW,QAAQ,KAAK;AACvD,QAAI,SAAS,UAAW,QAAO;AAC/B,QAAI,IAAI,SAAS,KAAM,KAAI,QAAQ;AAEnC,QAAI,MAAM,OAAO,QAAO,EAAG,YAAW;AAEtC,QAAI,aAAa,qBAAqB,GAAG,EAAG,aAAY,OAAO,OAAO,OAAM,GAAI,WAAW;AAAA,aAClF,WAAW,qBAAqB,GAAG,EAAI,YAAW,KAAK;AAEhE,UAAM,cAAc;AACpB,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ,SAAS,OAAO,WAAW,IAAI;AACrC,QAAI,MAAM,YAAY,aAAa,MAAM,YAAY,KAAM,QAAO;AAClE,QAAI,MAAM,MAAM;AAEhB,QAAI,UAAU,WAAW,qBAAqB,SAAS;AACvD,QAAI,IAAI,MAAO,QAAO,IAAI,UAAU,UAAU,IAAI;AAAA,QAC7C,QAAO,IAAI,YAAY,UAAU,IAAI,GAAG;AAAA,EAC/C;AAAA,EAEA,cAAc;AAAA,IACZ,eAAe,EAAC,MAAM,MAAM,OAAO,EAAC,MAAM,MAAM,OAAO,KAAI,EAAC;AAAA,EAChE;AACA;","x_google_ignoreList":[0]}
@@ -1,117 +0,0 @@
1
- function toWordList(words) {
2
- var ret = [];
3
- words.split(" ").forEach(function(e) {
4
- ret.push({ name: e });
5
- });
6
- return ret;
7
- }
8
- var coreWordList = toWordList(
9
- "INVERT AND OR XOR 2* 2/ LSHIFT RSHIFT 0= = 0< < > U< MIN MAX 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP >R R> R@ + - 1+ 1- ABS NEGATE S>D * M* UM* FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2! ALIGN ALIGNED +! ALLOT CHAR [CHAR] [ ] BL FIND EXECUTE IMMEDIATE COUNT LITERAL STATE ; DOES> >BODY EVALUATE SOURCE >IN <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL FILL MOVE . CR EMIT SPACE SPACES TYPE U. .R U.R ACCEPT TRUE FALSE <> U> 0<> 0> NIP TUCK ROLL PICK 2>R 2R@ 2R> WITHIN UNUSED MARKER I J TO COMPILE, [COMPILE] SAVE-INPUT RESTORE-INPUT PAD ERASE 2LITERAL DNEGATE D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS M+ M*/ D. D.R 2ROT DU< CATCH THROW FREE RESIZE ALLOCATE CS-PICK CS-ROLL GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL"
10
- );
11
- var immediateWordList = toWordList("IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE");
12
- function searchWordList(wordList, word) {
13
- var i;
14
- for (i = wordList.length - 1; i >= 0; i--) {
15
- if (wordList[i].name === word.toUpperCase()) {
16
- return wordList[i];
17
- }
18
- }
19
- return void 0;
20
- }
21
- const forth = {
22
- name: "forth",
23
- startState: function() {
24
- return {
25
- state: "",
26
- base: 10,
27
- coreWordList,
28
- immediateWordList,
29
- wordList: []
30
- };
31
- },
32
- token: function(stream, stt) {
33
- var mat;
34
- if (stream.eatSpace()) {
35
- return null;
36
- }
37
- if (stt.state === "") {
38
- if (stream.match(/^(\]|:NONAME)(\s|$)/i)) {
39
- stt.state = " compilation";
40
- return "builtin";
41
- }
42
- mat = stream.match(/^(\:)\s+(\S+)(\s|$)+/);
43
- if (mat) {
44
- stt.wordList.push({ name: mat[2].toUpperCase() });
45
- stt.state = " compilation";
46
- return "def";
47
- }
48
- mat = stream.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\s+(\S+)(\s|$)+/i);
49
- if (mat) {
50
- stt.wordList.push({ name: mat[2].toUpperCase() });
51
- return "def";
52
- }
53
- mat = stream.match(/^(\'|\[\'\])\s+(\S+)(\s|$)+/);
54
- if (mat) {
55
- return "builtin";
56
- }
57
- } else {
58
- if (stream.match(/^(\;|\[)(\s)/)) {
59
- stt.state = "";
60
- stream.backUp(1);
61
- return "builtin";
62
- }
63
- if (stream.match(/^(\;|\[)($)/)) {
64
- stt.state = "";
65
- return "builtin";
66
- }
67
- if (stream.match(/^(POSTPONE)\s+\S+(\s|$)+/)) {
68
- return "builtin";
69
- }
70
- }
71
- mat = stream.match(/^(\S+)(\s+|$)/);
72
- if (mat) {
73
- if (searchWordList(stt.wordList, mat[1]) !== void 0) {
74
- return "variable";
75
- }
76
- if (mat[1] === "\\") {
77
- stream.skipToEnd();
78
- return "comment";
79
- }
80
- if (searchWordList(stt.coreWordList, mat[1]) !== void 0) {
81
- return "builtin";
82
- }
83
- if (searchWordList(stt.immediateWordList, mat[1]) !== void 0) {
84
- return "keyword";
85
- }
86
- if (mat[1] === "(") {
87
- stream.eatWhile(function(s) {
88
- return s !== ")";
89
- });
90
- stream.eat(")");
91
- return "comment";
92
- }
93
- if (mat[1] === ".(") {
94
- stream.eatWhile(function(s) {
95
- return s !== ")";
96
- });
97
- stream.eat(")");
98
- return "string";
99
- }
100
- if (mat[1] === 'S"' || mat[1] === '."' || mat[1] === 'C"') {
101
- stream.eatWhile(function(s) {
102
- return s !== '"';
103
- });
104
- stream.eat('"');
105
- return "string";
106
- }
107
- if (mat[1] - 68719476735) {
108
- return "number";
109
- }
110
- return "atom";
111
- }
112
- }
113
- };
114
- export {
115
- forth
116
- };
117
- //# sourceMappingURL=forth-B9D2JCeE.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forth-B9D2JCeE.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/forth.js"],"sourcesContent":["function toWordList(words) {\n var ret = [];\n words.split(' ').forEach(function(e){\n ret.push({name: e});\n });\n return ret;\n}\n\nvar coreWordList = toWordList(\n 'INVERT AND OR XOR\\\n 2* 2/ LSHIFT RSHIFT\\\n 0= = 0< < > U< MIN MAX\\\n 2DROP 2DUP 2OVER 2SWAP ?DUP DEPTH DROP DUP OVER ROT SWAP\\\n >R R> R@\\\n + - 1+ 1- ABS NEGATE\\\n S>D * M* UM*\\\n FM/MOD SM/REM UM/MOD */ */MOD / /MOD MOD\\\n HERE , @ ! CELL+ CELLS C, C@ C! CHARS 2@ 2!\\\n ALIGN ALIGNED +! ALLOT\\\n CHAR [CHAR] [ ] BL\\\n FIND EXECUTE IMMEDIATE COUNT LITERAL STATE\\\n ; DOES> >BODY\\\n EVALUATE\\\n SOURCE >IN\\\n <# # #S #> HOLD SIGN BASE >NUMBER HEX DECIMAL\\\n FILL MOVE\\\n . CR EMIT SPACE SPACES TYPE U. .R U.R\\\n ACCEPT\\\n TRUE FALSE\\\n <> U> 0<> 0>\\\n NIP TUCK ROLL PICK\\\n 2>R 2R@ 2R>\\\n WITHIN UNUSED MARKER\\\n I J\\\n TO\\\n COMPILE, [COMPILE]\\\n SAVE-INPUT RESTORE-INPUT\\\n PAD ERASE\\\n 2LITERAL DNEGATE\\\n D- D+ D0< D0= D2* D2/ D< D= DMAX DMIN D>S DABS\\\n M+ M*/ D. D.R 2ROT DU<\\\n CATCH THROW\\\n FREE RESIZE ALLOCATE\\\n CS-PICK CS-ROLL\\\n GET-CURRENT SET-CURRENT FORTH-WORDLIST GET-ORDER SET-ORDER\\\n PREVIOUS SEARCH-WORDLIST WORDLIST FIND ALSO ONLY FORTH DEFINITIONS ORDER\\\n -TRAILING /STRING SEARCH COMPARE CMOVE CMOVE> BLANK SLITERAL');\n\nvar immediateWordList = toWordList('IF ELSE THEN BEGIN WHILE REPEAT UNTIL RECURSE [IF] [ELSE] [THEN] ?DO DO LOOP +LOOP UNLOOP LEAVE EXIT AGAIN CASE OF ENDOF ENDCASE');\n\nfunction searchWordList (wordList, word) {\n var i;\n for (i = wordList.length - 1; i >= 0; i--) {\n if (wordList[i].name === word.toUpperCase()) {\n return wordList[i];\n }\n }\n return undefined;\n}\nexport const forth = {\n name: \"forth\",\n startState: function() {\n return {\n state: '',\n base: 10,\n coreWordList: coreWordList,\n immediateWordList: immediateWordList,\n wordList: []\n };\n },\n token: function (stream, stt) {\n var mat;\n if (stream.eatSpace()) {\n return null;\n }\n if (stt.state === '') { // interpretation\n if (stream.match(/^(\\]|:NONAME)(\\s|$)/i)) {\n stt.state = ' compilation';\n return 'builtin';\n }\n mat = stream.match(/^(\\:)\\s+(\\S+)(\\s|$)+/);\n if (mat) {\n stt.wordList.push({name: mat[2].toUpperCase()});\n stt.state = ' compilation';\n return 'def';\n }\n mat = stream.match(/^(VARIABLE|2VARIABLE|CONSTANT|2CONSTANT|CREATE|POSTPONE|VALUE|WORD)\\s+(\\S+)(\\s|$)+/i);\n if (mat) {\n stt.wordList.push({name: mat[2].toUpperCase()});\n return 'def';\n }\n mat = stream.match(/^(\\'|\\[\\'\\])\\s+(\\S+)(\\s|$)+/);\n if (mat) {\n return 'builtin'\n }\n } else { // compilation\n // ; [\n if (stream.match(/^(\\;|\\[)(\\s)/)) {\n stt.state = '';\n stream.backUp(1);\n return 'builtin';\n }\n if (stream.match(/^(\\;|\\[)($)/)) {\n stt.state = '';\n return 'builtin';\n }\n if (stream.match(/^(POSTPONE)\\s+\\S+(\\s|$)+/)) {\n return 'builtin';\n }\n }\n\n // dynamic wordlist\n mat = stream.match(/^(\\S+)(\\s+|$)/);\n if (mat) {\n if (searchWordList(stt.wordList, mat[1]) !== undefined) {\n return 'variable';\n }\n\n // comments\n if (mat[1] === '\\\\') {\n stream.skipToEnd();\n return 'comment';\n }\n\n // core words\n if (searchWordList(stt.coreWordList, mat[1]) !== undefined) {\n return 'builtin';\n }\n if (searchWordList(stt.immediateWordList, mat[1]) !== undefined) {\n return 'keyword';\n }\n\n if (mat[1] === '(') {\n stream.eatWhile(function (s) { return s !== ')'; });\n stream.eat(')');\n return 'comment';\n }\n\n // // strings\n if (mat[1] === '.(') {\n stream.eatWhile(function (s) { return s !== ')'; });\n stream.eat(')');\n return 'string';\n }\n if (mat[1] === 'S\"' || mat[1] === '.\"' || mat[1] === 'C\"') {\n stream.eatWhile(function (s) { return s !== '\"'; });\n stream.eat('\"');\n return 'string';\n }\n\n // numbers\n if (mat[1] - 0xfffffffff) {\n return 'number';\n }\n // if (mat[1].match(/^[-+]?[0-9]+\\.[0-9]*/)) {\n // return 'number';\n // }\n\n return 'atom';\n }\n }\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}