nadesiko3 3.6.21 → 3.6.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/batch/command.txt +31 -30
- package/batch/copy_core.nako3 +4 -1
- package/core/README.md +4 -10
- package/core/package-lock.json +5 -5
- package/core/package.json +1 -1
- package/core/src/nako_ast.mts +1 -0
- package/core/src/nako_core_version.mjs +2 -2
- package/core/src/nako_core_version.mts +2 -2
- package/core/src/nako_gen.mjs +8 -5
- package/core/src/nako_gen.mts +8 -5
- package/core/src/nako_parser3.mjs +8 -0
- package/core/src/nako_parser3.mts +4 -2
- package/core/test/dncl2_test.mjs +2 -2
- package/core/test/flow_test.mjs +18 -0
- package/package.json +4 -3
- package/release/_hash.txt +28 -28
- package/release/_script-tags.txt +33 -33
- package/release/command.json +1 -1
- package/release/command.json.js +1 -1
- package/release/command_cnako3.json +1 -1
- package/release/command_list.json +1 -1
- package/release/edit_main.js +1 -1
- package/release/edit_main.js.map +2 -2
- package/release/editor.js +1 -1
- package/release/version.js +1 -1
- package/release/version_main.js +1 -1
- package/release/version_main.js.map +1 -1
- package/release/wnako3.js +36 -35
- package/release/wnako3.js.map +3 -3
- package/release/wnako3webworker.js +50 -49
- package/release/wnako3webworker.js.map +3 -3
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
- package/src/plugin_browser_dom_parts.mjs +16 -1
- package/src/plugin_browser_dom_parts.mts +12 -1
- package/tools/nako3edit/html/files.html +5 -1
- package/tools/nako3edit/html/plugins.html +134 -0
- package/tools/nako3edit/index.mjs +55 -7
package/batch/command.txt
CHANGED
|
@@ -508,36 +508,37 @@
|
|
|
508
508
|
| 関数 | 画面更新時実行 | FUNCを | 画面描画タイミングで関数F(文字列指定も可)を実行する。識別IDを返す。 | がめんこうしんじじっこう | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_event.mts#L176
|
|
509
509
|
| 関数 | 画面更新処理取消 | IDの/IDを | 識別IDを指定して『画面更新時実行』を取り消す | がめんこうしんしょりとりけし | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_event.mts#L187
|
|
510
510
|
●DOM部品操作
|
|
511
|
-
| 定数 | DOM親要素 | | '' | DOMおやようそ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
512
|
-
| 定数 | DOM部品個数 | | 0 | DOMせいせいこすう | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
513
|
-
| 定数 | DOM部品オプション | | { '自動改行': false, 'テーブルヘッダ': true, 'テーブル背景色': ['#AA4040', '#ffffff', '#fff0f0'], 'テーブル数値右寄せ': true } | DOMぶひんおぷしょん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
514
|
-
| 関数 | DOM親要素設定 | ELに/ELへ | 「ボタン作成」「エディタ作成」など『DOM部品作成』で追加する要素の親要素を指定(デフォルトはdocument)して要素を返す。 | DOMおやようそせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
515
|
-
| 関数 | DOM親部品設定 | ELに/ELへ | DOM部品作成でDOM要素を追加する親の対象を指定。『DOM親要素設定』と同じ。 | DOMおやぶひんせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
516
|
-
| 定数 | DOMスキン | | '' | DOMすきん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
517
|
-
| 定数 | DOMスキン辞書 | | {} | DOMすきんじしょ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
518
|
-
| 関数 | DOMスキン設定 | SKINを/SKINに/SKINの | 「ボタン作成」「エディタ作成」などで適用するスキンを指定する(#1033) | DOMすきんせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
519
|
-
| 関数 | DOM部品作成 | ELMの | elmの要素を作成して『DOM親要素設定』で指定した要素に追加して、DOMオブジェクトを返す。(elmがDOM要素なら追加する) | DOMぶひんさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#
|
|
520
|
-
| 関数 |
|
|
521
|
-
| 関数 |
|
|
522
|
-
| 関数 |
|
|
523
|
-
| 関数 |
|
|
524
|
-
| 関数 |
|
|
525
|
-
| 関数 |
|
|
526
|
-
| 関数 |
|
|
527
|
-
| 関数 |
|
|
528
|
-
| 関数 |
|
|
529
|
-
| 関数 |
|
|
530
|
-
| 関数 |
|
|
531
|
-
| 関数 |
|
|
532
|
-
| 関数 |
|
|
533
|
-
| 関数 |
|
|
534
|
-
| 関数 |
|
|
535
|
-
| 関数 |
|
|
536
|
-
| 関数 |
|
|
537
|
-
| 関数 |
|
|
538
|
-
| 関数 |
|
|
539
|
-
| 関数 |
|
|
540
|
-
| 関数 |
|
|
511
|
+
| 定数 | DOM親要素 | | '' | DOMおやようそ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L4
|
|
512
|
+
| 定数 | DOM部品個数 | | 0 | DOMせいせいこすう | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L5
|
|
513
|
+
| 定数 | DOM部品オプション | | { '自動改行': false, 'テーブルヘッダ': true, 'テーブル背景色': ['#AA4040', '#ffffff', '#fff0f0'], 'テーブル数値右寄せ': true } | DOMぶひんおぷしょん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L6
|
|
514
|
+
| 関数 | DOM親要素設定 | ELに/ELへ | 「ボタン作成」「エディタ作成」など『DOM部品作成』で追加する要素の親要素を指定(デフォルトはdocument)して要素を返す。 | DOMおやようそせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L11
|
|
515
|
+
| 関数 | DOM親部品設定 | ELに/ELへ | DOM部品作成でDOM要素を追加する親の対象を指定。『DOM親要素設定』と同じ。 | DOMおやぶひんせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L21
|
|
516
|
+
| 定数 | DOMスキン | | '' | DOMすきん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L25
|
|
517
|
+
| 定数 | DOMスキン辞書 | | {} | DOMすきんじしょ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L26
|
|
518
|
+
| 関数 | DOMスキン設定 | SKINを/SKINに/SKINの | 「ボタン作成」「エディタ作成」などで適用するスキンを指定する(#1033) | DOMすきんせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L31
|
|
519
|
+
| 関数 | DOM部品作成 | ELMの | elmの要素を作成して『DOM親要素設定』で指定した要素に追加して、DOMオブジェクトを返す。(elmがDOM要素なら追加する) | DOMぶひんさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L40
|
|
520
|
+
| 関数 | DOM部品削除 | ELMの/ELMを | elmの要素を削除する | DOMぶひんさくじょ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L62
|
|
521
|
+
| 関数 | ボタン作成 | LABELの | ラベルlabelを持つbutton要素を追加しDOMオブジェクトを返す | ぼたんさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L72
|
|
522
|
+
| 関数 | エディタ作成 | TEXTの | textの値を持つテキストボックス(input[type='text'])の要素を追加しDOMオブジェクトを返す | えでぃたさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L82
|
|
523
|
+
| 関数 | テキストエリア作成 | TEXTの | textの値を持つtextarea要素を追加しDOMオブジェクトを返す | てきすとえりあさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L93
|
|
524
|
+
| 関数 | ラベル作成 | TEXTの | textの値を持つラベル(span要素)を追加しDOMオブジェクトを返す | らべるさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L103
|
|
525
|
+
| 関数 | キャンバス作成 | SIZEの | 大きさ[幅, 高]のcanvas要素を追加しDOMオブジェクトを返す | きゃんばすさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L113
|
|
526
|
+
| 関数 | 画像作成 | URLの/URLから | URLを指定してimg要素を追加しDOMオブジェクトを返す | がぞうさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L128
|
|
527
|
+
| 関数 | 改行作成 | | 改行(br要素)を追加しDOMオブジェクトを返す | かいぎょうさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L138
|
|
528
|
+
| 関数 | チェックボックス作成 | TEXTの | textのラベルを持つチェックボックス(input[type='checkbox'])要素を追加しDOMオブジェクトを返す | ちぇっくぼっくすさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L147
|
|
529
|
+
| 関数 | セレクトボックス作成 | OPTIONSの | 配列optionsの選択肢を持つselect要素を追加しDOMオブジェクトを返す | せれくとぼっくすさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L168
|
|
530
|
+
| 関数 | セレクトボックスアイテム設定 | OPTIONSをDOMへ/DOMに | 配列データをセレクトボックスdomのアイテムに差し替える | せれくとぼっくすあいてむさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L185
|
|
531
|
+
| 関数 | 色選択ボックス作成 | | 色選択ボックス(input[type='color'])を作成しDOMオブジェクトを返す | いろせんたくぼっくすさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L203
|
|
532
|
+
| 関数 | 日付選択ボックス作成 | | 日付選択ボックス(input[type='date'])を作成しDOMオブジェクトを返す | ひづけせんたくぼっくすさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L213
|
|
533
|
+
| 関数 | パスワード入力エディタ作成 | Sの/Sで | パスワード入力エディタ(input[type='password'])を作成し初期値Sを設定し、DOMオブジェクトを返す | ぱすわーどにゅうりょくさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L223
|
|
534
|
+
| 関数 | 値指定バー作成 | RANGEの/RANGEで | 範囲RANGE(配列で[最小,最大[,値]])を指定するバー(input[type='range'])を作成しDOMオブジェクトを返す | ぱすわーどにゅうりょくさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L234
|
|
535
|
+
| 関数 | 送信ボタン作成 | LABELの | ラベルSの送信ボタン(input[type='submit'])を作成しDOMオブジェクトを返す | そうしんぼたんさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L253
|
|
536
|
+
| 関数 | フォーム作成 | OBJでSを/OBJの | 属性OBJ{method:"GET",action:"..."}で項目一覧S「a=初期値{改行}b=初期値{改行}色=?c#fff0f0{改行}=?送信」を送信フォームを作成しDOMオブジェクトを返す | ふぉーむさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L264
|
|
537
|
+
| 関数 | フォーム入力一括取得 | DOMの/DOMから | DOMのフォームを取得し、そのフォーム以下にある入力項目のnameとvalueを辞書形式で返す | ふぉーむにゅうりょくいっかつしゅとく | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L337
|
|
538
|
+
| 関数 | テーブル作成 | AAの/AAから | 二次元配列AA(あるいは文字列の簡易CSVデータ)からTABLE要素を作成し、DOMオブジェクトを返す | てーぶるさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L373
|
|
539
|
+
| 関数 | ヘッダ無テーブル作成 | AAの/AAから | 二次元配列AA(あるいは文字列の簡易CSVデータ)からヘッダ無しのTABLE要素を作成し、DOMオブジェクトを返す | へっだなしてーぶるさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L415
|
|
540
|
+
| 関数 | テーブルセル変更 | TのCELLをVに/Vへ | TABLE要素のセル[行,列]をVへ変更する。Vが二次元配列変数であれば複数のセルを一括変更する | てーぶるせるへんこう | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L425
|
|
541
|
+
| 関数 | マーメイド作成 | SRCの | Mermaid記法を使ってSRCのチャートを作成する(非同期関数) | まーめいどさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_dom_parts.mts#L475
|
|
541
542
|
●HTML操作
|
|
542
543
|
| 関数 | HTML変換 | TEXTを | 文字列をHTMLに変換して返す | HTMLへんかん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_html.mts#L8
|
|
543
544
|
●クリップボード
|
package/batch/copy_core.nako3
CHANGED
|
@@ -15,8 +15,11 @@ NAKO3CORE_DIR=REPOS_DIR&「/nadesiko3core」
|
|
|
15
15
|
###
|
|
16
16
|
MSG="auto commit ver{ナデシコバージョン}"
|
|
17
17
|
エラー監視
|
|
18
|
+
「echo "=== GIT ==="」を起動待機。
|
|
19
|
+
CMD=「cd "{NAKO3CORE_DIR}" && cd src && git add *.mts」
|
|
20
|
+
CMDを起動待機。
|
|
18
21
|
CMD=「cd "{NAKO3CORE_DIR}" && git commit -a -m "{MSG}" && git push」
|
|
19
|
-
CMD
|
|
22
|
+
CMDを起動待機。
|
|
20
23
|
エラーならば
|
|
21
24
|
「エラーか変更無し」と表示。
|
|
22
25
|
ここまで
|
package/core/README.md
CHANGED
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
## 本リポジトリについて
|
|
14
14
|
|
|
15
|
-
本リポジトリは、なでしこ3
|
|
15
|
+
本リポジトリは、なでしこ3の言語エンジンのみを**取り出したもの**です。最小限の構成となっています。
|
|
16
|
+
|
|
17
|
+
[こちら](https://github.com/kujirahand/nadesiko3)のメインのリポジトリから定期的に[該当ソースファイル](https://github.com/kujirahand/nadesiko3/tree/master/core)がコピーされます。プルリクエストなどは、メインのリポジトリへ送ってください。
|
|
18
|
+
|
|
16
19
|
言語機能と最小限のプラグインのみを備えています。
|
|
17
20
|
|
|
18
21
|
- [なでしこの基本文法(外部サイト)](https://nadesi.com/v3/doc/index.php?%E6%96%87%E6%B3%95)
|
|
@@ -78,12 +81,3 @@ snako nadesiko3core/sample/hello.nako3
|
|
|
78
81
|
|
|
79
82
|
なでしこの内部構造の仕組みについては、[こちら](/doc/README.md)に詳しく書かれています。
|
|
80
83
|
|
|
81
|
-
## 開発時のメモ
|
|
82
|
-
|
|
83
|
-
新バージョンを`npm publish`する場合、必ず、ビルドしてからpublishすること。
|
|
84
|
-
|
|
85
|
-
```sh
|
|
86
|
-
# build
|
|
87
|
-
npm run build
|
|
88
|
-
npm publish
|
|
89
|
-
```
|
package/core/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nadesiko3core",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.21",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "nadesiko3core",
|
|
9
|
-
"version": "3.6.
|
|
9
|
+
"version": "3.6.21",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"cross-env": "^7.0.3"
|
|
@@ -2647,9 +2647,9 @@
|
|
|
2647
2647
|
}
|
|
2648
2648
|
},
|
|
2649
2649
|
"node_modules/micromatch": {
|
|
2650
|
-
"version": "4.0.
|
|
2651
|
-
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.
|
|
2652
|
-
"integrity": "sha512-
|
|
2650
|
+
"version": "4.0.8",
|
|
2651
|
+
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
|
2652
|
+
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
|
|
2653
2653
|
"dev": true,
|
|
2654
2654
|
"dependencies": {
|
|
2655
2655
|
"braces": "^3.0.3",
|
package/core/package.json
CHANGED
package/core/src/nako_ast.mts
CHANGED
package/core/src/nako_gen.mjs
CHANGED
|
@@ -1071,6 +1071,7 @@ export class NakoGen {
|
|
|
1071
1071
|
made = this._convGen(astTo, true);
|
|
1072
1072
|
}
|
|
1073
1073
|
const flagDown = node.flagDown;
|
|
1074
|
+
const flagUp = node.flagUp;
|
|
1074
1075
|
let inc = '1';
|
|
1075
1076
|
if (astInc.type !== 'nop') {
|
|
1076
1077
|
inc = this._convGen(astInc, true);
|
|
@@ -1083,11 +1084,13 @@ export class NakoGen {
|
|
|
1083
1084
|
`const ${varFrom} = ${kara};\n` +
|
|
1084
1085
|
`const ${varTo} = ${made};\n` +
|
|
1085
1086
|
`if (${varFrom} <= ${varTo}) { // up\n` +
|
|
1086
|
-
`
|
|
1087
|
-
` ${
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1087
|
+
` if (${flagUp}) {` +
|
|
1088
|
+
` for (let ${varI} = ${varFrom}; ${varI} <= ${varTo}; ${varI}+= ${inc}) {\n` +
|
|
1089
|
+
` ${sorePrefex};${loopVarSetter}\n` +
|
|
1090
|
+
' // for block begin\n' +
|
|
1091
|
+
` ${block}\n` +
|
|
1092
|
+
' // for block end\n' +
|
|
1093
|
+
' };\n' +
|
|
1091
1094
|
' };\n' +
|
|
1092
1095
|
'} else { // down\n' +
|
|
1093
1096
|
` if (${flagDown}) {` +
|
package/core/src/nako_gen.mts
CHANGED
|
@@ -1141,6 +1141,7 @@ export class NakoGen {
|
|
|
1141
1141
|
made = this._convGen(astTo, true)
|
|
1142
1142
|
}
|
|
1143
1143
|
const flagDown = node.flagDown
|
|
1144
|
+
const flagUp = node.flagUp
|
|
1144
1145
|
let inc = '1'
|
|
1145
1146
|
if (astInc.type !== 'nop') {
|
|
1146
1147
|
inc = this._convGen(astInc, true)
|
|
@@ -1154,11 +1155,13 @@ export class NakoGen {
|
|
|
1154
1155
|
`const ${varFrom} = ${kara};\n` +
|
|
1155
1156
|
`const ${varTo} = ${made};\n` +
|
|
1156
1157
|
`if (${varFrom} <= ${varTo}) { // up\n` +
|
|
1157
|
-
`
|
|
1158
|
-
` ${
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1158
|
+
` if (${flagUp}) {` +
|
|
1159
|
+
` for (let ${varI} = ${varFrom}; ${varI} <= ${varTo}; ${varI}+= ${inc}) {\n` +
|
|
1160
|
+
` ${sorePrefex};${loopVarSetter}\n` +
|
|
1161
|
+
' // for block begin\n' +
|
|
1162
|
+
` ${block}\n` +
|
|
1163
|
+
' // for block end\n' +
|
|
1164
|
+
' };\n' +
|
|
1162
1165
|
' };\n' +
|
|
1163
1166
|
'} else { // down\n' +
|
|
1164
1167
|
` if (${flagDown}) {` +
|
|
@@ -1070,6 +1070,7 @@ export class NakoParser extends NakoParserBase {
|
|
|
1070
1070
|
yFor() {
|
|
1071
1071
|
const errorForArguments = '『繰り返す』文でAからBまでの指定がありません。';
|
|
1072
1072
|
let flagDown = true; // AからBまでの時、A>=Bを許容するかどうか
|
|
1073
|
+
let flagUp = true; // AからBまでの時、A<=Bを許容するかどうか
|
|
1073
1074
|
let loopDirection = null; // ループの方向を一方向に限定する
|
|
1074
1075
|
const map = this.peekSourceMap();
|
|
1075
1076
|
if (this.check('繰返') || this.check('増繰返') || this.check('減繰返')) {
|
|
@@ -1086,6 +1087,9 @@ export class NakoParser extends NakoParserBase {
|
|
|
1086
1087
|
if (incdec.value === '増') {
|
|
1087
1088
|
flagDown = false;
|
|
1088
1089
|
}
|
|
1090
|
+
else {
|
|
1091
|
+
flagUp = false;
|
|
1092
|
+
}
|
|
1089
1093
|
const w = incdec.value + kurikaesu.type;
|
|
1090
1094
|
if (w == '増繰返') {
|
|
1091
1095
|
kurikaesu.type = '増繰返';
|
|
@@ -1108,6 +1112,9 @@ export class NakoParser extends NakoParserBase {
|
|
|
1108
1112
|
if (kurikaesu.type === '増繰返') {
|
|
1109
1113
|
flagDown = false;
|
|
1110
1114
|
}
|
|
1115
|
+
else {
|
|
1116
|
+
flagUp = false;
|
|
1117
|
+
}
|
|
1111
1118
|
loopDirection = kurikaesu.type === '増繰返' ? 'up' : 'down';
|
|
1112
1119
|
}
|
|
1113
1120
|
const vTo = this.popStack(['まで', 'を']); // 範囲オブジェクトの場合もあり
|
|
@@ -1164,6 +1171,7 @@ export class NakoParser extends NakoParserBase {
|
|
|
1164
1171
|
type: 'for',
|
|
1165
1172
|
blocks: [vFrom, vTo, vInc, block],
|
|
1166
1173
|
flagDown,
|
|
1174
|
+
flagUp,
|
|
1167
1175
|
loopDirection,
|
|
1168
1176
|
word: wordStr,
|
|
1169
1177
|
josi: '',
|
|
@@ -935,6 +935,7 @@ export class NakoParser extends NakoParserBase {
|
|
|
935
935
|
yFor (): AstFor | null {
|
|
936
936
|
const errorForArguments = '『繰り返す』文でAからBまでの指定がありません。'
|
|
937
937
|
let flagDown = true // AからBまでの時、A>=Bを許容するかどうか
|
|
938
|
+
let flagUp = true // AからBまでの時、A<=Bを許容するかどうか
|
|
938
939
|
let loopDirection : null | 'up' | 'down' = null // ループの方向を一方向に限定する
|
|
939
940
|
const map = this.peekSourceMap()
|
|
940
941
|
if (this.check('繰返') || this.check('増繰返') || this.check('減繰返')) {
|
|
@@ -947,7 +948,7 @@ export class NakoParser extends NakoParserBase {
|
|
|
947
948
|
const incdec = this.stack.pop()
|
|
948
949
|
if (incdec) {
|
|
949
950
|
if (incdec.type === 'word' && (incdec.value === '増' || incdec.value === '減')) {
|
|
950
|
-
if (incdec.value === '増') { flagDown = false }
|
|
951
|
+
if (incdec.value === '増') { flagDown = false } else { flagUp = false }
|
|
951
952
|
const w = incdec.value + kurikaesu.type
|
|
952
953
|
if (w == '増繰返') {
|
|
953
954
|
kurikaesu.type = '増繰返'
|
|
@@ -964,7 +965,7 @@ export class NakoParser extends NakoParserBase {
|
|
|
964
965
|
let vInc: Ast = this.yNop()
|
|
965
966
|
if (kurikaesu.type === '増繰返' || kurikaesu.type === '減繰返') {
|
|
966
967
|
vInc = this.popStack(['ずつ']) || this.yNop()
|
|
967
|
-
if (kurikaesu.type === '増繰返') { flagDown = false }
|
|
968
|
+
if (kurikaesu.type === '増繰返') { flagDown = false } else { flagUp = false }
|
|
968
969
|
loopDirection = kurikaesu.type === '増繰返' ? 'up' : 'down'
|
|
969
970
|
}
|
|
970
971
|
const vTo = this.popStack(['まで', 'を']) // 範囲オブジェクトの場合もあり
|
|
@@ -1013,6 +1014,7 @@ export class NakoParser extends NakoParserBase {
|
|
|
1013
1014
|
type: 'for',
|
|
1014
1015
|
blocks: [vFrom, vTo, vInc, block],
|
|
1015
1016
|
flagDown,
|
|
1017
|
+
flagUp,
|
|
1016
1018
|
loopDirection,
|
|
1017
1019
|
word: wordStr,
|
|
1018
1020
|
josi: '',
|
package/core/test/dncl2_test.mjs
CHANGED
|
@@ -25,7 +25,7 @@ describe('dncl2 (core #41)', async () => {
|
|
|
25
25
|
'C=10\n' +
|
|
26
26
|
'Iを1から10まで1ずつ減らしながら:\n' +
|
|
27
27
|
' C=C-1\n' +
|
|
28
|
-
'Cを表示', '
|
|
28
|
+
'Cを表示', '10')
|
|
29
29
|
})
|
|
30
30
|
it('繰り返し文([繰り返す]あり)', async () => {
|
|
31
31
|
await cmp('!DNCL2\n' +
|
|
@@ -37,7 +37,7 @@ describe('dncl2 (core #41)', async () => {
|
|
|
37
37
|
'C=10\n' +
|
|
38
38
|
'Iを1から10まで1ずつ減らしながら繰り返す:\n' +
|
|
39
39
|
' C=C-1\n' +
|
|
40
|
-
'Cを表示', '
|
|
40
|
+
'Cを表示', '10')
|
|
41
41
|
await cmp('!DNCL2\n' +
|
|
42
42
|
'C=0\n' +
|
|
43
43
|
'm を 1 から 3 まで 1 ずつ増やしながら繰り返す:\n' +
|
package/core/test/flow_test.mjs
CHANGED
|
@@ -429,6 +429,24 @@ describe('flow_test', async () => {
|
|
|
429
429
|
'ここまで\n' +
|
|
430
430
|
'Aを表示;', '321')
|
|
431
431
|
})
|
|
432
|
+
it('「AからBまでNずつ減らし繰り返す」文でBからAまでも実行してしまう問題 #1753', async () => {
|
|
433
|
+
await cmp(
|
|
434
|
+
'A="";Nを1から3まで繰り返す\n' +
|
|
435
|
+
' A=A&N\n' +
|
|
436
|
+
'ここまで\n' +
|
|
437
|
+
'Aを表示;', '123')
|
|
438
|
+
// 増やすのに減らさない
|
|
439
|
+
await cmp(
|
|
440
|
+
'A="";Nを1から3まで1ずつ増やし繰り返す\n' +
|
|
441
|
+
' A=A&N\n' +
|
|
442
|
+
'ここまで\n' +
|
|
443
|
+
'Aを表示;', '123')
|
|
444
|
+
await cmp(
|
|
445
|
+
'A="";Nを1から3まで1ずつ減らし繰り返す\n' +
|
|
446
|
+
' A=A&N\n' +
|
|
447
|
+
'ここまで\n' +
|
|
448
|
+
'Aを表示;', '')
|
|
449
|
+
})
|
|
432
450
|
it('もしの省略を実装する nadesiko3#1604', async () => {
|
|
433
451
|
await cmp(
|
|
434
452
|
'A=10;Aが10と一致するならば\n' +
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nadesiko3",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.22",
|
|
4
4
|
"description": "Japanese Programming Language",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.mjs",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"build:nako_version": "node src/cnako3.mjs batch/build_nako_version.nako3",
|
|
30
30
|
"build:tsc": "tsc",
|
|
31
31
|
"build": "npm run build:tsc && npm run build:nako_version && npm run build:tsc && npm run build:command && npm run build:esbuild && node src/cnako3.mjs batch/calc_hash.nako3",
|
|
32
|
+
"build:core": "cd core && npm run build",
|
|
32
33
|
"build:watch": "node bundle_esbuild.js --watch",
|
|
33
34
|
"clean": "npm run build:tsc && node src/cnako3.mjs batch/clean.nako3",
|
|
34
35
|
"tsc": "tsc --watch",
|
|
@@ -110,7 +111,7 @@
|
|
|
110
111
|
"crypto-browserify": "^3.12.0",
|
|
111
112
|
"css-loader": "^7.1.1",
|
|
112
113
|
"es6-promise": "^4.2.8",
|
|
113
|
-
"esbuild": "0.
|
|
114
|
+
"esbuild": "0.24.0",
|
|
114
115
|
"eslint": "^8.57.0",
|
|
115
116
|
"eslint-config-standard": "^17.1.0",
|
|
116
117
|
"eslint-plugin-import": "^2.29.1",
|
|
@@ -120,7 +121,7 @@
|
|
|
120
121
|
"globals": "^15.1.0",
|
|
121
122
|
"hotkeys-js": "^3.13.7",
|
|
122
123
|
"markdownlint": "^0.35.0",
|
|
123
|
-
"markdownlint-cli": "^0.
|
|
124
|
+
"markdownlint-cli": "^0.42.0",
|
|
124
125
|
"mocha": "^10.4.0",
|
|
125
126
|
"mocha-css": "^1.0.1",
|
|
126
127
|
"module-alias": "^2.2.3",
|
package/release/_hash.txt
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
command.json.js:
|
|
2
|
-
md5(hex):
|
|
3
|
-
sha256(hex):
|
|
4
|
-
sha256(base64):
|
|
5
|
-
sha512(base64):
|
|
2
|
+
md5(hex): 942c5aa40544a3b320cd8992dc76ab8e
|
|
3
|
+
sha256(hex): 574f5b9b043409cb3342bc42a185d61a73975361079a9005589c5688d779ea13
|
|
4
|
+
sha256(base64): V09bmwQ0CcszQrxCoYXWGnOXU2EHmpAFWJxWiNd56hM=
|
|
5
|
+
sha512(base64): WzWjw+kOPeDk93I7fBC+mI7e3u3tKTUvBRz841tnb3spwyHC9erQgzNCWSr9iOUU791jAiwfDNBlvQn1xQXktg==
|
|
6
6
|
core_src_nako_josi_list_mjs.js:
|
|
7
7
|
md5(hex): 2fc99e9b0127c3a50756d4ba4dcc2568
|
|
8
8
|
sha256(hex): 09821bf4b80ff1c7445cccd154685d00ac2f53a65a3382f4e96e70ac6676330b
|
|
@@ -14,10 +14,10 @@ core_src_nako_reserved_words_mjs.js:
|
|
|
14
14
|
sha256(base64): 5aJLQsB3GeRK5kfAq4b0Azk0ZCw+3Dv1gU0iOuelIZc=
|
|
15
15
|
sha512(base64): UzZigh2tIhgBO3+Sp1wnqKMvAGfhqSRdH2+ffmRy4+8CVNEeepddaDV0oKJ+vyvi28zQLmXeMsjRu+Frj3YlTg==
|
|
16
16
|
edit_main.js:
|
|
17
|
-
md5(hex):
|
|
18
|
-
sha256(hex):
|
|
19
|
-
sha256(base64):
|
|
20
|
-
sha512(base64):
|
|
17
|
+
md5(hex): 1e48d07295cb091c4ae331de411786f3
|
|
18
|
+
sha256(hex): 02ae686ae1694846358c4b6c69691be71490a4e3ae027746aa5c026971e9a66e
|
|
19
|
+
sha256(base64): Aq5oauFpSEY1jEtsaWkb5xSQpOOuAndGqlwCaXHppm4=
|
|
20
|
+
sha512(base64): ado6OwoJcoyyzYS+bvbPh2DyvNteO+kWHqUaNiw3Gsg0fBdzKC7mOlsTnSDS+K/u9LO7sUj3Qm1HPfzPAuUDMw==
|
|
21
21
|
edit_main.js:
|
|
22
22
|
md5(hex): 57ca3d9fbf56352e72858c7ce0b09483
|
|
23
23
|
sha256(hex): 9ab24fc718a835070d72d23bafd8e90de25e86f755fba67fee6238347201a422
|
|
@@ -29,10 +29,10 @@ version_main.js:
|
|
|
29
29
|
sha256(base64): BolWQdiyjXjgsV7rd9zbBaP5hJYi3ZWU6lucT5V8fkQ=
|
|
30
30
|
sha512(base64): KMEb25tO1BMsNxzECPwLM6bi1IIS5wX+VRN6mdzbqhtqPr7eY1K7Wwg66MpCmhrc45KoEJthR4NWyw9O7ODgLw==
|
|
31
31
|
editor.js:
|
|
32
|
-
md5(hex):
|
|
33
|
-
sha256(hex):
|
|
34
|
-
sha256(base64):
|
|
35
|
-
sha512(base64):
|
|
32
|
+
md5(hex): 1e48d07295cb091c4ae331de411786f3
|
|
33
|
+
sha256(hex): 02ae686ae1694846358c4b6c69691be71490a4e3ae027746aa5c026971e9a66e
|
|
34
|
+
sha256(base64): Aq5oauFpSEY1jEtsaWkb5xSQpOOuAndGqlwCaXHppm4=
|
|
35
|
+
sha512(base64): ado6OwoJcoyyzYS+bvbPh2DyvNteO+kWHqUaNiw3Gsg0fBdzKC7mOlsTnSDS+K/u9LO7sUj3Qm1HPfzPAuUDMw==
|
|
36
36
|
nako_gen_async.js:
|
|
37
37
|
md5(hex): 42d5fed01039474ff197d449c27c84ad
|
|
38
38
|
sha256(hex): d78d516b32b551c4a51ceef529568760783c84f6c5d90029fa9b38922d5b4430
|
|
@@ -144,22 +144,22 @@ wnako3webworker.js:
|
|
|
144
144
|
sha256(base64): zkHQ1vYOjoH4nffi+OulPeq/tql28XhdNuKpcaBCOKk=
|
|
145
145
|
sha512(base64): cY0Mzrpoz/uEyY1n8MeJeWdDmm9vqI7dh28wEqJGtVRfYOJvDHiYDzzlfGndOWmzZmHUK6ZAE7YaUJ7zZxiZLw==
|
|
146
146
|
version.js:
|
|
147
|
-
md5(hex):
|
|
148
|
-
sha256(hex):
|
|
149
|
-
sha256(base64):
|
|
150
|
-
sha512(base64):
|
|
147
|
+
md5(hex): b51d1a474fe70e082747761c08b6e468
|
|
148
|
+
sha256(hex): b8a79c823ecb31e829979d3b225e12ff40cd55c57b0fa15a376e84590193f7fc
|
|
149
|
+
sha256(base64): uKecgj7LMegpl507Il4S/0DNVcV7D6FaN26EWQGT9/w=
|
|
150
|
+
sha512(base64): cwca8hpM3lXsehzT26grLnTz0ysSgq9dyzI9jmFOO12EzVPMrjjlcyrKUc7I57C54HCnprlNos5Tjokjz4Dl+g==
|
|
151
151
|
version_main.js:
|
|
152
|
-
md5(hex):
|
|
153
|
-
sha256(hex):
|
|
154
|
-
sha256(base64):
|
|
155
|
-
sha512(base64):
|
|
152
|
+
md5(hex): b51d1a474fe70e082747761c08b6e468
|
|
153
|
+
sha256(hex): b8a79c823ecb31e829979d3b225e12ff40cd55c57b0fa15a376e84590193f7fc
|
|
154
|
+
sha256(base64): uKecgj7LMegpl507Il4S/0DNVcV7D6FaN26EWQGT9/w=
|
|
155
|
+
sha512(base64): cwca8hpM3lXsehzT26grLnTz0ysSgq9dyzI9jmFOO12EzVPMrjjlcyrKUc7I57C54HCnprlNos5Tjokjz4Dl+g==
|
|
156
156
|
wnako3.js:
|
|
157
|
-
md5(hex):
|
|
158
|
-
sha256(hex):
|
|
159
|
-
sha256(base64):
|
|
160
|
-
sha512(base64):
|
|
157
|
+
md5(hex): 36e9c7e9899d28e98e4ea992d7d25a27
|
|
158
|
+
sha256(hex): ff8bdf834f97807ede494471c2a8e83ee6df161a8e4d2fc93b095b7a77b7520e
|
|
159
|
+
sha256(base64): /4vfg0+XgH7eSURxwqjoPubfFhqOTS/JOwlbene3Ug4=
|
|
160
|
+
sha512(base64): 2N4oZE3XlFHPaf/OdsYE/2ICJIHqXjMoL8GSQ2cAhLMsph/hFkAnqNmI/0zcUDExlYpYk1YVR5LepmjC4ZLHWA==
|
|
161
161
|
wnako3webworker.js:
|
|
162
|
-
md5(hex):
|
|
163
|
-
sha256(hex):
|
|
164
|
-
sha256(base64): /
|
|
165
|
-
sha512(base64):
|
|
162
|
+
md5(hex): e4722fd34759a8de3fe5122f427af49c
|
|
163
|
+
sha256(hex): d85fe1ab3e0369a36fa1fc1126de4d056f856f694bb823bcfec2c598fd3d18d9
|
|
164
|
+
sha256(base64): 2F/hqz4DaaNvofwRJt5NBW+Fb2lLuCO8/sLFmP09GNk=
|
|
165
|
+
sha512(base64): HGE4GxYu8/YC19l7qvbmXTfKEBsQm30D0nPUqrbFohF1VHiTWRwnkpO6FJqLmfLbFALonnWwd+9OpUJUi+y67w==
|
package/release/_script-tags.txt
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
2
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
3
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
4
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
5
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
6
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
7
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
8
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
9
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
10
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
11
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
12
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
13
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
14
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
15
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
16
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
17
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
18
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
19
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
20
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
21
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
22
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
23
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
24
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
25
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
26
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
27
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
28
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
29
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
30
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
31
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
32
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
33
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.
|
|
1
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/command.json.js" integrity="sha512-WzWjw+kOPeDk93I7fBC+mI7e3u3tKTUvBRz841tnb3spwyHC9erQgzNCWSr9iOUU791jAiwfDNBlvQn1xQXktg==" crossorigin="anonymous"></script>
|
|
2
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/core_src_nako_josi_list_mjs.js" integrity="sha512-0+LAeEfPy2Lrl+DeJMjbBIUda9Y5ttpLGy3/FW8rjSW8bN3udrALJa5V/bhjxU7mYouumV/QGN2wt3oxMCKy9g==" crossorigin="anonymous"></script>
|
|
3
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/core_src_nako_reserved_words_mjs.js" integrity="sha512-UzZigh2tIhgBO3+Sp1wnqKMvAGfhqSRdH2+ffmRy4+8CVNEeepddaDV0oKJ+vyvi28zQLmXeMsjRu+Frj3YlTg==" crossorigin="anonymous"></script>
|
|
4
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/edit_main.js" integrity="sha512-ado6OwoJcoyyzYS+bvbPh2DyvNteO+kWHqUaNiw3Gsg0fBdzKC7mOlsTnSDS+K/u9LO7sUj3Qm1HPfzPAuUDMw==" crossorigin="anonymous"></script>
|
|
5
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/edit_main.js" integrity="sha512-VluJJhYbxG+I5sofn1bKqOuIqMXdCyUUM9dnSBEVAkUXUy/ENHfG6hQFTZULcHy9iNfqPHXTfWuCgyMzQ9Hxrg==" crossorigin="anonymous"></script>
|
|
6
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/version_main.js" integrity="sha512-KMEb25tO1BMsNxzECPwLM6bi1IIS5wX+VRN6mdzbqhtqPr7eY1K7Wwg66MpCmhrc45KoEJthR4NWyw9O7ODgLw==" crossorigin="anonymous"></script>
|
|
7
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/editor.js" integrity="sha512-ado6OwoJcoyyzYS+bvbPh2DyvNteO+kWHqUaNiw3Gsg0fBdzKC7mOlsTnSDS+K/u9LO7sUj3Qm1HPfzPAuUDMw==" crossorigin="anonymous"></script>
|
|
8
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/nako_gen_async.js" integrity="sha512-/73lycspxJ921s+NmqaOKF58X9rCsgEZrZT4O4sW1aCe5CSXtQevIasAoGgIoL3a5RmlaghbaIVASwAgmoE3+g==" crossorigin="anonymous"></script>
|
|
9
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_caniuse.js" integrity="sha512-V6nOBHnhxPChu+S/LfB7elCeBk985ukLmBmkCyPk4ai5VfoJZuOIttg72PbZSxWfP5eQTrlLNajsorfwNw/vcA==" crossorigin="anonymous"></script>
|
|
10
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_datetime.js" integrity="sha512-ofb5jVaHjjTRoCAmHnbewc2fS8vr1oEkX/B3WoOCjYpDnZ3nnl3EDz6fdAS8CFFzGvuekCk2RFN5BuM9kX6FAg==" crossorigin="anonymous"></script>
|
|
11
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_kansuji.js" integrity="sha512-N+S8Th1yCiQy3q5jh0TFvlTOtrWNE82a4UJZ9O3ml3BGBYA141bpWlJR5c34dObTe1prbLJZ7v5WvV0vnDnr9A==" crossorigin="anonymous"></script>
|
|
12
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_keigo.js" integrity="sha512-u067+CeBvMb6+oINFY9Wz77GBk4NSxS2+k35GJ3RsFFmphJliwzwmV2ceID0gZ4mbjJ0xJHQX9WIypiyI6yfdA==" crossorigin="anonymous"></script>
|
|
13
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_markup.js" integrity="sha512-mEcV3CYWM6+zmuxgojP/9wbQNtkTPuPzFHo1KTG2TPaDbSfdPZCazFcNmdjJ95o7+VFfxs2Id7yB02bqSeBxNg==" crossorigin="anonymous"></script>
|
|
14
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_three.js" integrity="sha512-4loRkhlxZ9A9v5t3sk5VECW7T33axIVbBQgwkNdgcjk03yRqAvxut5OS4n3BBS4jnWWHOE3i0vj9qxOOp4uV3Q==" crossorigin="anonymous"></script>
|
|
15
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_toml.js" integrity="sha512-Z4JmOCY66VuyoD8m4dCzKttEbCTEUfqyuqlmcOhs69m/88skKcPYWXi+4W+Td5LdI3xqezn4BkN32F9ZkPzUpQ==" crossorigin="anonymous"></script>
|
|
16
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_turtle.js" integrity="sha512-ce8etr+HoC+UjUyXSgxJzy3+pOYhsBdt9jDzhks2H/eEPQ1gIz7M8hoeyP0223zLLZHBBzlHiL/a6mmJdoKQ+w==" crossorigin="anonymous"></script>
|
|
17
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_webworker.js" integrity="sha512-6UHX2dgMPRY4BuIxLXaERKaA8Wg5eK2pWy+OysU0/+gt2E15M7K5Vr8+4CQt6hylWnmzmJQJfgObIr+yjW5kPw==" crossorigin="anonymous"></script>
|
|
18
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_weykturtle3d.js" integrity="sha512-ONFdombPCdgdnXs7VMUAHpe8IBvTuLzSgzmERf1jEhHo4l06wDpkpRRCk3/9a1hiXRHQ+le2LZBT7XH4VA27sQ==" crossorigin="anonymous"></script>
|
|
19
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_caniuse.js" integrity="sha512-V6nOBHnhxPChu+S/LfB7elCeBk985ukLmBmkCyPk4ai5VfoJZuOIttg72PbZSxWfP5eQTrlLNajsorfwNw/vcA==" crossorigin="anonymous"></script>
|
|
20
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_datetime.js" integrity="sha512-ofb5jVaHjjTRoCAmHnbewc2fS8vr1oEkX/B3WoOCjYpDnZ3nnl3EDz6fdAS8CFFzGvuekCk2RFN5BuM9kX6FAg==" crossorigin="anonymous"></script>
|
|
21
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_kansuji.js" integrity="sha512-N+S8Th1yCiQy3q5jh0TFvlTOtrWNE82a4UJZ9O3ml3BGBYA141bpWlJR5c34dObTe1prbLJZ7v5WvV0vnDnr9A==" crossorigin="anonymous"></script>
|
|
22
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_keigo.js" integrity="sha512-u067+CeBvMb6+oINFY9Wz77GBk4NSxS2+k35GJ3RsFFmphJliwzwmV2ceID0gZ4mbjJ0xJHQX9WIypiyI6yfdA==" crossorigin="anonymous"></script>
|
|
23
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_markup.js" integrity="sha512-mEcV3CYWM6+zmuxgojP/9wbQNtkTPuPzFHo1KTG2TPaDbSfdPZCazFcNmdjJ95o7+VFfxs2Id7yB02bqSeBxNg==" crossorigin="anonymous"></script>
|
|
24
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_three.js" integrity="sha512-4loRkhlxZ9A9v5t3sk5VECW7T33axIVbBQgwkNdgcjk03yRqAvxut5OS4n3BBS4jnWWHOE3i0vj9qxOOp4uV3Q==" crossorigin="anonymous"></script>
|
|
25
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_turtle.js" integrity="sha512-ce8etr+HoC+UjUyXSgxJzy3+pOYhsBdt9jDzhks2H/eEPQ1gIz7M8hoeyP0223zLLZHBBzlHiL/a6mmJdoKQ+w==" crossorigin="anonymous"></script>
|
|
26
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_webworker.js" integrity="sha512-6UHX2dgMPRY4BuIxLXaERKaA8Wg5eK2pWy+OysU0/+gt2E15M7K5Vr8+4CQt6hylWnmzmJQJfgObIr+yjW5kPw==" crossorigin="anonymous"></script>
|
|
27
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/plugin_weykturtle3d.js" integrity="sha512-ONFdombPCdgdnXs7VMUAHpe8IBvTuLzSgzmERf1jEhHo4l06wDpkpRRCk3/9a1hiXRHQ+le2LZBT7XH4VA27sQ==" crossorigin="anonymous"></script>
|
|
28
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/wnako3.js" integrity="sha512-ZBC5fnWXr1/lcjLwXqmTj1OXfBewmzxlPqnz6ZnDhtVUY9invxAimbYuxMrgb3ZiFnopNLH7xPbgWlFJNB/jmQ==" crossorigin="anonymous"></script>
|
|
29
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/wnako3webworker.js" integrity="sha512-cY0Mzrpoz/uEyY1n8MeJeWdDmm9vqI7dh28wEqJGtVRfYOJvDHiYDzzlfGndOWmzZmHUK6ZAE7YaUJ7zZxiZLw==" crossorigin="anonymous"></script>
|
|
30
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/version.js" integrity="sha512-cwca8hpM3lXsehzT26grLnTz0ysSgq9dyzI9jmFOO12EzVPMrjjlcyrKUc7I57C54HCnprlNos5Tjokjz4Dl+g==" crossorigin="anonymous"></script>
|
|
31
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/version_main.js" integrity="sha512-cwca8hpM3lXsehzT26grLnTz0ysSgq9dyzI9jmFOO12EzVPMrjjlcyrKUc7I57C54HCnprlNos5Tjokjz4Dl+g==" crossorigin="anonymous"></script>
|
|
32
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/wnako3.js" integrity="sha512-2N4oZE3XlFHPaf/OdsYE/2ICJIHqXjMoL8GSQ2cAhLMsph/hFkAnqNmI/0zcUDExlYpYk1YVR5LepmjC4ZLHWA==" crossorigin="anonymous"></script>
|
|
33
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.6.22&f=release/wnako3webworker.js" integrity="sha512-HGE4GxYu8/YC19l7qvbmXTfKEBsQm30D0nPUqrbFohF1VHiTWRwnkpO6FJqLmfLbFALonnWwd+9OpUJUi+y67w==" crossorigin="anonymous"></script>
|