forked from asciidwango/js-primer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
prh.yml
297 lines (286 loc) · 9.5 KB
/
prh.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
version: 1
imports:
- test/techbooster.yml
rules:
# 大文字小文字全角半角の統一
- expected: Cookie
# 以下と等価 正規表現には強制でgフラグが付く
# - expected: Cookie
# pattern: "/[CcCc][OoOo][OoOo][KkKk][IiIi][EeEe]/g"
# options:
# wordBoundary: false
# specs: []
- expected: Markdown
# 正規表現で置換もできる
- expected: JavaScript
patterns:
- javascript
options:
wordBoundary: true
specs:
- from: javascript
to: JavaScript
- expected: ECMAScript $1
pattern: /ECMAScript([0-9]+)/
# 変換結果についてテストも書ける
- expected: jQuery
specs:
- from: jquery
to: jQuery
- from: JQUERY
to: jQuery
# 変換結果が期待通りではなかった場合、ルールのロードに失敗する
# - expected: JavaScript
# specs:
# - from: JAVASCRIPT
# to: JavaScprit # この場合はテスト側が間違ってる!
# Error: JavaScript spec failed. "JAVASCRIPT", expected "JavaScprit", but got "JavaScript", /[JjJj][AaAa][VvVv][AaAa][SsSs][CcCc][RrRr][IiIi][PpPp][TtTt]/g
# 表現の統一を図る
- expected: デフォルト
pattern: ディフォルト
# patternは複数記述可能
- expected: ハードウェア
pattern:
- ハードウエアー
- ハードウエア # 正規表現に変換する都合上短いものを後に書いたほうがよい
- ハードウェアー
# patternには正規表現が利用可能 否定戻り先読みが欲しい…(JSにはない
- expected: $1ソフトウェア
pattern: /([^経])ソフトウエア/
specs:
# 普通に変換
- from: 広義のソフトウエア
to: 広義のソフトウェア
# 日経ソフトウエア(書名)は変換しない
- from: 日経ソフトウエア
to: 日経ソフトウエア
# Project
- expected: Doctest
- expected: 基本文法
patterns:
- 基礎文法
# http://www.ecma-international.org/ecma-262/6.0/#sec-comments
# MultiLineComment
# SingleLineComment
- expected: 一行コメント
patterns:
- 1行コメント
- ワンラインコメント
prh: 仕様的に http://www.ecma-international.org/ecma-262/6.0/#sec-comments
- expected: $1一行コメント
patterns: /([^1一数])行コメント/
prh: 仕様的に http://www.ecma-international.org/ecma-262/6.0/#sec-comments
- expected: 複数行コメント
patterns:
- ブロックコメント
- マルチラインコメント
prh: 仕様的に http://www.ecma-international.org/ecma-262/6.0/#sec-comments
- expected: うるう年
patterns: 閏年
- expected: 実行する文
patterns:
- 処理したい文
- 処理する文
- expected: case節
patterns:
- case文
prh: "caseは節かブロックです http://www.ecma-international.org/ecma-262/7.0/#prod-CaseClauses"
- expected: break文
patterns:
- break式
- expected: 処理中の$1
patterns: /実行中の([^、。\s]*?文)/
prh: "文は処理中という扱いです"
specs:
- from: 偶数ではない場合、実行中の文をスキップしています。
to : 偶数ではない場合、処理中の文をスキップしています。
- expected: 処理中の$1
patterns: /現在実行中の([^、。\s]*?文)/
prh: "文は処理中という扱いです"
specs:
- from: 現在実行中のループ文を終了することができます。
to : 処理中のループ文を終了することができます。
- expected: 反復処理
patterns:
- 繰り返し処理
- ループ処理
prh: 繰り返しがループ的なものか、同じことを何度も繰り返すかが曖昧なので反復処理にする
- expected: 浮動小数点数$1
patterns:
- /浮動小数点([ぁ-ん])/
prh: "浮動小数点ではなく浮動小数点数を使ってください"
- expected: シングルスレッド
patterns:
- 単一スレッド
- expected: for...in
patterns:
- /for\.{1,2}in/
- /for\\-in/
- for/in
- expected: for...of
patterns:
- /for\.{1,2}of/
- /for\\-of/
- for/of
- expected: バッククオート
patterns: バックティック
- expected: 匿名関数
patterns: 無名関数
- expected: Array-like
patterns: 配列ライク
- expected: Promiseチェーン
patterns:
- /thenチェーン/i
- /promise chain/i
prh: https://github.com/asciidwango/js-primer/pull/116
specs:
- from: thenチェーンと言います
to : Promiseチェーンと言います
- expected: Statement
patterns: ステートメント
options:
wordBoundary: true
- expected: Expression
patterns: エクスプレッション
options:
wordBoundary: true
- expected: 暗黙的な型変換
patterns: 暗黙的な変換
- expected: プリミティブ型
patterns:
- プリミティブなデータ型
- プリミティブデータ型
prh: StringやNumberといったtypeのこと。プリミティブ値の型を示す
- expected: プリミティブ型の値
patterns:
- プリミティブ値
prh: 仕様におけるprimitive valueのこと。 strや1といったプリミティブ型の値を示す
- expected: インデックス
patterns:
- 添字
prh: 配列では添字ではなく、インデックスを使います。
- expected: インデックス
patterns:
- 添字
prh: 配列では添字ではなく、インデックスを使います。
- expected: 疎な配列
patterns: 疎の配列
prh: sparse arrayのこと
- expected: 密な配列
patterns: 密の配列
- expected: テンプレートリテラル
patterns: /Template\s*Literal/i
- expected: テンプレート文字列
patterns: /Template\s*Strings/i
- expected: タグ付きテンプレートリテラル
patterns: /Tagged\s*template\s*literals?/i
- expected: Unicode
patterns: ユニコード
- expected: UTF-16
patterns: /UTF16/i
- expected: 弱い参照
patterns: 弱参照
# Code Unit/ Code Point
- expected: Code Unit
- expected: Code Poiint
- expected: 各Code Unitごとに
patterns: Code Unit単位
- expected: 各Code Pointごとに
patterns: Code Point単位
- expected: strict mode
prh: strict modeでひとつなので常に小文字
- expected: $1分割代入$2
patterns:
- /[^(分割代入()]Destructuring assignment/i
- /[^(分割代入()]Destructuring(\S)/i
- expected: ガベージコレクション
patterns:
- /ガーベッジコレクション|ガーベッジコレクション|ガーベジコレクション/
- expected: クロージャー
patterns:
- /クロージャ(!?ー)/
# ファイルの読み書き / ファイルI/O
- expected: ファイルの読み書き
patterns:
- ファイルI/0
- ファイルI0
- expected: オブジェクト
patterns:
- オブジェクと
# 一致とマッチ
## 一致は ===
- expected: $1一致
patterns:
- /(正規表現に)一致/
- /(パターンに)一致/
- expected: $1マッチ
patterns:
- /(パターンに)一致/
- /(正規表現に)一致/
- expected: ビルトイン$1
patterns:
- /ネイティブ(関数)/
- /ネイティブ(メソッド)/
# typo
- expected: $1進数
patterns:
- /(\d+)真数/
- expected: 同じ変数名を
patterns:
- /同じ変数を/
- expected: 機会が$1
patterns: /機械が(多い|ある|あり)/
specs:
- from: 機械がある
to: 機会がある
prh: 機械という単語が出てきたら直します
- expected: 状態で
patterns: 常体で
- expected: する場合は
patterns: する倍は
- expected: 式文
patterns: 文式
- expected: 宣言的
patterns: 宣言亭
- expected: コンストラクタ
patterns: 今ストラク
# 文体
- expected: どのように
patterns:
- どうやって
- expected: $1ずつ
patterns: /(\d+[個つ]?)づつ/
specs:
- from: 2個づつ
to : 2個ずつ
- from: 2つづつ
to : 2つずつ
- expected: 処理を行います
patterns:
- 処理をします
- expected: 紐付けて定義
patterns:
- 紐付けられて定義
prh: 能動的に書いてください
- expected: $1でのみ
patterns: /(内|中)からのみ/
prh: 表記統一
specs:
- from: 仮引数はその関数の中からのみ参照が可能で、関数の外からは参照できません。
to: 仮引数はその関数の中でのみ参照が可能で、関数の外からは参照できません。
# 漢字開き
- expected: もとづ$1
patterns: /基づ(く|き)/
- expected: 見てい$1
patterns: /見て行(く|き)/
specs:
- from: では、実際にどのように書くかの例を見て行きたいと思います。
to: では、実際にどのように書くかの例を見ていきたいと思います。
- expected: どのような
patterns: /どういう(?!こと)/
specs:
- from: どういうものがthenableなのか
to: どのようなものがthenableなのか
# techbooster.ymlでは'時刻'が認められないので'刻'を追加
- expected: $1とき
pattern: /(の)時(?!点|代|々|間|刻)/