nadesiko3 3.4.16 → 3.4.18

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 (40) hide show
  1. package/batch/command.txt +91 -91
  2. package/core/package.json +2 -2
  3. package/core/src/nako_core_version.mjs +2 -2
  4. package/core/src/nako_core_version.mts +2 -2
  5. package/core/src/nako_errors.mjs +15 -15
  6. package/core/src/nako_gen.mjs +16 -6
  7. package/core/src/nako_gen.mts +16 -6
  8. package/core/src/nako_gen_async.mjs +52 -52
  9. package/core/src/nako_lex_rules.mjs +5 -0
  10. package/core/src/nako_lex_rules.mts +5 -0
  11. package/core/src/nako_lexer.mjs +14 -6
  12. package/core/src/nako_lexer.mts +13 -6
  13. package/core/src/nako_parser3.mjs +37 -20
  14. package/core/src/nako_parser3.mts +36 -16
  15. package/core/src/nako_parser_base.mjs +4 -0
  16. package/core/src/nako_parser_base.mts +5 -0
  17. package/core/src/nako_prepare.mjs +7 -7
  18. package/core/src/plugin_system.mjs +19 -0
  19. package/core/src/plugin_system.mts +19 -0
  20. package/core/test/calc_test.mjs +74 -0
  21. package/core/test/lex_test.mjs +8 -0
  22. package/core/test/literal_test.mjs +13 -0
  23. package/core/test/plugin_system_test.mjs +4 -0
  24. package/package.json +4 -4
  25. package/release/_hash.txt +16 -16
  26. package/release/_script-tags.txt +14 -14
  27. package/release/nako_gen_async.js +1 -1
  28. package/release/nako_gen_async.js.map +1 -1
  29. package/release/stats.json +1 -1
  30. package/release/version.js +1 -1
  31. package/release/version.js.map +1 -1
  32. package/release/wnako3.js +1 -1
  33. package/release/wnako3.js.map +1 -1
  34. package/release/wnako3webworker.js +1 -1
  35. package/release/wnako3webworker.js.map +1 -1
  36. package/src/nako_version.mjs +2 -2
  37. package/src/nako_version.mts +2 -2
  38. package/src/plugin_browser.mts +0 -1
  39. package/src/plugin_node.mjs +8 -5
  40. package/src/plugin_node.mts +9 -8
package/batch/command.txt CHANGED
@@ -667,110 +667,110 @@
667
667
 
668
668
  ■plugin_node(基本プラグイン,cnako,phpnako)
669
669
  ●ファイル入出力
