nadesiko3 3.3.54 → 3.3.55

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/core/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3core",
3
- "version": "3.3.54",
3
+ "version": "3.3.55",
4
4
  "description": "Japanese Programming Language Nadesiko v3 core",
5
5
  "main": "index.mjs",
6
6
  "type": "module",
@@ -587,7 +587,6 @@ export class NakoCompiler {
587
587
  // 関数を字句解析と構文解析に登録
588
588
  this.lexer.setFuncList(this.funclist)
589
589
  this.parser.setFuncList(this.funclist)
590
-
591
590
  const lexerOutput = this.lex(code, filename, preCode)
592
591
 
593
592
  // 構文木を作成
@@ -2,7 +2,7 @@
2
2
  * パーサーが生成した中間オブジェクトを実際のJavaScriptのコードに変換する。
3
3
  * なお速度優先で忠実にJavaScriptのコードを生成する。
4
4
  */
5
- import { NakoRuntimeError, NakoSyntaxError, NakoError } from './nako_errors.mjs';
5
+ import { NakoSyntaxError } from './nako_errors.mjs';
6
6
  import { NakoLexer } from './nako_lexer.mjs';
7
7
  // なでしこで定義した関数の開始コードと終了コード
8
8
  const topOfFunction = '(function(){\n';
@@ -1540,7 +1540,7 @@ ${js}
1540
1540
  } // end of ${asyncMain}
1541
1541
  ${asyncMain}.call(self, self).catch(err => {
1542
1542
  self.numFailures++
1543
- throw new NakoRuntimeError(err, self.__v0.line) // エラー位置を認識
1543
+ throw self.logger.runtimeError(err, self.__v0.line)
1544
1544
  })
1545
1545
  // <nadesiko3::gen::async>
1546
1546
  // --------------------------------------------------
@@ -1554,7 +1554,7 @@ try {
1554
1554
  ${js}
1555
1555
  } catch (err) {
1556
1556
  self.numFailures++
1557
- throw new NakoRuntimeError(err, self.__v0.line) // エラー位置を認識
1557
+ throw self.logger.runtimeError(err, self.__v0.line)
1558
1558
  }
1559
1559
  // --------------------------------------------------
1560
1560
  `;
@@ -1627,10 +1627,6 @@ ${js}
1627
1627
  const initCode = gen.getPluginInitCode();
1628
1628
  const runtimeEnvCode = `
1629
1629
  // <runtimeEnvCode>
1630
- // <nakoError>
1631
- ${NakoError.toString()}
1632
- ${NakoRuntimeError.toString()}
1633
- // </nakoError>
1634
1630
  const self = this
1635
1631
  ${opt.codeEnv}
1636
1632
  ${jsInit}
@@ -3,7 +3,7 @@
3
3
  * なお速度優先で忠実にJavaScriptのコードを生成する。
4
4
  */
5
5
 
6
- import { NakoRuntimeError, NakoSyntaxError, NakoError } from './nako_errors.mjs'
6
+ import { NakoSyntaxError } from './nako_errors.mjs'
7
7
  import { NakoLexer } from './nako_lexer.mjs'
8
8
  import { Ast, FuncList, FuncArgs, Token } from './nako_types.mjs'
9
9
  import { NakoCompiler } from './nako3.mjs'
@@ -1614,7 +1614,7 @@ ${js}
1614
1614
  } // end of ${asyncMain}
1615
1615
  ${asyncMain}.call(self, self).catch(err => {
1616
1616
  self.numFailures++
1617
- throw new NakoRuntimeError(err, self.__v0.line) // エラー位置を認識
1617
+ throw self.logger.runtimeError(err, self.__v0.line)
1618
1618
  })
1619
1619
  // <nadesiko3::gen::async>
1620
1620
  // --------------------------------------------------
@@ -1627,7 +1627,7 @@ try {
1627
1627
  ${js}
1628
1628
  } catch (err) {
1629
1629
  self.numFailures++
1630
- throw new NakoRuntimeError(err, self.__v0.line) // エラー位置を認識
1630
+ throw self.logger.runtimeError(err, self.__v0.line)
1631
1631
  }
