nadesiko3 3.3.63 → 3.3.64
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 +15 -15
- package/core/package.json +4 -1
- package/core/src/nako3.mjs +5 -2
- package/core/src/nako3.mts +5 -4
- package/core/src/nako_core_version.mjs +2 -2
- package/core/src/nako_core_version.mts +2 -2
- package/core/src/nako_from_dncl.mjs +0 -254
- package/core/src/nako_from_dncl.mts +0 -247
- package/core/src/nako_from_dncl2.mjs +313 -0
- package/core/src/nako_from_dncl2.mts +299 -0
- package/core/src/nako_gen.mjs +1 -1
- package/core/src/nako_gen.mts +1 -1
- package/core/src/nako_indent_inline.mjs +152 -34
- package/core/src/nako_indent_inline.mts +132 -34
- package/core/src/nako_lex_rules.mjs +3 -2
- package/core/src/nako_lex_rules.mts +3 -2
- package/core/src/nako_lexer.mjs +27 -3
- package/core/src/nako_lexer.mts +27 -3
- package/core/src/nako_parser3.mjs +45 -14
- package/core/src/nako_parser3.mts +40 -18
- package/core/src/nako_prepare.mjs +13 -0
- package/core/src/nako_prepare.mts +11 -0
- package/core/src/nako_tools.mjs +53 -0
- package/core/src/nako_tools.mts +46 -0
- package/core/test/basic_test.mjs +16 -8
- package/core/test/dncl2_test.mjs +207 -0
- package/core/test/flow_test.mjs +42 -0
- package/core/test/indent_test.mjs +74 -50
- package/core/test/inline_indent_test.mjs +47 -0
- package/core/test/lex_test.mjs +1 -0
- package/demo/js/a.js +30 -0
- package/package.json +1 -1
- package/release/_hash.txt +16 -16
- package/release/_script-tags.txt +14 -14
- package/release/nako_gen_async.js +1 -1
- package/release/stats.json +1 -1
- package/release/version.js +1 -1
- package/release/wnako3.js +1 -1
- package/release/wnako3webworker.js +1 -1
- package/src/cnako3mod.mjs +43 -33
- package/src/cnako3mod.mts +45 -35
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
- package/src/plugin_browser_canvas.mjs +5 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable no-undef */
|
|
1
2
|
import assert from 'assert'
|
|
2
3
|
import { NakoCompiler } from '../src/nako3.mjs'
|
|
3
4
|
|
|
@@ -100,4 +101,50 @@ describe('inline_indent_test', async () => {
|
|
|
100
101
|
' 「b」と表示。\n',
|
|
101
102
|
'a\na\na')
|
|
102
103
|
})
|
|
104
|
+
it('2つ目の関数の定義が失敗する(#40)', async () => {
|
|
105
|
+
await cmp('' +
|
|
106
|
+
'●AAAとは:\n' +
|
|
107
|
+
' それは30\n' +
|
|
108
|
+
'●BBBとは:\n' +
|
|
109
|
+
' それは50\n' +
|
|
110
|
+
'BBBを表示。', '50')
|
|
111
|
+
})
|
|
112
|
+
it('「もし」のネスト', async () => {
|
|
113
|
+
await cmp('' +
|
|
114
|
+
'A=1;B=1;\n' +
|
|
115
|
+
'もし,A=1ならば:\n' +
|
|
116
|
+
' もし,B=1ならば:\n' +
|
|
117
|
+
' 「A=1,B=1」と表示\n' +
|
|
118
|
+
' 違えば:\n' +
|
|
119
|
+
' 「A=1,B=0」と表示\n' +
|
|
120
|
+
'違えば:\n' +
|
|
121
|
+
' もし,B=1ならば:\n' +
|
|
122
|
+
' 「A=0,B=1」と表示\n' +
|
|
123
|
+
' 違えば:\n' +
|
|
124
|
+
' 「A=0,B=0」と表示\n' +
|
|
125
|
+
'', 'A=1,B=1')
|
|
126
|
+
await cmp('' +
|
|
127
|
+
'A=0;B=0;\n' +
|
|
128
|
+
'もし,A=1ならば:\n' +
|
|
129
|
+
' もし,B=1ならば:\n' +
|
|
130
|
+
' 「A=1,B=1」と表示\n' +
|
|
131
|
+
' 違えば:\n' +
|
|
132
|
+
' 「A=1,B=0」と表示\n' +
|
|
133
|
+
'違えば:\n' +
|
|
134
|
+
' もし,B=1ならば:\n' +
|
|
135
|
+
' 「A=0,B=1」と表示\n' +
|
|
136
|
+
' 違えば:\n' +
|
|
137
|
+
' 「A=0,B=0」と表示\n' +
|
|
138
|
+
'', 'A=0,B=0')
|
|
139
|
+
})
|
|
140
|
+
it('インラインインデントでJSON(core #46)', async () => {
|
|
141
|
+
await cmp('' +
|
|
142
|
+
'A=[99]\nもしA[0]=99ならば:\n' +
|
|
143
|
+
' A=[0,\n0]\n' +
|
|
144
|
+
'A[0]を表示\n', '0')
|
|
145
|
+
await cmp('' +
|
|
146
|
+
'A={"a":0,"b":0}\nもし1ならば:\n' +
|
|
147
|
+
' A={"a":99,\n"b":99}\n' +
|
|
148
|
+
'A["b"]を表示\n', '99')
|
|
149
|
+
})
|
|
103
150
|
})
|
package/core/test/lex_test.mjs
CHANGED
package/demo/js/a.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const PluginActiveCheck = {
|
|
2
|
+
'初期化': {
|
|
3
|
+
type: 'func',
|
|
4
|
+
josi: [],
|
|
5
|
+
fn: function (sys) {
|
|
6
|
+
sys.__active = true
|
|
7
|
+
if (sys.__tid !== undefined) {
|
|
8
|
+
clearInterval(sys.__tid)
|
|
9
|
+
}
|
|
10
|
+
sys.__tid = setInterval(()=>{
|
|
11
|
+
console.log('__active=', sys.__active)
|
|
12
|
+
},1000)
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
'!クリア': {
|
|
16
|
+
type: 'func',
|
|
17
|
+
josi: [],
|
|
18
|
+
fn: function (sys) {
|
|
19
|
+
sys.__active = false
|
|
20
|
+
clearInterval(sys.__tid)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// CommonJS方式で自動登録を実装
|
|
26
|
+
if (typeof (navigator) === 'object') {
|
|
27
|
+
navigator.nako3.addPluginObject("PluginActiveCheck", PluginActiveCheck)
|
|
28
|
+
} else {
|
|
29
|
+
module.exports = pluginObj
|
|
30
|
+
}
|
package/package.json
CHANGED
package/release/_hash.txt
CHANGED
|
@@ -9,10 +9,10 @@ editor.js:
|
|
|
9
9
|
sha256(base64): yCSRDXeRvPGZmcmxpMftkQCCVJrf2j1yx0rlCJqp0YE=
|
|
10
10
|
sha512(base64): Smup6m3GPrnpjWnnedDl/Mi7Fg4xZQhomn3q84jigmkNQGLaByYGokLfhU18xW6lc9IOu+u9PRCauoQhlCgGZw==
|
|
11
11
|
nako_gen_async.js:
|
|
12
|
-
md5(hex):
|
|
13
|
-
sha256(hex):
|
|
14
|
-
sha256(base64):
|
|
15
|
-
sha512(base64):
|
|
12
|
+
md5(hex): fbe87551dbfb1a88bb36e581bdcc7046
|
|
13
|
+
sha256(hex): 28270f2a6d871cfce1b2d7a3715d75a67cc7e8bad4e96512ecb7224bf74b9dfb
|
|
14
|
+
sha256(base64): KCcPKm2HHPzhstejcV11pnzH6LrU6WUS7LciS/dLnfs=
|
|
15
|
+
sha512(base64): yk+ES2Y55BhYfK4mL0s/CqqfgSshxw9sdAkjffu2xpwSyKKRMr1VF7EYRw6V1igfbGD4I6S/kpT9pZk/8oCNfw==
|
|
16
16
|
plugin_caniuse.js:
|
|
17
17
|
md5(hex): 95a7a5c98a92a46b6435e577daba3241
|
|
18
18
|
sha256(hex): 57638b3979be70b45ab8085861f6b2ece43200bd6aa92765d73caf76b9e6fea9
|
|
@@ -54,17 +54,17 @@ plugin_weykturtle3d.js:
|
|
|
54
54
|
sha256(base64): ND/1JqYrFVGTIPYsbBk+tScnF8RVzgYPM0/E2aE8GRw=
|
|
55
55
|
sha512(base64): T4B8Cvhn9j5YdMGk4rwPInfqmcXtGEjD2g6X6wSqXvYyIXuSy+t1RVf1viZ2zljHlk3wN6pwKvvg/NIJvfMAzw==
|
|
56
56
|
version.js:
|
|
57
|
-
md5(hex):
|
|
58
|
-
sha256(hex):
|
|
59
|
-
sha256(base64):
|
|
60
|
-
sha512(base64):
|
|
57
|
+
md5(hex): c7f1fd936c048caf8ac0fc6c0896fff4
|
|
58
|
+
sha256(hex): 19db94f870b0be7122a14762f952781123a174a81d97d05c4c72ec059eb6b5ac
|
|
59
|
+
sha256(base64): GduU+HCwvnEioUdi+VJ4ESOhdKgdl9BcTHLsBZ62taw=
|
|
60
|
+
sha512(base64): cvQX/02nmJTUJ8UE8xAuVyYFiedlpALEEH2ygSA8BqUWHzzVcml7d9VkIC7j/+Kmzp4/Ildpeh85eUPz1/X+8Q==
|
|
61
61
|
wnako3.js:
|
|
62
|
-
md5(hex):
|
|
63
|
-
sha256(hex):
|
|
64
|
-
sha256(base64):
|
|
65
|
-
sha512(base64):
|
|
62
|
+
md5(hex): 23a9d97348fd9cd563a8c1f9809180e9
|
|
63
|
+
sha256(hex): 5a688c513bb9b1c5c928e8a9f7abbd58496faa82978ca66608684fe7a7a4251f
|
|
64
|
+
sha256(base64): WmiMUTu5scXJKOip96u9WElvqoKXjKZmCGhP56ekJR8=
|
|
65
|
+
sha512(base64): uo+98+GwN/P7xEvHfgh2MStl2y5PpyQ/MtCSnumKMljfGHsVOsSD3EqsKZCeGDea/30xuUTBnC4frIBBq83jaQ==
|
|
66
66
|
wnako3webworker.js:
|
|
67
|
-
md5(hex):
|
|
68
|
-
sha256(hex):
|
|
69
|
-
sha256(base64):
|
|
70
|
-
sha512(base64):
|
|
67
|
+
md5(hex): 2b73c6ea16ce17069fe96b85fcb7a849
|
|
68
|
+
sha256(hex): 954994fc4ab81d4c64552f840a1c91dd5a3eb0b5268d325c6cf470dbdf31f18d
|
|
69
|
+
sha256(base64): lUmU/Eq4HUxkVS+EChyR3Vo+sLUmjTJcbPRw298x8Y0=
|
|
70
|
+
sha512(base64): pP85w6f7IDe/ZUMaushFO5a/XPrikM6hXGcU1zhhXTnRoO4DKtnzlosimlq+EI0ZkQz6RhLg4XJE5ioSUCovdg==
|
package/release/_script-tags.txt
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
2
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
3
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
4
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
5
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
6
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
7
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
8
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
9
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
10
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
11
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
12
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
13
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
14
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.
|
|
1
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/command.json.js" integrity="sha512-oymKntu7VidEOP8+ZFUV/5YWCb+AjbzkUll5EdVg4yWy8OOJpY0gxolztfcHE+WPu0hkOB/lCaP9L4YNHRiRvQ==" crossorigin="anonymous"></script>
|
|
2
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/editor.js" integrity="sha512-Smup6m3GPrnpjWnnedDl/Mi7Fg4xZQhomn3q84jigmkNQGLaByYGokLfhU18xW6lc9IOu+u9PRCauoQhlCgGZw==" crossorigin="anonymous"></script>
|
|
3
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/nako_gen_async.js" integrity="sha512-yk+ES2Y55BhYfK4mL0s/CqqfgSshxw9sdAkjffu2xpwSyKKRMr1VF7EYRw6V1igfbGD4I6S/kpT9pZk/8oCNfw==" crossorigin="anonymous"></script>
|
|
4
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/plugin_caniuse.js" integrity="sha512-NbX6BKUNq1J8xwtv5CThQC54Lb/KxaPlimRpsF745nxqjYeuGD7S70j4yOgNm4Uwd7AN5FgezS6NDyhlvoJF2w==" crossorigin="anonymous"></script>
|
|
5
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/plugin_csv.js" integrity="sha512-mQvmj25L2Nc2L7gN1rTjayHVMMPhc7TCSiBsuKS4JKOQqN+91uj9qpLAOejzR1ib5jIOBdtrhN+secNTU9BJtw==" crossorigin="anonymous"></script>
|
|
6
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
|
|
7
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/plugin_kansuji.js" integrity="sha512-tXC9Q6LejwYG+HUbXcwBHFmhwTsqiMHOBohLNcSx8b02hxk3waPUEQRWeNP7QxAFMv5BOAY+Grruf+XKmmU26g==" crossorigin="anonymous"></script>
|
|
8
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/plugin_markup.js" integrity="sha512-pvb+QYO9LMUH055nPJJ5QaWyEYR3wDkHHilV5LLNyxObs7enlHGiF7Jt3Csd93JTdJ3n9hxFbTqWa1QuzVmTfQ==" crossorigin="anonymous"></script>
|
|
9
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/plugin_turtle.js" integrity="sha512-3/BlAe3uVDBgJrgFWzLJa3bvNQVhAQuL343Icict5hI3LndcPjV6mAD8KoWRlxmF8A8S6n8eKnmrh6NFWTjyEw==" crossorigin="anonymous"></script>
|
|
10
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/plugin_webworker.js" integrity="sha512-JLlIg9cW9UgM2AT+qMgEuKvea3t8R+1jihhlN/QGDQe7iCaGEfXfKG5gpvRb0IUyisNfzncUN8AfLn9wyxGGiw==" crossorigin="anonymous"></script>
|
|
11
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/plugin_weykturtle3d.js" integrity="sha512-T4B8Cvhn9j5YdMGk4rwPInfqmcXtGEjD2g6X6wSqXvYyIXuSy+t1RVf1viZ2zljHlk3wN6pwKvvg/NIJvfMAzw==" crossorigin="anonymous"></script>
|
|
12
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/version.js" integrity="sha512-cvQX/02nmJTUJ8UE8xAuVyYFiedlpALEEH2ygSA8BqUWHzzVcml7d9VkIC7j/+Kmzp4/Ildpeh85eUPz1/X+8Q==" crossorigin="anonymous"></script>
|
|
13
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/wnako3.js" integrity="sha512-uo+98+GwN/P7xEvHfgh2MStl2y5PpyQ/MtCSnumKMljfGHsVOsSD3EqsKZCeGDea/30xuUTBnC4frIBBq83jaQ==" crossorigin="anonymous"></script>
|
|
14
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.3.64&f=release/wnako3webworker.js" integrity="sha512-pP85w6f7IDe/ZUMaushFO5a/XPrikM6hXGcU1zhhXTnRoO4DKtnzlosimlq+EI0ZkQz6RhLg4XJE5ioSUCovdg==" crossorigin="anonymous"></script>
|