nadesiko3 3.3.49 → 3.3.52

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 (343) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +143 -143
  3. package/batch/.DS_Store +0 -0
  4. package/batch/browsers.template.md +3 -3
  5. package/batch/build_browsers.nako3 +72 -72
  6. package/batch/build_command.nako3 +44 -44
  7. package/batch/build_nako_version.nako3 +42 -42
  8. package/batch/calc_hash.nako3 +29 -29
  9. package/batch/cmd_txt2json.nako3 +74 -74
  10. package/batch/command.txt +162 -83
  11. package/batch/command_nakopad.txt +69 -0
  12. package/batch/download-extlib.nako3 +43 -43
  13. package/batch/gen_command_nakopad.nako3 +57 -57
  14. package/batch/jsplugin2text.nako3 +285 -285
  15. package/batch/pickup_command.nako3 +113 -110
  16. package/batch/pickup_reserved_words.nako3 +11 -11
  17. package/batch/publish_version.nako3 +46 -46
  18. package/batch/show_agents.js +14 -14
  19. package/batch/turtle2js.nako3 +21 -21
  20. package/bin/cnako3 +10 -10
  21. package/core/LICENSE +21 -21
  22. package/core/README.md +66 -66
  23. package/core/batch/build_nako_version.nako3 +42 -42
  24. package/core/command/snako.mjs +105 -105
  25. package/core/command/snako.mts +116 -116
  26. package/core/index.mjs +21 -21
  27. package/core/package.json +47 -47
  28. package/core/sample/hello.nako3 +7 -7
  29. package/core/sample/hoge.mjs +4 -4
  30. package/core/sample/hoge.mts +6 -6
  31. package/core/src/nako3.mjs +870 -858
  32. package/core/src/nako3.mts +983 -967
  33. package/core/src/nako_colors.mjs +78 -78
  34. package/core/src/nako_colors.mts +86 -86
  35. package/core/src/nako_core_version.mjs +8 -8
  36. package/core/src/nako_core_version.mts +19 -19
  37. package/core/src/nako_csv.mjs +185 -185
  38. package/core/src/nako_csv.mts +188 -188
  39. package/core/src/nako_errors.mjs +173 -173
  40. package/core/src/nako_errors.mts +197 -197
  41. package/core/src/nako_from_dncl.mjs +255 -255
  42. package/core/src/nako_from_dncl.mts +250 -250
  43. package/core/src/nako_gen.mjs +1647 -1648
  44. package/core/src/nako_gen.mts +1718 -1719
  45. package/core/src/nako_gen_async.mjs +1659 -1659
  46. package/core/src/nako_gen_async.mts +1732 -1732
  47. package/core/src/nako_global.mjs +109 -107
  48. package/core/src/nako_global.mts +141 -138
  49. package/core/src/nako_indent.mjs +445 -445
  50. package/core/src/nako_indent.mts +492 -492
  51. package/core/src/nako_josi_list.mjs +38 -38
  52. package/core/src/nako_josi_list.mts +45 -45
  53. package/core/src/nako_lex_rules.mjs +253 -253
  54. package/core/src/nako_lex_rules.mts +260 -260
  55. package/core/src/nako_lexer.mjs +609 -609
  56. package/core/src/nako_lexer.mts +612 -612
  57. package/core/src/nako_logger.mjs +199 -199
  58. package/core/src/nako_logger.mts +232 -232
  59. package/core/src/nako_parser3.mjs +2441 -2439
  60. package/core/src/nako_parser3.mts +2197 -2195
  61. package/core/src/nako_parser_base.mjs +371 -370
  62. package/core/src/nako_parser_base.mts +372 -370
  63. package/core/src/nako_parser_const.mjs +37 -37
  64. package/core/src/nako_parser_const.mts +37 -37
  65. package/core/src/nako_prepare.mjs +304 -304
  66. package/core/src/nako_prepare.mts +315 -315
  67. package/core/src/nako_reserved_words.mjs +38 -38
  68. package/core/src/nako_reserved_words.mts +38 -38
  69. package/core/src/nako_source_mapping.mjs +207 -207
  70. package/core/src/nako_source_mapping.mts +262 -262
  71. package/core/src/nako_test.mjs +37 -37
  72. package/core/src/nako_types.mjs +13 -25
  73. package/core/src/nako_types.mts +144 -151
  74. package/core/src/plugin_csv.mjs +49 -49
  75. package/core/src/plugin_csv.mts +50 -50
  76. package/core/src/plugin_math.mjs +328 -328
  77. package/core/src/plugin_math.mts +326 -326
  78. package/core/src/plugin_promise.mjs +91 -91
  79. package/core/src/plugin_promise.mts +91 -91
  80. package/core/src/plugin_system.mjs +2832 -2832
  81. package/core/src/plugin_system.mts +2690 -2690
  82. package/core/src/plugin_test.mjs +34 -34
  83. package/core/src/plugin_test.mts +34 -34
  84. package/demo/.DS_Store +0 -0
  85. package/demo/ace_editor.html +89 -89
  86. package/demo/ace_editor_tabs.html +161 -161
  87. package/demo/basic.html +71 -71
  88. package/demo/browsers.html +10 -9
  89. package/demo/css/basic.css +3 -3
  90. package/demo/css/common.css +157 -157
  91. package/demo/css/editor.css +8 -8
  92. package/demo/css/flow.css +3 -3
  93. package/demo/css/index.css +3 -3
  94. package/demo/extlib/.DS_Store +0 -0
  95. package/demo/flow.html +98 -98
  96. package/demo/graph.html +53 -53
  97. package/demo/image/nakopad-icon256.png +0 -0
  98. package/demo/index.html +133 -133
  99. package/demo/js/common.js +17 -17
  100. package/demo/js/turtle3d_test.js +44 -44
  101. package/demo/js/turtle_test.js +45 -45
  102. package/demo/nako3/calc.nako3 +4 -4
  103. package/demo/runscript.html +47 -47
  104. package/demo/runscript2.html +33 -33
  105. package/demo/runscript3.html +35 -35
  106. package/demo/runscript4.html +33 -33
  107. package/demo/turtle.html +58 -58
  108. package/demo/turtle2.html +141 -141
  109. package/demo/turtle3.html +279 -279
  110. package/demo/turtle3d.html +58 -58
  111. package/demo/turtle3d2.html +107 -107
  112. package/demo/version.html +24 -24
  113. package/doc/SETUP.md +157 -157
  114. package/doc/about.md +17 -17
  115. package/doc/browsers.md +26 -26
  116. package/doc/docgen.md +21 -21
  117. package/doc/editor.md +44 -44
  118. package/doc/files.md +39 -39
  119. package/doc/plugins.md +234 -234
  120. package/doc/release.md +79 -79
  121. package/doc/textlint.md +43 -43
  122. package/doc/win32.md +57 -57
  123. package/package.json +195 -195
  124. package/release/_hash.txt +28 -28
  125. package/release/_script-tags.txt +14 -14
  126. package/release/command.json +1 -1
  127. package/release/command.json.js +1 -1
  128. package/release/command_cnako3.json +1 -1
  129. package/release/command_list.json +1 -1
  130. package/release/editor.js +1 -1
  131. package/release/nako_gen_async.js +2 -1
  132. package/release/nako_gen_async.js.LICENSE.txt +35 -0
  133. package/release/plugin_caniuse.js.LICENSE.txt +11 -0
  134. package/release/plugin_csv.js +1 -1
  135. package/release/plugin_csv.js.LICENSE.txt +15 -0
  136. package/release/plugin_datetime.js.LICENSE.txt +15 -0
  137. package/release/plugin_kansuji.js.LICENSE.txt +3 -0
  138. package/release/plugin_markup.js.LICENSE.txt +11 -0
  139. package/release/plugin_turtle.js.LICENSE.txt +15 -0
  140. package/release/plugin_webworker.js.LICENSE.txt +3 -0
  141. package/release/plugin_weykturtle3d.js.LICENSE.txt +3 -0
  142. package/release/stats.json +1 -1
  143. package/release/version.js +1 -1
  144. package/release/wnako3.js +1 -1
  145. package/release/wnako3.js.LICENSE.txt +203 -1
  146. package/release/wnako3webworker.js +2 -1
  147. package/release/wnako3webworker.js.LICENSE.txt +131 -0
  148. package/src/.DS_Store +0 -0
  149. package/src/browsers.txt +12 -11
  150. package/src/browsers_agents.json +2 -2
  151. package/src/browsers_agents.mjs +1 -1
  152. package/src/cnako3.mjs +17 -17
  153. package/src/cnako3.mts +18 -18
  154. package/src/cnako3mod.mjs +682 -707
  155. package/src/cnako3mod.mts +688 -712
  156. package/src/commander_ja.mjs +164 -164
  157. package/src/commander_ja.mts +161 -161
  158. package/src/enako3.mjs +68 -68
  159. package/src/era.mjs +22 -22
  160. package/src/image_turtle-elephant.mjs +2 -2
  161. package/src/image_turtle-panda.mjs +2 -2
  162. package/src/image_turtle64.mjs +2 -2
  163. package/src/index.mjs +9 -9
  164. package/src/index.mts +10 -10
  165. package/src/nako3editorfix.sfd +106 -106
  166. package/src/nako_version.mjs +8 -8
  167. package/src/nako_version.mts +2 -2
  168. package/src/plugin_browser.mjs +213 -213
  169. package/src/plugin_browser.mts +206 -206
  170. package/src/plugin_browser_ajax.mjs +399 -399
  171. package/src/plugin_browser_audio.mjs +109 -109
  172. package/src/plugin_browser_canvas.mjs +449 -449
  173. package/src/plugin_browser_chart.mjs +294 -294
  174. package/src/plugin_browser_color.mjs +49 -49
  175. package/src/plugin_browser_crypto.mjs +26 -26
  176. package/src/plugin_browser_dialog.mjs +53 -53
  177. package/src/plugin_browser_dom_basic.mjs +336 -336
  178. package/src/plugin_browser_dom_event.mjs +193 -193
  179. package/src/plugin_browser_dom_parts.mjs +396 -396
  180. package/src/plugin_browser_geolocation.mjs +51 -51
  181. package/src/plugin_browser_hotkey.mjs +25 -25
  182. package/src/plugin_browser_html.mjs +59 -59
  183. package/src/plugin_browser_in_worker.mjs +45 -45
  184. package/src/plugin_browser_location.mjs +21 -21
  185. package/src/plugin_browser_speech.mjs +111 -111
  186. package/src/plugin_browser_storage.mjs +121 -121
  187. package/src/plugin_browser_system.mjs +31 -31
  188. package/src/plugin_browser_websocket.mjs +73 -73
  189. package/src/plugin_caniuse.mjs +29 -29
  190. package/src/plugin_datetime.mjs +394 -394
  191. package/src/plugin_httpserver.mjs +277 -277
  192. package/src/plugin_httpserver.mts +286 -286
  193. package/src/plugin_kansuji.mjs +224 -224
  194. package/src/plugin_keigo.mjs +55 -55
  195. package/src/plugin_markup.mjs +32 -32
  196. package/src/plugin_node.mjs +1047 -1047
  197. package/src/plugin_node.mts +980 -980
  198. package/src/plugin_turtle.mjs +647 -647
  199. package/src/plugin_webworker.mjs +334 -334
  200. package/src/plugin_weykturtle3d.mjs +1214 -1214
  201. package/src/plugin_worker.mjs +95 -95
  202. package/src/repl.nako3 +63 -63
  203. package/src/wnako3.mjs +12 -12
  204. package/src/wnako3.mts +11 -11
  205. package/src/wnako3_editor.css +215 -215
  206. package/src/wnako3_editor.mjs +1542 -1542
  207. package/src/wnako3_editor.mts +1658 -1657
  208. package/src/wnako3mod.mjs +213 -213
  209. package/src/wnako3mod.mts +214 -214
  210. package/src/wnako3webworker.mjs +69 -69
  211. package/test/.DS_Store +0 -0
  212. package/test/ace_editor/karma.config.js +94 -94
  213. package/test/ace_editor/test/.babelrc.json +3 -3
  214. package/test/ace_editor/test/ace_editor_test.js +178 -178
  215. package/test/ace_editor/test/html/custom_context.html +139 -139
  216. package/test/async/async_basic_test.mjs +122 -122
  217. package/test/browser/.DS_Store +0 -0
  218. package/test/browser/karma.config.js +221 -221
  219. package/test/browser/test/.babelrc.json +3 -3
  220. package/test/browser/test/compare_util.js +50 -50
  221. package/test/browser/test/html/div_basic.html +2 -2
  222. package/test/browser/test/html/event_dom_form.html +4 -4
  223. package/test/browser/test/html/event_dom_scrolldiv.html +5 -5
  224. package/test/browser/test/import_plugin_checker.js +24 -24
  225. package/test/browser/test/plugin_browser_test.js +51 -51
  226. package/test/browser/test/plugin_browser_test_ajax.js +123 -123
  227. package/test/browser/test/plugin_browser_test_color.js +18 -18
  228. package/test/browser/test/plugin_browser_test_dialog.js +72 -72
  229. package/test/browser/test/plugin_browser_test_dom_event.js +598 -598
  230. package/test/browser/test/plugin_browser_test_dom_parts.js +125 -125
  231. package/test/browser/test/plugin_browser_test_system.js +9 -9
  232. package/test/browser/test/plugin_turtle_test.js +817 -817
  233. package/test/browser/test/plugin_webworker_test.js +86 -86
  234. package/test/browser/test/require_test.js +68 -68
  235. package/test/bundled/.DS_Store +0 -0
  236. package/test/bundled/karma.config.base.js +117 -117
  237. package/test/bundled/karma.config.js +86 -86
  238. package/test/bundled/test/.babelrc.json +3 -3
  239. package/test/bundled/test/bundled_test.js +69 -69
  240. package/test/bundled/test/html/custom_context.html +65 -65
  241. package/test/bundled/test/html/custom_debug.html +66 -66
  242. package/test/bundled/test4b.cmd +52 -52
  243. package/test/bundled/test_base/.DS_Store +0 -0
  244. package/test/bundled/test_base/.babelrc.json +3 -3
  245. package/test/bundled/test_base/_checktool_test.js +25 -25
  246. package/test/bundled/test_base/basic_ajax_test.js +56 -56
  247. package/test/bundled/test_base/basic_async_test.js +18 -18
  248. package/test/bundled/test_base/basic_test.js +153 -153
  249. package/test/bundled/test_base/calc_test.js +132 -132
  250. package/test/bundled/test_base/css/browsers_box.css +114 -114
  251. package/test/bundled/test_base/html/custom_context.html +69 -69
  252. package/test/bundled/test_base/html/custom_debug.html +71 -71
  253. package/test/bundled/test_base/js/browsers_box.js +72 -72
  254. package/test/bundled/test_base/plugin_csv_test.js +37 -37
  255. package/test/bundled/test_base/plugin_datetime_test.js +115 -115
  256. package/test/bundled/test_base/plugin_kansuji_test.js +49 -49
  257. package/test/bundled/test_base/plugin_system_test.js +410 -410
  258. package/test/bundled/test_base/plugin_webworker_test.js +53 -53
  259. package/test/bundled/test_base/test_utils.js +191 -191
  260. package/test/common/.DS_Store +0 -0
  261. package/test/common/plugin_browser_test.mjs +22 -22
  262. package/test/common/plugin_browser_ut_audio_test.mjs +108 -108
  263. package/test/common/plugin_browser_ut_color_test.mjs +21 -21
  264. package/test/common/plugin_browser_ut_dialog_test.mjs +100 -100
  265. package/test/common/plugin_browser_ut_html_test.mjs +13 -13
  266. package/test/common/plugin_browser_ut_system_test.mjs +10 -10
  267. package/test/common/plugin_markup_test.mjs +23 -23
  268. package/test/jsconfig.json +19 -19
  269. package/test/karma.config.js +91 -91
  270. package/test/node/.DS_Store +0 -0
  271. package/test/node/async_test.mjs +96 -96
  272. package/test/node/commander_ja_test.mjs +89 -89
  273. package/test/node/error_message_test.mjs +243 -243
  274. package/test/node/kai_test.nako3 +6 -6
  275. package/test/node/node_test.mjs +60 -60
  276. package/test/node/plugin_broken.js.txt +3 -3
  277. package/test/node/plugin_browser_ut_ajax_test.mjs.todo +357 -357
  278. package/test/node/plugin_browser_ut_location_test.mjs +42 -42
  279. package/test/node/plugin_markup_test.mjs +47 -47
  280. package/test/node/plugin_math_test.mjs +45 -45
  281. package/test/node/plugin_node_test.mjs +98 -98
  282. package/test/node/plugin_test.mjs +44 -44
  283. package/test/node/relative_import_test_1.nako3 +1 -1
  284. package/test/node/relative_import_test_2.nako3 +2 -2
  285. package/test/node/require_nako3_test.mjs +67 -67
  286. package/test/node/requiretest.nako3 +4 -4
  287. package/test/node/requiretest_indirect.nako3 +1 -1
  288. package/test/node/requiretest_name.nako3 +5 -5
  289. package/test/node/runtime_error.nako3 +2 -2
  290. package/test/node/scope1.nako3 +10 -10
  291. package/test/node/scope2.nako3 +12 -12
  292. package/test/node/side_effects_test.mjs +39 -39
  293. package/test/node/sjis.txt +5 -5
  294. package/test/node/syntax_error.nako3 +1 -1
  295. package/test/node/wnako3_editor_test.mjs +384 -384
  296. package/tools/.DS_Store +0 -0
  297. package/tools/README.md +12 -12
  298. package/tools/check_new_version.nako3 +25 -25
  299. package/tools/nako3edit/.DS_Store +0 -0
  300. package/tools/nako3edit/a.sqlite3 +0 -0
  301. package/tools/nako3edit/html/.DS_Store +0 -0
  302. package/tools/nako3edit/html/daisyui/LICENSE +22 -22
  303. package/tools/nako3edit/html/daisyui/version_2.14.1 +1 -1
  304. package/tools/nako3edit/html/edit.html +170 -170
  305. package/tools/nako3edit/html/edit_plugin.js +6 -6
  306. package/tools/nako3edit/html/files.html +125 -125
  307. package/tools/nako3edit/html/nako3edit.css +65 -65
  308. package/tools/nako3edit/index.mjs +248 -248
  309. package/tools/nako3server/index.html +10 -10
  310. package/tools/nako3server/index.mjs +116 -116
  311. package/tools/nako3server/index.nako3 +34 -34
  312. package/core/.editorconfig +0 -6
  313. package/core/.eslintrc.cjs +0 -33
  314. package/core/.github/dependabot.yml +0 -7
  315. package/core/.github/workflows/nodejs.yml +0 -37
  316. package/core/.github/workflows/super-linter.yml +0 -61
  317. package/core/.github/workflows/textlint.yml +0 -199
  318. package/core/index.mts +0 -21
  319. package/core/test/array_test.mjs +0 -34
  320. package/core/test/basic_test.mjs +0 -344
  321. package/core/test/calc_test.mjs +0 -140
  322. package/core/test/core_module_test.mjs +0 -23
  323. package/core/test/debug_test.mjs +0 -16
  324. package/core/test/dncl_test.mjs +0 -94
  325. package/core/test/error_message_test.mjs +0 -210
  326. package/core/test/error_test.mjs +0 -16
  327. package/core/test/flow_test.mjs +0 -373
  328. package/core/test/func_call.mjs +0 -160
  329. package/core/test/func_test.mjs +0 -149
  330. package/core/test/indent_test.mjs +0 -364
  331. package/core/test/lex_test.mjs +0 -168
  332. package/core/test/literal_test.mjs +0 -73
  333. package/core/test/nako_lexer_test.mjs +0 -35
  334. package/core/test/nako_logger_test.mjs +0 -76
  335. package/core/test/nako_logger_test.mts +0 -78
  336. package/core/test/plugin_csv_test.mjs +0 -38
  337. package/core/test/plugin_promise_test.mjs +0 -18
  338. package/core/test/plugin_system_test.mjs +0 -630
  339. package/core/test/prepare_test.mjs +0 -96
  340. package/core/test/re_test.mjs +0 -22
  341. package/core/test/side_effects_test.mjs +0 -92
  342. package/core/test/variable_scope_test.mjs +0 -149
  343. package/core/tsconfig.json +0 -101