670
- | 関数 | 開 | Sを/Sから | ファイルSを開く | ひらく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L91
671
- | 関数 | 読 | Sを/Sから | ファイルSを開く | よむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L99
672
- | 関数 | バイナリ読 | Sを/Sから | ファイルSをバイナリ(Buffer)として開く | ばいなりよむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L107
673
- | 関数 | 保存 | SをFへ/Fに | データSをファイルFヘ書き込む | ほぞん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L115
674
- | 関数 | SJISファイル読 | Sを/Sから | SJIS形式のファイルSを読み込む | SJISふぁいるよむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L125
675
- | 関数 | SJISファイル保存 | SをFへ/Fに | SをSJIS形式でファイルFへ書き込む | SJISふぁいるほぞん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L136
676
- | 関数 | EUCファイル読 | Sを/Sから | euc-jp形式のファイルSを読み込む | EUCふぁいるよむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L147
677
- | 関数 | EUCファイル保存 | SをFへ/Fに | Sをeuc-jp形式でファイルFへ書き込む | EUCふぁいるほぞん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L157
678
- | 関数 | 起動待機 | Sを | シェルコマンドSを起動し実行終了まで待機する | きどうたいき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L167
679
- | 関数 | 起動 | Sを | シェルコマンドSを起動 | きどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L176
680
- | 関数 | 起動時 | CALLBACKでSを | シェルコマンドSを起動 | きどうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L188
681
- | 関数 | ブラウザ起動 | URLを | ブラウザでURLを起動 | ぶらうざきどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L198
682
- | 関数 | ファイル列挙 | Sの/Sを/Sで | パスSのファイル名(フォルダ名)一覧を取得する。ワイルドカード可能。「*.jpg;*.png」など複数の拡張子を指定可能。 | ふぁいるれっきょ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L206
683
- | 関数 | 全ファイル列挙 | Sの/Sを/Sで | パスS以下の全ファイル名を取得する。ワイルドカード可能。「*.jpg;*.png」のように複数の拡張子を指定可能。 | ぜんふぁいるれっきょ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L225
684
- | 関数 | 存在 | PATHが/PATHの | ファイルPATHが存在するか確認して返す | そんざい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L271
685
- | 関数 | フォルダ存在 | PATHが/PATHの | ディレクトリPATHが存在するか確認して返す | ふぉるだそんざい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L279
686
- | 関数 | フォルダ作成 | PATHの/PATHを/PATHに/PATHへ | ディレクトリPATHを作成して返す(再帰的に作成) | ふぉるださくせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L287
687
- | 関数 | ファイルコピー | AからBに/AをBへ | パスAをパスBへファイルコピーする | ふぁいるこぴー | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L295
688
- | 関数 | ファイルコピー時 | CALLBACKでAからBに/AをBへ | パスAをパスBへファイルコピーしてcallbackを実行 | ふぁいるこぴーしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L303
689
- | 関数 | ファイル移動 | AからBに/AをBへ | パスAをパスBへ移動する | ふぁいるいどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L315
690
- | 関数 | ファイル移動時 | CALLBACKでAからBに/AをBへ | パスAをパスBへ移動してcallbackを実行 | ふぁいるいどうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L323
691
- | 関数 | ファイル削除 | PATHの/PATHを | パスPATHを削除する | ふぁいるさくじょ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L335
692
- | 関数 | ファイル削除時 | CALLBACKでPATHの/PATHを | パスPATHを削除してcallbackを実行 | ふぁいるさくじょしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L343
693
- | 関数 | ファイル情報取得 | PATHの/PATHから | パスPATHの情報を調べてオブジェクトで返す | ふぁいるじょうほうしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L355
694
- | 関数 | ファイルサイズ取得 | PATHの/PATHから | パスPATHのファイルサイズを調べて返す | ふぁいるさいずしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L363
670
+ | 関数 | 開 | Sを/Sから | ファイルSを開く | ひらく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L90
671
+ | 関数 | 読 | Sを/Sから | ファイルSを開く | よむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L98
672
+ | 関数 | バイナリ読 | Sを/Sから | ファイルSをバイナリ(Buffer)として開く | ばいなりよむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L106
673
+ | 関数 | 保存 | SをFへ/Fに | データSをファイルFヘ書き込む | ほぞん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L114
674
+ | 関数 | SJISファイル読 | Sを/Sから | SJIS形式のファイルSを読み込む | SJISふぁいるよむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L124
675
+ | 関数 | SJISファイル保存 | SをFへ/Fに | SをSJIS形式でファイルFへ書き込む | SJISふぁいるほぞん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L135
676
+ | 関数 | EUCファイル読 | Sを/Sから | euc-jp形式のファイルSを読み込む | EUCふぁいるよむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L146
677
+ | 関数 | EUCファイル保存 | SをFへ/Fに | Sをeuc-jp形式でファイルFへ書き込む | EUCふぁいるほぞん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L156
678
+ | 関数 | 起動待機 | Sを | シェルコマンドSを起動し実行終了まで待機する | きどうたいき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L166
679
+ | 関数 | 起動 | Sを | シェルコマンドSを起動 | きどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L175
680
+ | 関数 | 起動時 | CALLBACKでSを | シェルコマンドSを起動 | きどうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L187
681
+ | 関数 | ブラウザ起動 | URLを | ブラウザでURLを起動 | ぶらうざきどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L197
682
+ | 関数 | ファイル列挙 | Sの/Sを/Sで | パスSのファイル名(フォルダ名)一覧を取得する。ワイルドカード可能。「*.jpg;*.png」など複数の拡張子を指定可能。 | ふぁいるれっきょ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L205
683
+ | 関数 | 全ファイル列挙 | Sの/Sを/Sで | パスS以下の全ファイル名を取得する。ワイルドカード可能。「*.jpg;*.png」のように複数の拡張子を指定可能。 | ぜんふぁいるれっきょ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L224
684
+ | 関数 | 存在 | PATHが/PATHの | ファイルPATHが存在するか確認して返す | そんざい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L270
685
+ | 関数 | フォルダ存在 | PATHが/PATHの | ディレクトリPATHが存在するか確認して返す | ふぉるだそんざい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L278
686
+ | 関数 | フォルダ作成 | PATHの/PATHを/PATHに/PATHへ | ディレクトリPATHを作成して返す(再帰的に作成) | ふぉるださくせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L286
687
+ | 関数 | ファイルコピー | AからBに/AをBへ | パスAをパスBへファイルコピーする | ふぁいるこぴー | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L294
688
+ | 関数 | ファイルコピー時 | CALLBACKでAからBに/AをBへ | パスAをパスBへファイルコピーしてcallbackを実行 | ふぁいるこぴーしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L302
689
+ | 関数 | ファイル移動 | AからBに/AをBへ | パスAをパスBへ移動する | ふぁいるいどう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L314
690
+ | 関数 | ファイル移動時 | CALLBACKでAからBに/AをBへ | パスAをパスBへ移動してcallbackを実行 | ふぁいるいどうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L322
691
+ | 関数 | ファイル削除 | PATHの/PATHを | パスPATHを削除する | ふぁいるさくじょ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L334
692
+ | 関数 | ファイル削除時 | CALLBACKでPATHの/PATHを | パスPATHを削除してcallbackを実行 | ふぁいるさくじょしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L342
693
+ | 関数 | ファイル情報取得 | PATHの/PATHから | パスPATHの情報を調べてオブジェクトで返す | ふぁいるじょうほうしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L354
694
+ | 関数 | ファイルサイズ取得 | PATHの/PATHから | パスPATHのファイルサイズを調べて返す | ふぁいるさいずしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L362
695
695
  ●パス操作
696
- | 関数 | ファイル名抽出 | Sから/Sの | フルパスのファイル名Sからファイル名部分を抽出して返す | ふぁいるめいちゅうしゅつ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L374
697
- | 関数 | パス抽出 | Sから/Sの | ファイル名Sからパス部分を抽出して返す | ぱすちゅうしゅつ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L382
698
- | 関数 | 絶対パス変換 | Aを/Aの | 相対パスから絶対パスに変換して返す | ぜったいぱすへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L390
699
- | 関数 | 相対パス展開 | AをBで | ファイル名AからパスBを展開して返す | そうたいぱすてんかい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L398
696
+ | 関数 | ファイル名抽出 | Sから/Sの | フルパスのファイル名Sからファイル名部分を抽出して返す | ふぁいるめいちゅうしゅつ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L373
697
+ | 関数 | パス抽出 | Sから/Sの | ファイル名Sからパス部分を抽出して返す | ぱすちゅうしゅつ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L381
698
+ | 関数 | 絶対パス変換 | Aを/Aの | 相対パスから絶対パスに変換して返す | ぜったいぱすへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L389
699
+ | 関数 | 相対パス展開 | AをBで | ファイル名AからパスBを展開して返す | そうたいぱすてんかい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L397
700
700
  ●フォルダ取得