1632
1632
  // --------------------------------------------------
1633
1633
  `
@@ -1698,10 +1698,6 @@ ${js}
1698
1698
  const initCode = gen.getPluginInitCode()
1699
1699
  const runtimeEnvCode = `
1700
1700
  // <runtimeEnvCode>
1701
- // <nakoError>
1702
- ${NakoError.toString()}
1703
- ${NakoRuntimeError.toString()}
1704
- // </nakoError>
1705
1701
  const self = this
1706
1702
  ${opt.codeEnv}
1707
1703
  ${jsInit}
@@ -1,5 +1,5 @@
1
1
  /** NakoLogger */
2
- import { NakoError } from './nako_errors.mjs';
2
+ import { NakoError, NakoRuntimeError } from './nako_errors.mjs';
3
3
  import { NakoColors } from './nako_colors.mjs';
4
4
  /** ログレベル - 数字が高いほど優先度が高い。 */
5
5
  export class LogLevel {
@@ -147,6 +147,11 @@ export class NakoLogger {
147
147
  }
148
148
  this.sendI(LogLevel.error, `${NakoColors.color.bold}${NakoColors.color.red}[エラー]${NakoColors.color.reset}${stringifyPosition(position)}${message}`, position);
149
149
  }
150
+ /** RuntimeErrorを生成する */
151
+ runtimeError(error, posStr) {
152
+ const e = new NakoRuntimeError(error, posStr);
153
+ return e;
154
+ }
150
155
  /** ユーザープログラムのデバッグ情報(すべて)
151
156
  * @param {string} message
152
157
  * @param {Position | null} position
@@ -1,5 +1,5 @@
1
1
  /** NakoLogger */
2
- import { NakoError } from './nako_errors.mjs'
2
+ import { NakoError, NakoRuntimeError } from './nako_errors.mjs'
3
3
  import { NakoColors } from './nako_colors.mjs'
4
4
  import { Token, Ast } from './nako_types.mjs'
5
5
 
@@ -178,6 +178,12 @@ export class NakoLogger {
178
178
  position)
179
179
  }
180
180
 