@@ -1,110 +1,113 @@
1
- # -----------------------------------------------------
2
- # なでしこのソースコードから命令一覧テキストを作成する
3
- #-------------------------------------------------
4
- # 入力: src/plugin_xxx.js
5
- # 出力: command.txt
6
- # -----------------------------------------------------
7
- !「jsplugin2text.nako3」を取り込む。
8
-
9
- # 基本パスを取得
10
- 母艦パス取得してパス抽出して基本パスに代入。
11
- REPOSパス=基本パスを「../」で相対パス展開。
12
- CORE="core/src"
13
-
14
- コアプラグイン一覧は[
15
- ["plugin_system.mts", 'wnako,cnako,phpnako'],
16
- ["plugin_csv.mts", 'wnako,cnako'],
17
- ["plugin_math.mts", 'wnako,cnako'],
18
- ["plugin_promise.mts", 'wnako']
19
- ]
20
-
21
- 基本プラグイン一覧は[
22
- ['src/plugin_browser.mjs','wnako'],
23
- ['src/plugin_turtle.mjs', 'wnako'],
24
- ['src/plugin_node.mts', 'cnako,phpnako'],
25
- ['src/plugin_httpserver.mts', 'cnako'],
26
- ['src/plugin_markup.mjs', 'wnako,cnako'],
27
- ['src/plugin_datetime.mjs', 'wnako,cnako'],
28
- ['src/plugin_caniuse.mjs', 'wnako,cnako'],
29
- ['src/plugin_kansuji.mjs', 'wnako,cnako'],
30
- ['src/plugin_weykturtle3d.mjs', 'wnako'],
31
- ['src/plugin_webworker.mjs', 'wnako'],
32
- ]
33
- 拡張プラグイン一覧は[
34
- ['nadesiko3-tools/nadesiko3-tools.mjs', 'cnako'],
35
- ['nadesiko3-server/nadesiko3-server.mjs', 'cnako'],
36
- ['nadesiko3-sqlite3/nadesiko3-sqlite3.js', 'cnako'],
37
- ['nadesiko3-htmlparser/nadesiko3-htmlparser.js', 'cnako'],
38
- ['nadesiko3-websocket/nadesiko3-websocket.js', 'cnako'],
39
- ['nadesiko3-ml/nadesiko3-ml.js', 'cnako'],
40
- ['nadesiko3-mecab/nadesiko3-mecab.js', 'cnako'],
41
- ['nadesiko3-office/nadesiko3-office.js', 'cnako'],
42
- ['nadesiko3-odbc/src/plugin_odbc.js', 'cnako'],
43
- ['nadesiko3-mssql/src/plugin_mssql.js', 'cnako'],
44
- ['nadesiko3-mysql/src/plugin_mysql.js', 'cnako'],
45
- ['nadesiko3-postgresql/src/plugin_postgresql.js', 'cnako'],
46
- ['nadesiko3php/src/plugin_php.php', 'phpnako'],
47
- ]
48
- # サポートしない
49
- # 'nadesiko3-firebase/plugin_firebase.js',
50
- # 'nadesiko3-googlehome/plugin_googlehome.js',
51
- # 'nadesiko3-sqlite3sync/nadesiko3-sqlite3sync.js', # 利用は非推奨に
52
- # 'nadesiko3-drone/nadesiko3-drone.js', 'cnako', # ドローン
53
-
54
- #------------------------
55
- 結果データ=「」
56
- SRC_URL=""
57
- FILE_PATH=""
58
- #------------------------
59
- コアプラグイン一覧を反復
60
-   PNAME=対象@0
61
-   カレントプラグイン="{CORE}/{PNAME}"
62
-   FILE_PATH="{基本パス}/{CORE}/{PNAME}"
63
-   # https://github.com/kujirahand/nadesiko3core/blob/main/src/{PNAME}#L119
64
-   SRC_URL="https://github.com/kujirahand/nadesiko3core/blob/main/src/{PNAME}"
65
-   ナコタイプ=対象@1
66
-   パスは「{基本パス}/{カレントプラグイン}」
67
-   パスを「(基本プラグイン,{ナコタイプ})」でプラグイン要約作成
68
-   結果データ=結果データ&それ&改行&改行。
69
- ここまで
70
- #------------------------
71
- 基本プラグイン一覧を反復
72
-   PNAME=対象@0
73
-   カレントプラグイン=対象@0
74
-   ナコタイプ=対象@1
75
-   FILE_PATH="{基本パス}/{PNAME}"
76
-   SRC_URL="https://github.com/kujirahand/nadesiko3/tree/master/{PNAME}"
77
-   パスは「{基本パス}/{カレントプラグイン}」
78
-   パスを「(基本プラグイン,{ナコタイプ})」でプラグイン要約作成
79
-   結果データ=結果データ&それ&改行&改行。
80
- ここまで
81
- #------------------------
82
- 拡張プラグイン一覧を反復
83
-   カレントプラグイン=それ@0
84
-   ナコタイプ=それ@1
85
-   パスは「{REPOSパス}/{カレントプラグイン}」
86
-   FILE_PATH="{REPOSパス}/{カレントプラグイン}"
87
-   SRC_URL="https://github.com/kujirahand/{カレントプラグイン}"
88
-   パスが存在
89
-   もし、そうならば
90
-      # パスを表示。
91
-     EX=「拡張プラグイン」
92
-     もし、ナコタイプ=「phpnako」ならば
93
-      EX=「基本プラグイン」
94
-     ここまで
95
-     パスを「({EX},{ナコタイプ})」でプラグイン要約作成。
96
-     結果データ=結果データ&それ&改行&改行。
97
-   違えば
98
-     「REPORT_ERR」の環境変数取得
99
-     もしそうならば
100
-       OS=OS取得
101
-       もし、OS="darwin"ならば
102
-         「[エラー]ファイルが存在しない: {パス}」を表示。
103
-         「ファイルが存在しない:{パス}」のエラー発生。
104
-       ここまで。
105
-     ここまで。
106
-   ここまで。
107
- ここまで。
108
- #------------------------
109
- 結果データを「{基本パス}/batch/command.txt」に保存。
110
-
1
+ # -----------------------------------------------------
2
+ # なでしこのソースコードから命令一覧テキストを作成する
3
+ #-------------------------------------------------
4
+ # 入力: src/plugin_xxx.js
5
+ # 出力: command.txt
6
+ # -----------------------------------------------------
7
+ !「jsplugin2text.nako3」を取り込む。
8
+
9
+ # 基本パスを取得
10
+ 母艦パス取得してパス抽出して基本パスに代入。
11
+ REPOSパス=基本パスを「../」で相対パス展開。
12
+ CORE="core/src"
13
+
14
+ コアプラグイン一覧は[
15
+ ["plugin_system.mts", 'wnako,cnako,phpnako'],
16
+ ["plugin_csv.mts", 'wnako,cnako'],
17
+ ["plugin_math.mts", 'wnako,cnako'],
18
+ ["plugin_promise.mts", 'wnako']
19
+ ]
20
+
21
+ 基本プラグイン一覧は[
22
+ ['src/plugin_browser.mjs','wnako'],
23
+ ['src/plugin_turtle.mjs', 'wnako'],
24
+ ['src/plugin_node.mts', 'cnako,phpnako'],
25
+ ['src/plugin_httpserver.mts', 'cnako'],
26
+ ['src/plugin_markup.mjs', 'wnako,cnako'],
27
+ ['src/plugin_datetime.mjs', 'wnako,cnako'],
28
+ ['src/plugin_caniuse.mjs', 'wnako,cnako'],
29
+ ['src/plugin_kansuji.mjs', 'wnako,cnako'],
30
+ ['src/plugin_weykturtle3d.mjs', 'wnako'],
31
+ ['src/plugin_webworker.mjs', 'wnako'],
32
+ ]
33
+ 拡張プラグイン一覧は[
34
+ ['nadesiko3-tools/nadesiko3-tools.mjs', 'cnako'],
35
+ ['nadesiko3-server/nadesiko3-server.mjs', 'cnako'],
36
+ ['nadesiko3-sqlite3/nadesiko3-sqlite3.js', 'cnako'],
37
+ ['nadesiko3-htmlparser/nadesiko3-htmlparser.js', 'cnako'],
38
+ ['nadesiko3-websocket/nadesiko3-websocket.js', 'cnako'],
39
+ ['nadesiko3-ml/nadesiko3-ml.js', 'cnako'],
40
+ ['nadesiko3-mecab/nadesiko3-mecab.js', 'cnako'],
41
+ ['nadesiko3-office/nadesiko3-office.js', 'cnako'],
42
+ ['nadesiko3-odbc/src/plugin_odbc.js', 'cnako'],
43
+ ['nadesiko3-mssql/src/plugin_mssql.js', 'cnako'],
44
+ ['nadesiko3-mysql/src/plugin_mysql.js', 'cnako'],
45
+ ['nadesiko3-postgresql/src/plugin_postgresql.js', 'cnako'],
46
+ ['nadesiko3php/src/plugin_php.php', 'phpnako'],
47
+ ]
48
+ # サポートしない
49
+ # 'nadesiko3-firebase/plugin_firebase.js',
50
+ # 'nadesiko3-googlehome/plugin_googlehome.js',
51
+ # 'nadesiko3-sqlite3sync/nadesiko3-sqlite3sync.js', # 利用は非推奨に
52
+ # 'nadesiko3-drone/nadesiko3-drone.js', 'cnako', # ドローン
53
+
54
+ #------------------------
55
+ 結果データ=「」
56
+ SRC_URL=""
57
+ FILE_PATH=""
58
+ #------------------------
59
+ コアプラグイン一覧を反復
60
+   PNAME=対象@0
61
+   カレントプラグイン="{CORE}/{PNAME}"
62
+   FILE_PATH="{基本パス}/{CORE}/{PNAME}"
63
+   # https://github.com/kujirahand/nadesiko3core/blob/main/src/{PNAME}#L119
64
+   SRC_URL="https://github.com/kujirahand/nadesiko3core/blob/main/src/{PNAME}"
65
+   ナコタイプ=対象@1
66
+   パスは「{基本パス}/{カレントプラグイン}」
67
+   パスを「(基本プラグイン,{ナコタイプ})」でプラグイン要約作成
68
+   結果データ=結果データ&それ&改行&改行。
69
+ ここまで
70
+ #------------------------
71
+ 基本プラグイン一覧を反復
72
+   PNAME=対象@0
73
+   カレントプラグイン=対象@0
74
+   ナコタイプ=対象@1
75
+   FILE_PATH="{基本パス}/{PNAME}"
76
+   SRC_URL="https://github.com/kujirahand/nadesiko3/tree/master/{PNAME}"
77
+   パスは「{基本パス}/{カレントプラグイン}」
78
+   パスを「(基本プラグイン,{ナコタイプ})」でプラグイン要約作成
79
+   結果データ=結果データ&それ&改行&改行。
80
+ ここまで
81
+ #------------------------
82
+ 拡張プラグイン一覧を反復
83
+   カレントプラグイン=それ@0
84
+   ナコタイプ=それ@1
85
+   パスは「{REPOSパス}/{カレントプラグイン}」
86
+   FILE_PATH="{REPOSパス}/{カレントプラグイン}"
87
+   カレントプラグインを「/」で区切ってAに代入。
88
+   P0=Aの0を配列切取。
89
+   P1=Aを「/」で配列結合。
90
+   SRC_URL="https://github.com/kujirahand/{P0}/blob/master/{P1}"
91
+   パスが存在
92
+   もし、そうならば
93
+      # パスを表示。
94
+     EX=「拡張プラグイン」
95
+     もし、ナコタイプ=「phpnako」ならば
96
+      EX=「基本プラグイン」
97
+     ここまで
98
+     パスを「({EX},{ナコタイプ})」でプラグイン要約作成。
99
+     結果データ=結果データ&それ&改行&改行。
100
+   違えば
101
+     「REPORT_ERR」の環境変数取得
102
+     もしそうならば
103
+       OS=OS取得
104
+       もし、OS="darwin"ならば
105
+         「[エラー]ファイルが存在しない: {パス}」を表示。
106
+         「ファイルが存在しない:{パス}」のエラー発生。
107
+       ここまで。
108
+     ここまで。
109
+   ここまで。
110
+ ここまで。
111
+ #------------------------
112
+ 結果データを「{基本パス}/batch/command.txt」に保存。
113
+
@@ -1,11 +1,11 @@
1
- # 予約語の定義
2
- PATH=母艦パスを「../src/nako_reserved_words.mjs」で相対パス展開。
3
- A=[]
4
- PATHを開いて、改行で区切る。
5
- 反復
6
-   対象を『/^\s+\'(.+?)\'\s*\:/』で正規表現マッチ。
7
-   もし、そうでなければ、続ける。
8
-   N=抽出文字列[0]
9
-   AにNを配列追加。
10
- ここまで。
11
- Aを「, 」で配列結合して表示。
1
+ # 予約語の定義
2
+ PATH=母艦パスを「../src/nako_reserved_words.mjs」で相対パス展開。
3
+ A=[]
4
+ PATHを開いて、改行で区切る。
5
+ 反復
6
+   対象を『/^\s+\'(.+?)\'\s*\:/』で正規表現マッチ。
7
+   もし、そうでなければ、続ける。
8
+   N=抽出文字列[0]
9
+   AにNを配列追加。
10
+ ここまで。
11
+ Aを「, 」で配列結合して表示。
@@ -1,46 +1,46 @@
1
- # ---------------------------------------------------------
2
- # なでしこ3のバージョンをkonawiki2/3/nako3storageに反映
3
- # ---------------------------------------------------------
4
- 前提条件=「Gitリポジトリを以下のように設定してください。
5
- # /path/to/nadesiko3
6
- # /path/to/konawiki2
7
- # /path/to/konawiki3
8
- # /path/to/nako3storage
9
- 」。
10
- # ---------------------------------------------------------
11
- 母艦パス取得してパス抽出して基本パスに代入。
12
- DIR_REPO = (基本パスからパス抽出)
13
- VER=ナデシコバージョン。
14
- VER_PHP=「<?php
15
- define('NAKO_DEFAULT_VERSION', '{VER}');
16
-
17
-
18
- # ---------------------------------------------------------
19
- # リポジトリごとに処理
20
- ファイル一覧=[
21
- "/nako3storage/nako_version.inc.php",
22
- "/konawiki2/kona-engine/plugins/nako_version.inc.php",
23
- "/konawiki3/kona3engine/plugins/nako3/nako_version.inc.php"
24
- ]
25
- ファイル一覧を反復
26
- パス=DIR_REPO&対象
27
- 確認パス=(パスからパス抽出)。
28
- もし、確認パスが存在しなければ
29
-   「[ERROR] レポジトリ: {対象}」を表示。
30
-   前提条件を表示。終わり。
31
- ここまで。
32
- # コピー
33
- VER_PHPをパスに保存。
34
- 「=== === === ===」を表示;
35
- 「[OK] {パス}」を表示。
36
- # コミットする
37
- MSG="updated nako3 ver."&ナデシコバージョン;
38
- CMD=「cd "{確認パス}" && git commit -a -m "{MSG}" && git push」
39
- エラー監視
40
-    CMDを起動待機。
41
-  エラーならば
42
-    「コミットできません: {確認パス}」を表示。
43
-  ここまで。
44
- ここまで。
45
-
46
-
1
+ # ---------------------------------------------------------
2
+ # なでしこ3のバージョンをkonawiki2/3/nako3storageに反映
3
+ # ---------------------------------------------------------
4
+ 前提条件=「Gitリポジトリを以下のように設定してください。
5
+ # /path/to/nadesiko3
6
+ # /path/to/konawiki2
7
+ # /path/to/konawiki3
8
+ # /path/to/nako3storage
9
+ 」。
10
+ # ---------------------------------------------------------
11
+ 母艦パス取得してパス抽出して基本パスに代入。
12
+ DIR_REPO = (基本パスからパス抽出)
13
+ VER=ナデシコバージョン。
14
+ VER_PHP=「<?php
15
+ define('NAKO_DEFAULT_VERSION', '{VER}');
16
+
17
+
18
+ # ---------------------------------------------------------
19
+ # リポジトリごとに処理
20
+ ファイル一覧=[
21
+ "/nako3storage/nako_version.inc.php",
22
+ "/konawiki2/kona-engine/plugins/nako_version.inc.php",
23
+ "/konawiki3/kona3engine/plugins/nako3/nako_version.inc.php"
24
+ ]
25
+ ファイル一覧を反復
26
+ パス=DIR_REPO&対象
27
+ 確認パス=(パスからパス抽出)。
28
+ もし、確認パスが存在しなければ
29
+   「[ERROR] レポジトリ: {対象}」を表示。
30
+   前提条件を表示。終わり。
31
+ ここまで。
32
+ # コピー
33
+ VER_PHPをパスに保存。
34
+ 「=== === === ===」を表示;
35
+ 「[OK] {パス}」を表示。
36
+ # コミットする
37
+ MSG="updated nako3 ver."&ナデシコバージョン;
38
+ CMD=「cd "{確認パス}" && git commit -a -m "{MSG}" && git push」
39
+ エラー監視
40
+    CMDを起動待機。
41
+  エラーならば
42
+    「コミットできません: {確認パス}」を表示。
43
+  ここまで。
44
+ ここまで。
45
+
46
+
@@ -1,14 +1,14 @@
1
- const a = require('caniuse-db/data.json').agents
2
- const e = {}
3
- const t = {}
4
- for (let key in a) {
5
- e[key] = a[key]['browser'];
6
- let type = a[key]['type'];
7
- if (t[type] === undefined) {
8
- t[type] = [];
9
- }
10
- t[type].push(key)
11
- }
12
- console.log(JSON.stringify(e))
13
- // console.log(JSON.stringify(t))
14
- // console.log(JSON.stringify(a))
1
+ const a = require('caniuse-db/data.json').agents
2
+ const e = {}
3
+ const t = {}
4
+ for (let key in a) {
5
+ e[key] = a[key]['browser'];
6
+ let type = a[key]['type'];
7
+ if (t[type] === undefined) {
8
+ t[type] = [];
9
+ }
10
+ t[type].push(key)
11
+ }
12
+ console.log(JSON.stringify(e))
13
+ // console.log(JSON.stringify(t))
14
+ // console.log(JSON.stringify(a))
@@ -1,21 +1,21 @@
1
- # src/turtle64.png を src/image_turtle64.mjs に変換する
2
-
3
- SRC_DIR = 母艦パスを「../src」で相対パス展開。
4
- SRC_DIRを表示。
5
-
6
- 「turtle64.png」をJS変換処理
7
- 「turtle-panda.png」をJS変換処理
8
- 「turtle-elephant.png」をJS変換処理
9
-
10
- ●(Fを)JS変換処理
11
-   BIN =「{SRC_DIR}/{F}」をバイナリ読む。
12
-   B64 = BINをBASE64エンコード
13
-   FNAME=Fの「.png」を「.mjs」に置換。
14
-   FULLNAME=「{SRC_DIR}/image_{FNAME}」
15
-   「
16
- // file:{F}
17
- export default 'data:image/png;base64,{B64}'
18
- //
19
- 」をFULLNAMEへ保存。
20
- FULLNAMEを表示。
21
- ここまで。
1
+ # src/turtle64.png を src/image_turtle64.mjs に変換する
2
+
3
+ SRC_DIR = 母艦パスを「../src」で相対パス展開。
4
+ SRC_DIRを表示。
5
+
6
+ 「turtle64.png」をJS変換処理
7
+ 「turtle-panda.png」をJS変換処理
8
+ 「turtle-elephant.png」をJS変換処理
9
+
10
+ ●(Fを)JS変換処理
11
+   BIN =「{SRC_DIR}/{F}」をバイナリ読む。
12
+   B64 = BINをBASE64エンコード
13
+   FNAME=Fの「.png」を「.mjs」に置換。
14
+   FULLNAME=「{SRC_DIR}/image_{FNAME}」
15
+   「
16
+ // file:{F}
17
+ export default 'data:image/png;base64,{B64}'
18
+ //
19
+ 」をFULLNAMEへ保存。
20
+ FULLNAMEを表示。
21
+ ここまで。
package/bin/cnako3 CHANGED
@@ -1,10 +1,10 @@
1
- #!/bin/bash
2
- ROOT_DIR=$(
3
- cd $(dirname "$0")
4
- cd ..
5
- pwd
6
- )
7
- SRC_DIR=$ROOT_DIR/src
8
- NAKO_JS=$SRC_DIR/cnako3.mjs
9
-
10
- /usr/bin/env node "$NAKO_JS" $*
1
+ #!/bin/bash
2
+ ROOT_DIR=$(
3
+ cd $(dirname "$0")
4
+ cd ..
5
+ pwd
6
+ )
7
+ SRC_DIR=$ROOT_DIR/src
8
+ NAKO_JS=$SRC_DIR/cnako3.mjs
9
+
10
+ /usr/bin/env node "$NAKO_JS" $*
package/core/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 kujirahand
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2022 kujirahand
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/core/README.md CHANGED
@@ -1,66 +1,66 @@
1
- # 日本語プログラミング言語「なでしこ3」言語エンジン
2
-
3
- [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
4
- [![npm version](https://badge.fury.io/js/nadesiko3core.svg)](https://www.npmjs.com/package/nadesiko3core)
5
-
6
- ## 「なでしこ3」とは
7
-
8
- 「なでしこ3」とは、日本語のプログラミング言語です。HTML5/JavaScript(TypeScript)をベースとしているので、PC/スマホ/タブレットなど、さまざまな環境で動作させることができます。日本語プログラミング言語は、読みやすく理解しやすいのが特徴で、初めてでも楽しくプログラミングを覚えることができます。
9
-
10
- - [なでしこ3開発リポジトリ - nadesiko3](https://github.com/kujirahand/nadesiko3)
11
- - [なでしこのWebサイト](https://nadesi.com/top/)
12
-
13
- ## 本リポジトリについて
14
-
15
- 本リポジトリは、なでしこ3の言語エンジンのみを取り出したものです。最小限の構成となっています。
16
- 言語機能と最小限のプラグインのみを備えています。
17
-
18
- - [なでしこの基本文法(外部サイト)](https://nadesi.com/v3/doc/index.php?%E6%96%87%E6%B3%95)
19
-
20
- 最小限のプラグイン構成
21
-
22
- - [plugin_system](./src/plugin_system.mts) --- 言語機能の補助など基本的な関数群
23
- - [plugin_math](./src/plugin_math.mts) --- 数学関数群
24
- - [plugin_csv](./src/plugin_csv.mts)--- CSV処理のための関数群
25
- - [plugin_promise](./src/plugin_promise.mts) --- プロミス機能を実現するための関数群
26
- - [plugin_test](./src/plugin_test.mts) --- テストを記述するための関数群
27
-
28
- # 本ライブラリの使い方
29
-
30
- 例えば、`npm install nadesiko3core`でなでしこ3言語エンジンをインストールしたら、以下のプログラムを記述します。
31
- `hoge.mjs`という名前で保存します。そして、以下のようなプログラムを記述します。
32
-
33
- ```js
34
- import core from 'nadesiko3core'
35
- const com = new core.NakoCompiler()
36
- const g = com.run('1 + 2 * 3を表示') // ← ここになでしこのプログラム
37
- console.log(g.log) // ← 「表示」した内容がlogに入っている
38
- ```
39
-
40
- プログラムを実行するには、`node hoge.mjs`と記述すれば実行できます。
41
-
42
- ## コマンドラインから実行したい場合
43
-
44
- コマンドラインからなでしこのプログラムを実行したい場合には、[nadesiko3](https://github.com/kujirahand/nadesiko3)リポジトリを利用してください。nadesiko3リポジトリには、コマンドライン版のなでしこ(cnako3)が含まれています。
45
-
46
- なお、本リポジトリにも、[簡易版のコマンドラインツール(snako)](/command/snako.mts)を収録しています。以下は簡単な使い方です。
47
-
48
- ```
49
- # ファイル sample/hello.nako3 を実行
50
- $ node command/snako.mjs sample/hello.nako3
51
-
52
- # その場でコードを実行
53
- $ node command/snako.mjs -e "1+2を表示"
54
- ```
55
-
56
- ### 簡易コマンドラインをグローバルインストールして使う場合
57
-
58
- 簡易コマンドライン(snako)を手軽に利用したい場合は、次のように実行します。
59
-
60
- ```
61
- $ npm install -g nadesiko3core
62
- $ snako -e "1+2を表示"
63
- $ snako nadesiko3core/sample/hello.nako3
64
- ```
65
-
66
-
1
+ # 日本語プログラミング言語「なでしこ3」言語エンジン
2
+
3
+ [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
4
+ [![npm version](https://badge.fury.io/js/nadesiko3core.svg)](https://www.npmjs.com/package/nadesiko3core)
5
+
6
+ ## 「なでしこ3」とは
7
+
8
+ 「なでしこ3」とは、日本語のプログラミング言語です。HTML5/JavaScript(TypeScript)をベースとしているので、PC/スマホ/タブレットなど、さまざまな環境で動作させることができます。日本語プログラミング言語は、読みやすく理解しやすいのが特徴で、初めてでも楽しくプログラミングを覚えることができます。
9
+
10
+ - [なでしこ3開発リポジトリ - nadesiko3](https://github.com/kujirahand/nadesiko3)
11
+ - [なでしこのWebサイト](https://nadesi.com/top/)
12
+
13
+ ## 本リポジトリについて
14
+
15
+ 本リポジトリは、なでしこ3の言語エンジンのみを取り出したものです。最小限の構成となっています。
16
+ 言語機能と最小限のプラグインのみを備えています。
17
+
18
+ - [なでしこの基本文法(外部サイト)](https://nadesi.com/v3/doc/index.php?%E6%96%87%E6%B3%95)
19
+
20
+ 最小限のプラグイン構成
21
+
22
+ - [plugin_system](./src/plugin_system.mts) --- 言語機能の補助など基本的な関数群
23
+ - [plugin_math](./src/plugin_math.mts) --- 数学関数群
24
+ - [plugin_csv](./src/plugin_csv.mts)--- CSV処理のための関数群
25
+ - [plugin_promise](./src/plugin_promise.mts) --- プロミス機能を実現するための関数群
26
+ - [plugin_test](./src/plugin_test.mts) --- テストを記述するための関数群
27
+
28
+ # 本ライブラリの使い方
29
+
30
+ 例えば、`npm install nadesiko3core`でなでしこ3言語エンジンをインストールしたら、以下のプログラムを記述します。
31
+ `hoge.mjs`という名前で保存します。そして、以下のようなプログラムを記述します。
32
+
33
+ ```js
34
+ import core from 'nadesiko3core'
35
+ const com = new core.NakoCompiler()
36
+ const g = com.run('1 + 2 * 3を表示') // ← ここになでしこのプログラム
37
+ console.log(g.log) // ← 「表示」した内容がlogに入っている
38
+ ```
39
+
40
+ プログラムを実行するには、`node hoge.mjs`と記述すれば実行できます。
41
+
42
+ ## コマンドラインから実行したい場合
43
+
44
+ コマンドラインからなでしこのプログラムを実行したい場合には、[nadesiko3](https://github.com/kujirahand/nadesiko3)リポジトリを利用してください。nadesiko3リポジトリには、コマンドライン版のなでしこ(cnako3)が含まれています。
45
+
46
+ なお、本リポジトリにも、[簡易版のコマンドラインツール(snako)](/command/snako.mts)を収録しています。以下は簡単な使い方です。
47
+
48
+ ```
49
+ # ファイル sample/hello.nako3 を実行
50
+ $ node command/snako.mjs sample/hello.nako3
51
+
52
+ # その場でコードを実行
53
+ $ node command/snako.mjs -e "1+2を表示"
54
+ ```
55
+
56
+ ### 簡易コマンドラインをグローバルインストールして使う場合
57
+
58
+ 簡易コマンドライン(snako)を手軽に利用したい場合は、次のように実行します。
59
+
60
+ ```
61
+ $ npm install -g nadesiko3core
62
+ $ snako -e "1+2を表示"
63
+ $ snako nadesiko3core/sample/hello.nako3
64
+ ```
65
+
66
+