701
- | 関数 | カレントディレクトリ取得 | | カレントディレクトリを返す | かれんとでぃれくとりしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L407
702
- | 関数 | カレントディレクトリ変更 | DIRに/DIRへ | カレントディレクトリをDIRに変更する | かれんとでぃれくとりへんこう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L416
703
- | 関数 | 作業フォルダ取得 | | カレントディレクトリを返す | さぎょうふぉるだしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L425
704
- | 関数 | 作業フォルダ変更 | DIRに/DIRへ | カレントディレクトリをDIRに変更する | さぎょうふぉるだへんこう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L434
705
- | 関数 | ホームディレクトリ取得 | | ホームディレクトリを取得して返す | ほーむでぃれくとりしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L443
706
- | 関数 | デスクトップ | | デスクトップパスを取得して返す | ですくとっぷ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L451
707
- | 関数 | マイドキュメント | | マイドキュメントのパスを取得して返す | まいどきゅめんと | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L460
708
- | 定数 | 母艦パス | | '' | ぼかんぱす | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L465
709
- | 関数 | 母艦パス取得 | | スクリプトのあるディレクトリを返す | ぼかんぱすしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L470
710
- | 関数 | テンポラリフォルダ | | テンポラリフォルダのパスを取得して返す | てんぽらりふぉるだ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L478
711
- | 関数 | 一時フォルダ作成 | DIRに/DIRへ | 指定のフォルダに作業用の一時フォルダを作成して取得して返す | いちじふぉるださくせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L487
701
+ | 関数 | カレントディレクトリ取得 | | カレントディレクトリを返す | かれんとでぃれくとりしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L406
702
+ | 関数 | カレントディレクトリ変更 | DIRに/DIRへ | カレントディレクトリをDIRに変更する | かれんとでぃれくとりへんこう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L415
703
+ | 関数 | 作業フォルダ取得 | | カレントディレクトリを返す | さぎょうふぉるだしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L424
704
+ | 関数 | 作業フォルダ変更 | DIRに/DIRへ | カレントディレクトリをDIRに変更する | さぎょうふぉるだへんこう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L433
705
+ | 関数 | ホームディレクトリ取得 | | ホームディレクトリを取得して返す | ほーむでぃれくとりしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L442
706
+ | 関数 | デスクトップ | | デスクトップパスを取得して返す | ですくとっぷ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L450
707
+ | 関数 | マイドキュメント | | マイドキュメントのパスを取得して返す | まいどきゅめんと | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L459
708
+ | 定数 | 母艦パス | | '' | ぼかんぱす | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L464
709
+ | 関数 | 母艦パス取得 | | スクリプトのあるディレクトリを返す | ぼかんぱすしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L469
710
+ | 関数 | テンポラリフォルダ | | テンポラリフォルダのパスを取得して返す | てんぽらりふぉるだ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L477
711
+ | 関数 | 一時フォルダ作成 | DIRに/DIRへ | 指定のフォルダに作業用の一時フォルダを作成して取得して返す | いちじふぉるださくせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L486
712
712
  ●環境変数
713
- | 関数 | 環境変数取得 | Sの | 環境変数Sを返す | かんきょうへんすうしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L500
714
- | 関数 | 環境変数一覧取得 | | 環境変数の一覧を返す | かんきょうへんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L508
713
+ | 関数 | 環境変数取得 | Sの | 環境変数Sを返す | かんきょうへんすうしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L499
714
+ | 関数 | 環境変数一覧取得 | | 環境変数の一覧を返す | かんきょうへんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L507
715
715
  ●圧縮・解凍