181
+ /** RuntimeErrorを生成する */
182
+ public runtimeError (error: any, posStr: string): NakoRuntimeError {
183
+ const e = new NakoRuntimeError(error, posStr)
184
+ return e
185
+ }
186
+
181
187
  /** ユーザープログラムのデバッグ情報(すべて)
182
188
  * @param {string} message
183
189
  * @param {Position | null} position
package/doc/plugins.md CHANGED
@@ -45,7 +45,7 @@ default export {
45
45
 
46
46
  上記プログラムを使うには、同じフォルダに次のような、なでしこ3のプログラムを記述する。
47
47
 
48
- ```
48
+ ```nako3
49
49
  !「./testfunc.mjs」を取り込む。
50
50
  7と2をテスト加算して表示。 # 結果 →9
51
51
  10から3をテスト減算して表示。# 結果 → 7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3",
3
- "version": "3.3.54",
3
+ "version": "3.3.55",
4
4
  "description": "Japanese Programming Language",
5
5
  "type": "module",
6
6
  "main": "src/index.mjs",
@@ -131,7 +131,7 @@
131
131
  "crypto-browserify": "^3.12.0",
132
132
  "css-loader": "^6.7.1",
133
133
  "es6-promise": "^4.2.8",
134
- "eslint": "^8.16.0",
134
+ "eslint": "^8.17.0",
135
135
  "eslint-config-prettier": "^8.5.0",
136
136
  "eslint-config-standard": "^17.0.0",
137
137
  "eslint-plugin-import": "^2.26.0",
@@ -181,7 +181,8 @@
181
181
  "uuid": "^8.3.2",
182
182
  "webpack": "^5.72.1",
183
183
  "webpack-bundle-analyzer": "^4.5.0",
184
- "webpack-cli": "^4.9.2"
184
+ "webpack-cli": "^4.9.2",
185
+ "multer": "^1.4.5-lts.1"
185
186
  },
186
187
  "dependencies": {
187
188
  "dayjs": "^1.11.2",
@@ -189,7 +190,6 @@
189
190
  "html": "^1.0.0",
190
191
  "iconv-lite": "^0.6.3",
191
192
  "marked": "^4.0.16",
192
- "multer": "^1.4.5-lts.1",
193
193
  "node-fetch": "^3.2.4",
194
194
  "opener": "^1.5.2"
195
195
  }
package/release/_hash.txt CHANGED
@@ -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): e858312588ef3362efa2f84df61fe55d
58
- sha256(hex): 69b502a9eee9a5f0b4839ec75b36a1d36ad8dfc6d69f523d3e1a2603c52cf647
59
- sha256(base64): abUCqe7ppfC0g57HWzah02rY38bWn1I9PhomA8Us9kc=
60
- sha512(base64): YyUWtxeEAi9qt3PDqdcUfkPJOGxQDg1qIxDRZVD+s1i4bbIb7kzYZZoCAMAZnwSeMeRW3u5egSGnc4EokxwlKw==
57
+ md5(hex): 17a049c63ef32abdea003ba0ec869ad8
58
+ sha256(hex): 0005198cb820a2ddfe45531288e082828dc2f604c6f9fdc9f7fe4634dd7f6c55
59
+ sha256(base64): AAUZjLggot3+RVMSiOCCgo3C9gTG+f3J9/5GNN1/bFU=
60
+ sha512(base64): 6i4v9RcEuO156wJF5JkMihfGLWvdhy/5y6Q/i0HKYLVNlTkPGWtVKh81ZxPFwokzqT7mjamgqVXu5mxo4c69ZA==
61
61
  wnako3.js:
62
- md5(hex): f7f6c3fd1a2118bd4c158ddcbca5539f
63
- sha256(hex): dbe2d97663b0645823948d59a4efcecc5f7a31acd4218eaf514971464fc00f28
64
- sha256(base64): 2+LZdmOwZFgjlI1ZpO/OzF96MazUIY6vUUlxRk/ADyg=
65
- sha512(base64): WpXd+gTLC7AiyS6m344hf1/EONmSOZj9Xhb+djJDTxo5pVwdA/JPiOnyq+8IT8y/7ELXdt2ASqxY4Q7mNf0xWg==
62
+ md5(hex): 287d6c2ef578c9641bbb84aa0b37a883
63
+ sha256(hex): 4a40fdda43bd94b5fdd935ccc1b21e5706cef2e88beb4efe7be448a8ad8e6516
64
+ sha256(base64): SkD92kO9lLX92TXMwbIeVwbO8uiL607+e+RIqK2OZRY=
65
+ sha512(base64): CyixWNqFF523IZITid+ktmtUEQkJAk92ecad4p5G90K4PwAVvl9thIiIxlvkF1auU49nRvIvOtjGJSyw8UD7Yw==
66
66
  wnako3webworker.js:
67
- md5(hex): dc6c132d7fcef2e225dd507b94664580
68
- sha256(hex): 8890d7f10aed4594742ac8df3ac8e9493e18aa3d41e514519dc16717af5e91c0
69
- sha256(base64): iJDX8QrtRZR0KsjfOsjpST4Yqj1B5RRRncFnF69ekcA=
70
- sha512(base64): vxQAt5vpWKrffruaBeKBmxoFMrQW62rczRemGQ+UbtVDI2IrKra/d2RM/3KiRySrtZy1aakYq9uMrFC25TXJLA==
67
+ md5(hex): 96ebadb79faee82a6705b8c2f490aa1a
68
+ sha256(hex): 3360634ad07b687ee08dd1b4ec639b4a3a749cb17cbc90d09a895a5032543afd
69
+ sha256(base64): M2BjStB7aH7gjdG07GObSjp0nLF8vJDQmolaUDJUOv0=
70
+ sha512(base64): bvBGD2vIEDNileOaIFHF8PaQls0dk6Up76Cb13QQqxGitS+rw1D/PGySL9SfWaZk6x4f3TG7xmL7GNILNczvJw==
@@ -1,14 +1,14 @@
1
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.54&f=release/command.json.js" integrity="sha512-3PHGfRGcyV9VPBflXtm5cP2qT4kGyPgTpCyrFhjUXMHQKRf6+2yGK6VCcAV6KCOkjWIzKVCGeoDo4Pzp+YtckQ==" crossorigin="anonymous"></script>
2
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.54&f=release/editor.js" integrity="sha512-q9aYWdo2RiNlmsa4gSoQL70F4RkvG/lAUxOYew1tXdyJre4KSm7EWQp9m9+CgexV+sLcOg3DJ3+0/FW8Uu2DIg==" crossorigin="anonymous"></script>
3
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.54&f=release/nako_gen_async.js" integrity="sha512-8d8MklDxryUEfg4JC1UrCGs7DlgF4BFzHicfE6kgOI8LPh2TA1zDfSQFsmemzeeLcMAw/xtKy0SJpAEEW6I9Og==" crossorigin="anonymous"></script>
4
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.54&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.54&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.54&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
7
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.54&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.54&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.54&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.54&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.54&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.54&f=release/version.js" integrity="sha512-YyUWtxeEAi9qt3PDqdcUfkPJOGxQDg1qIxDRZVD+s1i4bbIb7kzYZZoCAMAZnwSeMeRW3u5egSGnc4EokxwlKw==" crossorigin="anonymous"></script>
13
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.54&f=release/wnako3.js" integrity="sha512-WpXd+gTLC7AiyS6m344hf1/EONmSOZj9Xhb+djJDTxo5pVwdA/JPiOnyq+8IT8y/7ELXdt2ASqxY4Q7mNf0xWg==" crossorigin="anonymous"></script>
14
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.54&f=release/wnako3webworker.js" integrity="sha512-vxQAt5vpWKrffruaBeKBmxoFMrQW62rczRemGQ+UbtVDI2IrKra/d2RM/3KiRySrtZy1aakYq9uMrFC25TXJLA==" crossorigin="anonymous"></script>
1
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.55&f=release/command.json.js" integrity="sha512-3PHGfRGcyV9VPBflXtm5cP2qT4kGyPgTpCyrFhjUXMHQKRf6+2yGK6VCcAV6KCOkjWIzKVCGeoDo4Pzp+YtckQ==" crossorigin="anonymous"></script>
2
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.55&f=release/editor.js" integrity="sha512-q9aYWdo2RiNlmsa4gSoQL70F4RkvG/lAUxOYew1tXdyJre4KSm7EWQp9m9+CgexV+sLcOg3DJ3+0/FW8Uu2DIg==" crossorigin="anonymous"></script>
3
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.55&f=release/nako_gen_async.js" integrity="sha512-8d8MklDxryUEfg4JC1UrCGs7DlgF4BFzHicfE6kgOI8LPh2TA1zDfSQFsmemzeeLcMAw/xtKy0SJpAEEW6I9Og==" crossorigin="anonymous"></script>
4
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.55&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.55&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.55&f=release/plugin_datetime.js" integrity="sha512-1ADTZFkcfU6vpEEJZEYmIbqS6G2XViooDFD4198P61n7VKZ0PhEVj9l8ULFGrW7woSbDqfSPZmkZ7yvcRqPKYA==" crossorigin="anonymous"></script>
7
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.55&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.55&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.55&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.55&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.55&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.55&f=release/version.js" integrity="sha512-6i4v9RcEuO156wJF5JkMihfGLWvdhy/5y6Q/i0HKYLVNlTkPGWtVKh81ZxPFwokzqT7mjamgqVXu5mxo4c69ZA==" crossorigin="anonymous"></script>
13
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.55&f=release/wnako3.js" integrity="sha512-CyixWNqFF523IZITid+ktmtUEQkJAk92ecad4p5G90K4PwAVvl9thIiIxlvkF1auU49nRvIvOtjGJSyw8UD7Yw==" crossorigin="anonymous"></script>
14
+ <script defer src="https://nadesi.com/v3/cdn.php?v=3.3.55&f=release/wnako3webworker.js" integrity="sha512-bvBGD2vIEDNileOaIFHF8PaQls0dk6Up76Cb13QQqxGitS+rw1D/PGySL9SfWaZk6x4f3TG7xmL7GNILNczvJw==" crossorigin="anonymous"></script>