716
- | 定数 | 圧縮解凍ツールパス | | '7z' | あっしゅくかいとうつーるぱす | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L513
717
- | 関数 | 圧縮解凍ツールパス変更 | Vに/Vへ | 圧縮解凍に使うツールを取得変更する | あっしゅくかいとうつーるぱすへんこう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L518
718
- | 関数 | 解凍 | AをBに/AからBへ | (v1非互換)ZIPファイルAをBに解凍(実行には7-zipが必要-https://goo.gl/LmKswH) | かいとう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L527
719
- | 関数 | 解凍時 | CALLBACKでAをBに/AからBへ | 解凍処理を行い、処理が完了したときにcallback処理を実行 | かいとうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L540
720
- | 関数 | 圧縮 | AをBに/AからBへ | (v1非互換)ファイルAをBにZIP圧縮(実行には7-zipが必要-https://goo.gl/LmKswH) | あっしゅく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L556
721
- | 関数 | 圧縮時 | CALLBACKでAをBに/AからBへ | 圧縮処理を行い完了したときにcallback処理を指定 | あっしゅくしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L569
716
+ | 定数 | 圧縮解凍ツールパス | | '7z' | あっしゅくかいとうつーるぱす | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L512
717
+ | 関数 | 圧縮解凍ツールパス変更 | Vに/Vへ | 圧縮解凍に使うツールを取得変更する | あっしゅくかいとうつーるぱすへんこう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L517
718
+ | 関数 | 解凍 | AをBに/AからBへ | (v1非互換)ZIPファイルAをBに解凍(実行には7-zipが必要-https://goo.gl/LmKswH) | かいとう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L526
719
+ | 関数 | 解凍時 | CALLBACKでAをBに/AからBへ | 解凍処理を行い、処理が完了したときにcallback処理を実行 | かいとうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L539
720
+ | 関数 | 圧縮 | AをBに/AからBへ | (v1非互換)ファイルAをBにZIP圧縮(実行には7-zipが必要-https://goo.gl/LmKswH) | あっしゅく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L555
721
+ | 関数 | 圧縮時 | CALLBACKでAをBに/AからBへ | 圧縮処理を行い完了したときにcallback処理を指定 | あっしゅくしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L568
722
722
  ●Nodeプロセス
723
- | 関数 | 終 | | Nodeでプログラム実行を強制終了する | おわる | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L586
724
- | 関数 | 強制終了時 | FUNCを | Nodeでctrl+cでプログラムの実行が終了した時FUNCを実行する。もしFUNCが偽を返すと終了しない。非同期処理のとき動作する(#1010) | きょうせいしゅうりょうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L595
725
- | 関数 | 終了 | | Nodeでプログラム実行を強制終了する | しゅうりょう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L610
726
- | 関数 | OS取得 | | OSプラットフォームを返す(darwin/win32/linux) | OSしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L619
727
- | 関数 | OSアーキテクチャ取得 | | OSアーキテクチャを返す | OSあーきてくちゃしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L627
723
+ | 関数 | 終 | | Nodeでプログラム実行を強制終了する | おわる | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L585
724
+ | 関数 | 強制終了時 | FUNCを | Nodeでctrl+cでプログラムの実行が終了した時FUNCを実行する。もしFUNCが偽を返すと終了しない。非同期処理のとき動作する(#1010) | きょうせいしゅうりょうしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L594
725
+ | 関数 | 終了 | | Nodeでプログラム実行を強制終了する | しゅうりょう | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L609
726
+ | 関数 | OS取得 | | OSプラットフォームを返す(darwin/win32/linux) | OSしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L618
727
+ | 関数 | OSアーキテクチャ取得 | | OSアーキテクチャを返す | OSあーきてくちゃしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L626
728
728
  ●コマンドラインと標準入出力
729
- | 定数 | コマンドライン | | '' | こまんどらいん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L632
730
- | 定数 | ナデシコランタイム | | '' | なでしこらんたいむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L633
731
- | 定数 | ナデシコランタイムパス | | '' | なでしこらんたいむぱす | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L634
732
- | 関数 | 標準入力取得時 | CALLBACKを | 標準入力を一行取得した時に、無名関数(あるいは、文字列で関数名を指定)F(s: string)を実行する | ひょうじゅんにゅうりょくしゅとくしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L639
733
- | 関数 | 尋 | MSGと/MSGを | 標準入力を一行取得する | たずねる | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L654
734
- | 関数 | 文字尋 | MSGと/MSGを | 標準入力を一行取得する。ただし自動で数値に変換しない | もじたずねる | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L676
735
- | 関数 | 標準入力全取得 | | 標準入力を全部取得して返す | ひょうじゅんにゅうりょくぜんしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L695
729
+ | 定数 | コマンドライン | | '' | こまんどらいん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L631
730
+ | 定数 | ナデシコランタイム | | '' | なでしこらんたいむ | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L632
731
+ | 定数 | ナデシコランタイムパス | | '' | なでしこらんたいむぱす | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L633
732
+ | 関数 | 標準入力取得時 | CALLBACKを | 標準入力を一行取得した時に、無名関数(あるいは、文字列で関数名を指定)F(s: string)を実行する | ひょうじゅんにゅうりょくしゅとくしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L638
733
+ | 関数 | 尋 | MSGと/MSGを | 標準入力を一行取得する | たずねる | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L653
734
+ | 関数 | 文字尋 | MSGと/MSGを | 標準入力を一行取得する。ただし自動で数値に変換しない | もじたずねる | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L677
735
+ | 関数 | 標準入力全取得 | | 標準入力を全部取得して返す | ひょうじゅんにゅうりょくぜんしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L696
736
736
  ●テスト
737
- | 関数 | ASSERT等 | AとBが | mochaによるテストで、ASSERTでAとBが正しいことを報告する | ASSERTひとしい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L717
737
+ | 関数 | ASSERT等 | AとBが | mochaによるテストで、ASSERTでAとBが正しいことを報告する | ASSERTひとしい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L718
738
738
  ●ネットワーク
739
- | 関数 | 自分IPアドレス取得 | | ネットワークアダプターからIPアドレス(IPv4)を取得して配列で返す | じぶんIPあどれすしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L726
740
- | 関数 | 自分IPV6アドレス取得 | | ネットワークアダプターからIPアドレス(IPv6)を取得して配列で返す | じぶんIPV6あどれすしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L748
739
+ | 関数 | 自分IPアドレス取得 | | ネットワークアダプターからIPアドレス(IPv4)を取得して配列で返す | じぶんIPあどれすしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L727
740
+ | 関数 | 自分IPV6アドレス取得 | | ネットワークアダプターからIPアドレス(IPv6)を取得して配列で返す | じぶんIPV6あどれすしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L749
741
741
  ●Ajax
742
- | 関数 | AJAX送信時 | CALLBACKのURLまで/URLへ/URLに | 非同期通信(Ajax)でURLにデータを送信し、成功するとcallbackが実行される。その際『対象』にデータが代入される。 | AJAXそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L768
743
- | 関数 | AJAX受信時 | CALLBACKでURLから/URLを | 非同期通信(Ajax)でURLにデータを送信し、成功するとcallbackが実行される。その際『対象』にデータが代入される。 | AJAXそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L787
744
- | 関数 | GET送信時 | CALLBACKのURLまで/URLへ/URLに | 非同期通信(Ajax)でURLにデータを送信し、成功するとcallbackが実行される。その際『対象』にデータが代入される。 | GETそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L796
745
- | 関数 | POST送信時 | CALLBACKのURLまでPARAMSを/URLへ/URLに | AjaxでURLにPARAMSをPOST送信し『対象』にデータを設定 | POSTそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L805
746
- | 関数 | POSTフォーム送信時 | CALLBACKのURLまでPARAMSを/URLへ/URLに | AjaxでURLにPARAMSをフォームとしてPOST送信し『対象』にデータを設定 | POSTふぉーむそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L834
747
- | 関数 | AJAX失敗時 | CALLBACKの | Ajax命令でエラーが起きたとき | AJAXえらーしっぱいしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L859
748
- | 定数 | AJAXオプション | | '' | Ajax関連のオプションを指定 | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L863
749
- | 関数 | AJAXオプション設定 | OPTIONに/OPTIONへ/OPTIONと | Ajax命令でオプションを設定 | AJAXおぷしょんせってい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L868
750
- | 関数 | AJAX保障送信 | URLまで/URLへ/URLに | 非同期通信(Ajax)でURLにデータの送信を開始する非同期処理オブジェクト(Promise)を作成する。 | AJAXほしょうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L877
751
- | 関数 | HTTP保障取得 | URLの/URLから/URLを | 非同期通信(Ajax)でURLにデータの送信を開始する非同期処理オブジェクト(Promise)を作成する。 | HTTPほしょうしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L888
752
- | 関数 | GET保障送信 | URLまで/URLへ/URLに | 非同期通信(Ajax)でURLにデータの送信を開始する非同期処理オブジェクト(Promise)を作成する。 | GETほしょうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L897
753
- | 関数 | POST保障送信 | URLまでPARAMSを/URLへ/URLに | 非同期通信(Ajax)でURLにPARAMSをPOST送信を開始する非同期処理オブジェクト(Promise)を作成する。 | POSTほしょうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L906
754
- | 関数 | POSTフォーム保障送信 | URLまでPARAMSを/URLへ/URLに | 非同期通信(Ajax)でURLにPARAMSをフォームとしてPOST送信を開始する非同期処理オブジェクト(Promise)を作成する。 | POSTふぉーむほしょうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L929
755
- | 関数 | AJAX内容取得 | RESからTYPEで | 非同期通信(Ajax)の応答から内容を指定した形式で取り出すための非同期処理オブジェクト(Promise)を返す。 | AJAXないようしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L945
756
- | 関数 | AJAX受信 | URLから/URLを | 「!非同期モード」で非同期通信(Ajax)でURLからデータを受信する。『AJAXオプション』を指定できる。結果は変数『対象』に入る | AJAXじゅしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L970
757
- | 関数 | POSTデータ生成 | PARAMSの/PARAMSを | 辞書形式のデータPARAMSをkey=value&key=value...の形式に変換する | POSTでーたせいせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L998
742
+ | 関数 | AJAX送信時 | CALLBACKのURLまで/URLへ/URLに | 非同期通信(Ajax)でURLにデータを送信し、成功するとcallbackが実行される。その際『対象』にデータが代入される。 | AJAXそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L769
743
+ | 関数 | AJAX受信時 | CALLBACKでURLから/URLを | 非同期通信(Ajax)でURLにデータを送信し、成功するとcallbackが実行される。その際『対象』にデータが代入される。 | AJAXそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L788
744
+ | 関数 | GET送信時 | CALLBACKのURLまで/URLへ/URLに | 非同期通信(Ajax)でURLにデータを送信し、成功するとcallbackが実行される。その際『対象』にデータが代入される。 | GETそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L797
745
+ | 関数 | POST送信時 | CALLBACKのURLまでPARAMSを/URLへ/URLに | AjaxでURLにPARAMSをPOST送信し『対象』にデータを設定 | POSTそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L806
746
+ | 関数 | POSTフォーム送信時 | CALLBACKのURLまでPARAMSを/URLへ/URLに | AjaxでURLにPARAMSをフォームとしてPOST送信し『対象』にデータを設定 | POSTふぉーむそうしんしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L835
747
+ | 関数 | AJAX失敗時 | CALLBACKの | Ajax命令でエラーが起きたとき | AJAXえらーしっぱいしたとき | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L860
748
+ | 定数 | AJAXオプション | | '' | Ajax関連のオプションを指定 | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L864
749
+ | 関数 | AJAXオプション設定 | OPTIONに/OPTIONへ/OPTIONと | Ajax命令でオプションを設定 | AJAXおぷしょんせってい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L869
750
+ | 関数 | AJAX保障送信 | URLまで/URLへ/URLに | 非同期通信(Ajax)でURLにデータの送信を開始する非同期処理オブジェクト(Promise)を作成する。 | AJAXほしょうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L878
751
+ | 関数 | HTTP保障取得 | URLの/URLから/URLを | 非同期通信(Ajax)でURLにデータの送信を開始する非同期処理オブジェクト(Promise)を作成する。 | HTTPほしょうしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L889
752
+ | 関数 | GET保障送信 | URLまで/URLへ/URLに | 非同期通信(Ajax)でURLにデータの送信を開始する非同期処理オブジェクト(Promise)を作成する。 | GETほしょうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L898
753
+ | 関数 | POST保障送信 | URLまでPARAMSを/URLへ/URLに | 非同期通信(Ajax)でURLにPARAMSをPOST送信を開始する非同期処理オブジェクト(Promise)を作成する。 | POSTほしょうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L907
754
+ | 関数 | POSTフォーム保障送信 | URLまでPARAMSを/URLへ/URLに | 非同期通信(Ajax)でURLにPARAMSをフォームとしてPOST送信を開始する非同期処理オブジェクト(Promise)を作成する。 | POSTふぉーむほしょうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L930
755
+ | 関数 | AJAX内容取得 | RESからTYPEで | 非同期通信(Ajax)の応答から内容を指定した形式で取り出すための非同期処理オブジェクト(Promise)を返す。 | AJAXないようしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L946
756
+ | 関数 | AJAX受信 | URLから/URLを | 「!非同期モード」で非同期通信(Ajax)でURLからデータを受信する。『AJAXオプション』を指定できる。結果は変数『対象』に入る | AJAXじゅしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L971
757
+ | 関数 | POSTデータ生成 | PARAMSの/PARAMSを | 辞書形式のデータPARAMSをkey=value&key=value...の形式に変換する | POSTでーたせいせい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L999
758
758
  ●新AJAX
759
- | 関数 | AJAXテキスト取得 | URLから | AJAXでURLにアクセスしテキスト形式で結果を得る。送信時AJAXオプションの値を参照。 | AJAXてきすとしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1014
760
- | 関数 | AJAX_JSON取得 | URLから | AJAXでURLにアクセスしJSONの結果を得て、送信時AJAXオプションの値を参照。 | AJAX_JSONしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1029
761
- | 関数 | AJAXバイナリ取得 | URLから | AJAXでURLにアクセスしバイナリ(arrayBuffer)形式で結果を得る。送信時AJAXオプションの値を参照。 | AJAXばいなりしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1043
759
+ | 関数 | AJAXテキスト取得 | URLから | AJAXでURLにアクセスしテキスト形式で結果を得る。送信時AJAXオプションの値を参照。 | AJAXてきすとしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1015
760
+ | 関数 | AJAX_JSON取得 | URLから | AJAXでURLにアクセスしJSONの結果を得て、送信時AJAXオプションの値を参照。 | AJAX_JSONしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1030
761
+ | 関数 | AJAXバイナリ取得 | URLから | AJAXでURLにアクセスしバイナリ(arrayBuffer)形式で結果を得る。送信時AJAXオプションの値を参照。 | AJAXばいなりしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1044
762
762
  ●LINE
763
- | 関数 | LINE送信 | TOKENへMESSAGEを/TOKENに | LINEにメッセージを送信する。先にLINE Notifyのページで宛先のトークンを取得する。TOKENへMESSAGEをLINE送信する。 | LINEそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1058
764
- | 関数 | LINE画像送信 | TOKENへIMAGEFILEとMESSAGEを/TOKENに | LINEにメッセージを送信する。先にLINE Notifyのページで宛先のトークンを取得する。TOKENへIMAGE_FILEとMESSAGEをLINE画像送信する。 | LINEがぞうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1080
763
+ | 関数 | LINE送信 | TOKENへMESSAGEを/TOKENに | LINEにメッセージを送信する。先にLINE Notifyのページで宛先のトークンを取得する。TOKENへMESSAGEをLINE送信する。 | LINEそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1059
764
+ | 関数 | LINE画像送信 | TOKENへIMAGEFILEとMESSAGEを/TOKENに | LINEにメッセージを送信する。先にLINE Notifyのページで宛先のトークンを取得する。TOKENへIMAGE_FILEとMESSAGEをLINE画像送信する。 | LINEがぞうそうしん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1081
765
765
  ●文字コード
766
- | 関数 | 文字コード変換サポート判定 | CODEの/CODEを | 文字コードCODEをサポートしているか確認 | もじこーどさぽーとはんてい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1104
767
- | 関数 | SJIS変換 | STRに/STRへ/STRを | (v1非互換)文字列をShift_JISのバイナリバッファに変換 | SJISへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1112
768
- | 関数 | SJIS取得 | BUFから/BUFを/BUFで | Shift_JISのバイナリバッファを文字列に変換 | SJISしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1121
769
- | 関数 | エンコーディング変換 | SをCODEへ/CODEで | 文字列SをCODEへ変換してバイナリバッファを返す | えんこーでぃんぐへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1130
770
- | 関数 | エンコーディング取得 | BUFをCODEから/CODEで | バイナリバッファBUFをCODEから変換して返す | えんこーでぃんぐしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1139
766
+ | 関数 | 文字コード変換サポート判定 | CODEの/CODEを | 文字コードCODEをサポートしているか確認 | もじこーどさぽーとはんてい | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1105
767
+ | 関数 | SJIS変換 | STRに/STRへ/STRを | (v1非互換)文字列をShift_JISのバイナリバッファに変換 | SJISへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1113
768
+ | 関数 | SJIS取得 | BUFから/BUFを/BUFで | Shift_JISのバイナリバッファを文字列に変換 | SJISしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1122
769
+ | 関数 | エンコーディング変換 | SをCODEへ/CODEで | 文字列SをCODEへ変換してバイナリバッファを返す | えんこーでぃんぐへんかん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1131
770
+ | 関数 | エンコーディング取得 | BUFをCODEから/CODEで | バイナリバッファBUFをCODEから変換して返す | えんこーでぃんぐしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1140
771
771
  ●ハッシュ関数
772
- | 関数 | ハッシュ関数一覧取得 | | 利用可能なハッシュ関数の一覧を返す | はっしゅかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1149
773
- | 関数 | ハッシュ値計算 | SをALGのENCで | データSをアルゴリズムALG(sha256/sha512/md5)のエンコーディングENC(hex/base64)でハッシュ値を計算して返す | はっしゅちけいさん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1157
772
+ | 関数 | ハッシュ関数一覧取得 | | 利用可能なハッシュ関数の一覧を返す | はっしゅかんすういちらんしゅとく | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1150
773
+ | 関数 | ハッシュ値計算 | SをALGのENCで | データSをアルゴリズムALG(sha256/sha512/md5)のエンコーディングENC(hex/base64)でハッシュ値を計算して返す | はっしゅちけいさん | https://github.com/kujirahand/nadesiko3/tree/master/src/plugin_node.mts#L1158
774
774
 
775
775
 
776
776
  ■plugin_httpserver(基本プラグイン,cnako)
package/core/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3core",
3
- "version": "3.4.14",
3
+ "version": "3.4.18",
4
4
  "description": "Japanese Programming Language Nadesiko v3 core",
5
5
  "main": "index.mjs",
6
6
  "type": "module",
@@ -46,7 +46,7 @@
46
46
  "@typescript-eslint/eslint-plugin": "^5.0.0",
47
47
  "eslint-config-standard-with-typescript": "^24.0.0",
48
48
  "mocha": "^10.0.0",
49
- "typescript": "^4.9.5"
49
+ "typescript": "^5.0.3"
50
50
  },
51
51
  "dependencies": {
52
52
  "cross-env": "^7.0.3"
@@ -1,8 +1,8 @@
1
1
  // 実際のバージョン定義 (自動生成されるので以下を編集しない)
2
2
  const coreVersion = {
3
- version: '3.4.14',
3
+ version: '3.4.18',
4
4
  major: 3,
5
5
  minor: 4,
6
- patch: 14
6
+ patch: 18
7
7
  };
8
8
  export default coreVersion;
@@ -11,9 +11,9 @@ export interface NakoCoreVersion {
11
11
  }
12
12
  // 実際のバージョン定義 (自動生成されるので以下を編集しない)
13
13
  const coreVersion: NakoCoreVersion = {
14
- version: '3.4.14',
14
+ version: '3.4.18',
15
15
  major: 3,
16
16
  minor: 4,
17
- patch: 14
17
+ patch: 18
18
18
  }
19
19
  export default coreVersion
@@ -66,21 +66,6 @@ export class NakoLexerError extends NakoError {
66
66
  }
67
67
  }
68
68
  export class NakoSyntaxError extends NakoError {
69
- /**
70
- * @param {string} msg
71
- * @param {number | undefined} line
72
- * @param {number | undefined} startOffset
73
- * @param {number | undefined} endOffset
74
- * @param {string | undefined} file
75
- */
76
- constructor(msg, line, startOffset, endOffset, file) {
77
- super('文法エラー', msg, file, line);
78
- this.type = 'NakoSyntaxError';
79
- this.file = file;
80
- this.line = line;
81
- this.startOffset = startOffset;
82
- this.endOffset = endOffset;
83
- }
84
69
  /**
85
70
  * @param {string} msg
86
71
  * @param {Ast} first
@@ -96,6 +81,21 @@ export class NakoSyntaxError extends NakoError {
96
81
  : (typeof first.endOffset === 'number' ? first.endOffset : undefined);
97
82
  return new NakoSyntaxError(msg, first.line, startOffset, endOffset, first.file);
98
83
  }
84
+ /**
85
+ * @param {string} msg
86
+ * @param {number | undefined} line
87
+ * @param {number | undefined} startOffset
88
+ * @param {number | undefined} endOffset
89
+ * @param {string | undefined} file
90
+ */
91
+ constructor(msg, line, startOffset, endOffset, file) {
92
+ super('文法エラー', msg, file, line);
93
+ this.type = 'NakoSyntaxError';
94
+ this.file = file;
95
+ this.line = line;
96
+ this.startOffset = startOffset;
97
+ this.endOffset = endOffset;
98
+ }
99
99
  }
100
100
  export class NakoRuntimeError extends NakoError {
101
101
  /**
@@ -432,6 +432,9 @@ export class NakoGen {
432
432
  case 'number':
433
433
  code += node.value;
434
434
  break;
435
+ case 'bigint':
436
+ code += node.value;
437
+ break;
435
438
  case 'string':
436
439
  code += this.convString(node);
437
440
  break;
@@ -1421,16 +1424,16 @@ export class NakoGen {
1421
1424
  let right = this._convGen(node.right, true);
1422
1425
  let left = this._convGen(node.left, true);
1423
1426
  if (op === '+' && this.speedMode.implicitTypeCasting === 0) {
1424
- if (node.left && node.left.type !== 'number') {
1425
- left = `parseFloat(${left})`;
1427
+ if (node.left && node.left.type !== 'number' && node.left.type !== 'bigint') {
1428
+ left = `self.__parseFloatOrBigint(${left})`;
1426
1429
  }
1427
- if (node.right && node.right.type !== 'number') {
1428
- right = `parseFloat(${right})`;
1430
+ if (node.right && node.right.type !== 'number' && node.right.type !== 'bigint') {
1431
+ right = `self.__parseFloatOrBigint(${right})`;
1429
1432
  }
1430
1433
  }
1431
1434
  // 階乗
1432
1435
  if (op === '^' || op === '**') {
1433
- return `(Math.pow(${left}, ${right}))`;
1436
+ return `((${left}) ** (${right}))`;
1434
1437
  }
1435
1438
  // 整数の割り算 #1152
1436
1439
  if (op === '÷÷') {
@@ -1624,6 +1627,7 @@ __jsInit__
1624
1627
  // --- Copy module functions ---
1625
1628
  for (const mod of __importNames__) {
1626
1629
  for (const funcName in mod) {
1630
+ // プラグインの初期化とクリア関数を登録
1627
1631
  if (funcName === '初期化') {
1628
1632
  self.initFuncList.push(mod[funcName].fn)
1629
1633
  continue
@@ -1632,7 +1636,13 @@ for (const mod of __importNames__) {
1632
1636
  self.clearFuncList.push(mod[funcName].fn)
1633
1637
  continue
1634
1638
  }
1635
- self.__varslist[0][funcName] = mod[funcName].fn
1639
+ // 関数や定数を登録
1640
+ const f = mod[funcName]
1641
+ if (f.type === 'func') { // 関数
1642
+ self.__varslist[0][funcName] = f.fn
1643
+ } else { // 定数
1644
+ self.__varslist[0][funcName] = f.value
1645
+ }
1636
1646
  }
1637
1647
  }
1638
1648
  self.__vars = self.__varslist[2];
@@ -494,6 +494,9 @@ export class NakoGen {
494
494
  case 'number':
495
495
  code += node.value
496
496
  break
497
+ case 'bigint':
498
+ code += node.value
499
+ break
497
500
  case 'string':
498
501
  code += this.convString(node)
499
502
  break
@@ -1491,15 +1494,15 @@ export class NakoGen {
1491
1494
  let right = this._convGen(node.right as Ast, true)
1492
1495
  let left = this._convGen(node.left as Ast, true)
1493
1496
  if (op === '+' && this.speedMode.implicitTypeCasting === 0) {
1494
- if (node.left && (node.left as Ast).type !== 'number') {
1495
- left = `parseFloat(${left})`
1497
+ if (node.left && (node.left as Ast).type !== 'number' && (node.left as Ast).type !== 'bigint') {
1498
+ left = `self.__parseFloatOrBigint(${left})`
1496
1499
  }
1497
- if (node.right && (node.right as Ast).type !== 'number') {
1498
- right = `parseFloat(${right})`
1500
+ if (node.right && (node.right as Ast).type !== 'number' && (node.right as Ast).type !== 'bigint') {
1501
+ right = `self.__parseFloatOrBigint(${right})`
1499
1502
  }
1500
1503
  }
1501
1504
  // 階乗
1502
- if (op === '^' || op === '**') { return `(Math.pow(${left}, ${right}))` }
1505
+ if (op === '^' || op === '**') { return `((${left}) ** (${right}))` }
1503
1506
  // 整数の割り算 #1152
1504
1507
  if (op === '÷÷') { return `(Math.floor(${left} / ${right}))` }
1505
1508
 
@@ -1694,6 +1697,7 @@ __jsInit__
1694
1697
  // --- Copy module functions ---
1695
1698
  for (const mod of __importNames__) {
1696
1699
  for (const funcName in mod) {
1700
+ // プラグインの初期化とクリア関数を登録
1697
1701
  if (funcName === '初期化') {
1698
1702
  self.initFuncList.push(mod[funcName].fn)
1699
1703
  continue
@@ -1702,7 +1706,13 @@ for (const mod of __importNames__) {
1702
1706
  self.clearFuncList.push(mod[funcName].fn)
1703
1707
  continue
1704
1708
  }
1705
- self.__varslist[0][funcName] = mod[funcName].fn
1709
+ // 関数や定数を登録
1710
+ const f = mod[funcName]
1711
+ if (f.type === 'func') { // 関数
1712
+ self.__varslist[0][funcName] = f.fn
1713
+ } else { // 定数
1714
+ self.__varslist[0][funcName] = f.value
1715
+ }
1706
1716
  }
1707
1717
  }
1708
1718
  self.__vars = self.__varslist[2];
@@ -52,6 +52,58 @@ class NakoCode {
52
52
  * 構文木からJSのコードを生成するクラス
53
53
  */
54
54
  export class NakoGenASync {
55
+ /**
56
+ * @param com
57
+ * @param {Ast} ast
58
+ * @param {boolean | string} isTest 文字列なら1つのテストだけを実行する
59
+ */
60
+ static generate(com, ast, isTest) {
61
+ const gen = new NakoGenASync(com);
62
+ // ユーザー定義関数をシステムに登録する
63
+ gen.registerFunction(ast);
64
+ // JSコードを生成する
65
+ let js = gen.convGen(ast, !!isTest);
66
+ // JSコードを実行するための事前ヘッダ部分の生成
67
+ js = gen.getDefFuncCode(isTest) + js;
68
+ com.getLogger().trace('--- generate(非同期モード) ---\n' + js);
69
+ // テストの実行
70
+ if (js && isTest) {
71
+ js += '\n__self._runTests(__tests);\n';
72
+ }
73
+ return {
74
+ // なでしこの実行環境ありの場合
75
+ runtimeEnv: js,
76
+ // JavaScript単体で動かす場合
77
+ standalone: `\
78
+ const nakoVersion = ${JSON.stringify(nakoVersion)};
79
+ ${NakoError.toString()}
80
+ ${NakoRuntimeError.toString()}
81
+ this.logger = {
82
+ error(message) { console.error(message) },
83
+ send(level, message) { console.log(message) },
84
+ };
85
+ this.__varslist = [{}, {}, {}];
86
+ this.__vars = this.__varslist[2];
87
+ this.__module = {};
88
+ this.__locals = {};
89
+ this.__labels = {};
90
+ this.__code = [];
91
+ this.__callstack = [];
92
+ this.__stack = [];
93
+ this.__genMode = '非同期モード';
94
+ try {
95
+ ${gen.getVarsCode()}
96
+ ${js}
97
+ } catch (err) {
98
+ if (!(err instanceof NakoRuntimeError)) {
99
+ err = new NakoRuntimeError(err, this.__varslist[0].line);
100
+ }
101
+ this.logger.error(err);
102
+ throw err;
103
+ }`,
104
+ gen // コード生成に使ったNakoGenのインスタンス
105
+ };
106
+ }
55
107
  /**
56
108
  * @param com コンパイラのインスタンス
57
109
  */
@@ -141,58 +193,6 @@ export class NakoGenASync {
141
193
  systemFunctionBody: 0 // システム関数(呼び出しコードを除く)
142
194
  };
143
195
  }
144
- /**
145
- * @param com
146
- * @param {Ast} ast
147
- * @param {boolean | string} isTest 文字列なら1つのテストだけを実行する
148
- */
149
- static generate(com, ast, isTest) {
150
- const gen = new NakoGenASync(com);
151
- // ユーザー定義関数をシステムに登録する
152
- gen.registerFunction(ast);
153
- // JSコードを生成する
154
- let js = gen.convGen(ast, !!isTest);
155
- // JSコードを実行するための事前ヘッダ部分の生成
156
- js = gen.getDefFuncCode(isTest) + js;
157
- com.getLogger().trace('--- generate(非同期モード) ---\n' + js);
158
- // テストの実行
159
- if (js && isTest) {
160
- js += '\n__self._runTests(__tests);\n';
161
- }
162
- return {
163
- // なでしこの実行環境ありの場合
164
- runtimeEnv: js,
165
- // JavaScript単体で動かす場合
166
- standalone: `\
167
- const nakoVersion = ${JSON.stringify(nakoVersion)};
168
- ${NakoError.toString()}
169
- ${NakoRuntimeError.toString()}
170
- this.logger = {
171
- error(message) { console.error(message) },
172
- send(level, message) { console.log(message) },
173
- };
174
- this.__varslist = [{}, {}, {}];
175
- this.__vars = this.__varslist[2];
176
- this.__module = {};
177
- this.__locals = {};
178
- this.__labels = {};
179
- this.__code = [];
180
- this.__callstack = [];
181
- this.__stack = [];
182
- this.__genMode = '非同期モード';
183
- try {
184
- ${gen.getVarsCode()}
185
- ${js}
186
- } catch (err) {
187
- if (!(err instanceof NakoRuntimeError)) {
188
- err = new NakoRuntimeError(err, this.__varslist[0].line);
189
- }
190
- this.logger.error(err);
191
- throw err;
192
- }`,
193
- gen // コード生成に使ったNakoGenのインスタンス
194
- };
195
- }
196
196
  /**
197
197
  * @param {import("./nako3").Ast} node
198
198
  * @param {boolean} forceUpdate
@@ -25,6 +25,11 @@ export const rules = [
25
25
  { name: 'range_comment', pattern: /^\/\*/, cbParser: cbRangeComment },
26
26
  { name: 'def_test', pattern: /^●テスト:/ },
27
27
  { name: 'def_func', pattern: /^●/ },
28
+ // 多倍長整数リテラルの判定。整数の末尾に「n」がついているだけな為、数値判定より上に書かないとただの整数にされる
29
+ { name: 'bigint', pattern: /^0[xX][0-9a-fA-F]+(_[0-9a-fA-F]+)*n/, readJosi: true },
30
+ { name: 'bigint', pattern: /^0[oO][0-7]+(_[0-7]+)*n/, readJosi: true },
31
+ { name: 'bigint', pattern: /^0[bB][0-1]+(_[0-1]+)*n/, readJosi: true },
32
+ { name: 'bigint', pattern: /^\d+(_\d+)*?n/, readJosi: true },
28
33
  // 数値の判定 --- この後nako_lexerにて単位を読む処理が入る(#994)
29
34
  { name: 'number', pattern: /^0[xX][0-9a-fA-F]+(_[0-9a-fA-F]+)*/, readJosi: true, cb: parseNumber },
30
35
  { name: 'number', pattern: /^0[oO][0-7]+(_[0-7]+)*/, readJosi: true, cb: parseNumber },
@@ -44,6 +44,11 @@ export const rules: NakoLexRule[] = [
44
44
  { name: 'range_comment', pattern: /^\/\*/, cbParser: cbRangeComment },
45
45
  { name: 'def_test', pattern: /^●テスト:/ },
46
46
  { name: 'def_func', pattern: /^●/ },
47
+ // 多倍長整数リテラルの判定。整数の末尾に「n」がついているだけな為、数値判定より上に書かないとただの整数にされる
48
+ { name: 'bigint', pattern: /^0[xX][0-9a-fA-F]+(_[0-9a-fA-F]+)*n/, readJosi: true },
49
+ { name: 'bigint', pattern: /^0[oO][0-7]+(_[0-7]+)*n/, readJosi: true },
50
+ { name: 'bigint', pattern: /^0[bB][0-1]+(_[0-1]+)*n/, readJosi: true },
51
+ { name: 'bigint', pattern: /^\d+(_\d+)*?n/, readJosi: true },
47
52
  // 数値の判定 --- この後nako_lexerにて単位を読む処理が入る(#994)
48
53
  { name: 'number', pattern: /^0[xX][0-9a-fA-F]+(_[0-9a-fA-F]+)*/, readJosi: true, cb: parseNumber },
49
54
  { name: 'number', pattern: /^0[oO][0-7]+(_[0-7]+)*/, readJosi: true, cb: parseNumber },