jssm 5.45.2 → 5.46.0

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 (82) hide show
  1. package/dist/es6/jssm.d.ts +2 -1
  2. package/dist/es6/jssm.js +5 -0
  3. package/dist/es6/jssm_types.d.ts +6 -5
  4. package/dist/es6/version.js +1 -1
  5. package/dist/jssm.es5.cjs.js +1 -1
  6. package/jssm.d.ts +2 -1
  7. package/jssm_types.d.ts +6 -5
  8. package/package.json +1 -1
  9. package/.codeclimate.yml +0 -22
  10. package/.editorconfig +0 -12
  11. package/.eslintrc +0 -20
  12. package/.nycrc +0 -6
  13. package/.travis.yml +0 -9
  14. package/dist/jssm.es5.iife.js +0 -1
  15. package/jest-spec.config.js +0 -27
  16. package/jest-stoch.config.js +0 -27
  17. package/rollup.config.iife.js +0 -44
  18. package/rollup.config.js +0 -44
  19. package/src/demo/index.html +0 -38
  20. package/src/demo/style.css +0 -2
  21. package/src/ts/jssm-dot.peg +0 -928
  22. package/src/ts/jssm.ts +0 -1243
  23. package/src/ts/jssm_types.ts +0 -385
  24. package/src/ts/jssm_util.ts +0 -117
  25. package/src/ts/tests/actions.spec.ts +0 -167
  26. package/src/ts/tests/arrange.spec.ts +0 -72
  27. package/src/ts/tests/arrange.stoch.ts +0 -4
  28. package/src/ts/tests/array_box_if_string.spec.ts +0 -30
  29. package/src/ts/tests/array_transitions.spec.ts +0 -129
  30. package/src/ts/tests/arrow unicode.spec.ts +0 -88
  31. package/src/ts/tests/arrow.spec.ts +0 -124
  32. package/src/ts/tests/colors.spec.ts +0 -58
  33. package/src/ts/tests/comment.spec.ts +0 -134
  34. package/src/ts/tests/compile.spec.ts +0 -79
  35. package/src/ts/tests/constants.spec.ts +0 -98
  36. package/src/ts/tests/cycles.spec.ts +0 -153
  37. package/src/ts/tests/dot_preamble.spec.ts +0 -16
  38. package/src/ts/tests/embedded_sm.spec.ts +0 -36
  39. package/src/ts/tests/flow.spec.ts +0 -22
  40. package/src/ts/tests/forced transitions.spec.ts +0 -26
  41. package/src/ts/tests/general.spec.ts +0 -933
  42. package/src/ts/tests/graph node lists.spec.ts +0 -21
  43. package/src/ts/tests/histo.spec.ts +0 -24
  44. package/src/ts/tests/hooks.spec.ts +0 -209
  45. package/src/ts/tests/language.spec.ts +0 -37
  46. package/src/ts/tests/language_data/belarussian.json +0 -14
  47. package/src/ts/tests/language_data/bengali.json +0 -16
  48. package/src/ts/tests/language_data/emoji.json +0 -22
  49. package/src/ts/tests/language_data/english.json +0 -17
  50. package/src/ts/tests/language_data/french.json +0 -17
  51. package/src/ts/tests/language_data/german.json +0 -17
  52. package/src/ts/tests/language_data/hebrew.json +0 -16
  53. package/src/ts/tests/language_data/portuguese.json +0 -13
  54. package/src/ts/tests/language_data/russian.json +0 -13
  55. package/src/ts/tests/language_data/spanish.json +0 -17
  56. package/src/ts/tests/language_data/ukrainian.json +0 -19
  57. package/src/ts/tests/layout.spec.ts +0 -29
  58. package/src/ts/tests/machine_attributes.spec.ts +0 -398
  59. package/src/ts/tests/machine_name.spec.ts +0 -14
  60. package/src/ts/tests/named lists.spec.ts +0 -24
  61. package/src/ts/tests/nominated states.spec.ts +0 -133
  62. package/src/ts/tests/parse actions.spec.ts +0 -32
  63. package/src/ts/tests/parse.spec.ts +0 -94
  64. package/src/ts/tests/probability.spec.ts +0 -146
  65. package/src/ts/tests/r639.spec.ts +0 -27
  66. package/src/ts/tests/sample_select.spec.ts +0 -173
  67. package/src/ts/tests/seq.spec.ts +0 -14
  68. package/src/ts/tests/seq.stoch.ts +0 -83
  69. package/src/ts/tests/shapes.spec.ts +0 -63
  70. package/src/ts/tests/sm_tag.spec.ts +0 -37
  71. package/src/ts/tests/special characters.spec.ts +0 -39
  72. package/src/ts/tests/state_declaration.spec.ts +0 -214
  73. package/src/ts/tests/state_style.spec.ts +0 -82
  74. package/src/ts/tests/stop light.spec.ts +0 -157
  75. package/src/ts/tests/stripes.spec.ts +0 -52
  76. package/src/ts/tests/theme.spec.ts +0 -45
  77. package/src/ts/tests/weighted_histo_key.spec.ts +0 -22
  78. package/src/ts/tests/weighted_rand_select.spec.ts +0 -27
  79. package/src/ts/tests/weighted_sample_select.spec.ts +0 -24
  80. package/src/ts/version.ts +0 -3
  81. package/tree.txt +0 -1794
  82. package/tsconfig.json +0 -27
@@ -1,928 +0,0 @@
1
-
2
- Document
3
- = WS? e:TermList WS? { return e; }
4
-
5
-
6
-
7
-
8
-
9
- Theme
10
- = "none"
11
- / "default"
12
- / "modern"
13
- / "ocean"
14
-
15
-
16
-
17
-
18
-
19
- GvizShape
20
- = "box3d"
21
- / "polygon"
22
- / "ellipse"
23
- / "oval"
24
- / "circle"
25
- / "point"
26
- / "egg"
27
- / "triangle"
28
- / "plaintext"
29
- / "plain"
30
- / "diamond"
31
- / "trapezium"
32
- / "parallelogram"
33
- / "house"
34
- / "pentagon"
35
- / "hexagon"
36
- / "septagon"
37
- / "octagon"
38
- / "doublecircle"
39
- / "doubleoctagon"
40
- / "tripleoctagon"
41
- / "invtriangle"
42
- / "invtrapezium"
43
- / "invhouse"
44
- / "Mdiamond"
45
- / "Msquare"
46
- / "Mcircle"
47
- / "rectangle"
48
- / "rect"
49
- / "square"
50
- / "star"
51
- / "none"
52
- / "underline"
53
- / "cylinder"
54
- / "note"
55
- / "tab"
56
- / "folder"
57
- / "box"
58
- / "component"
59
- / "promoter"
60
- / "cds"
61
- / "terminator"
62
- / "utr"
63
- / "primersite"
64
- / "restrictionsite"
65
- / "fivepoverhang"
66
- / "threepoverhang"
67
- / "noverhang"
68
- / "assembly"
69
- / "signature"
70
- / "insulator"
71
- / "ribosite"
72
- / "rnastab"
73
- / "proteasesite"
74
- / "proteinstab"
75
- / "rpromoter"
76
- / "rarrow"
77
- / "larrow"
78
- / "lpromoter"
79
- / "record"
80
-
81
-
82
- ForwardLightArrow "forward light arrow ->"
83
- = "->"
84
- / "→" { return "->"; }
85
-
86
- TwoWayLightArrow "two way light arrow <->"
87
- = "<->"
88
- / "↔" { return "<->"; }
89
-
90
- BackLightArrow "back light arrow <-"
91
- = "<-"
92
- / "←" { return "<-"; }
93
-
94
-
95
- ForwardFatArrow "forward fat arrow =>"
96
- = "=>"
97
- / "⇒" { return "=>"; }
98
-
99
- TwoWayFatArrow "two way fat arrow <=>"
100
- = "<=>"
101
- / "⇔" { return "<=>"; }
102
-
103
- BackFatArrow "back fat arrow <="
104
- = "<="
105
- / "⇐" { return "<="; }
106
-
107
-
108
- ForwardTildeArrow "forward tilde arrow ~>"
109
- = "~>"
110
- / "↛" { return "~>"; }
111
-
112
- TwoWayTildeArrow "two way tilde arrow <~>"
113
- = "<~>"
114
- / "↮" { return "<~>"; }
115
-
116
- BackTildeArrow "back tilde arrow <~"
117
- = "<~"
118
- / "↚" { return "<~"; }
119
-
120
-
121
- LightFatArrow "light fat arrow <-=>"
122
- = "<-=>"
123
- / "←⇒" { return "<-=>"; }
124
-
125
- LightTildeArrow "light tilde arrow <-~>"
126
- = "<-~>"
127
- / "←↛" { return "<-~>"; }
128
-
129
- FatLightArrow "fat light arrow <=->"
130
- = "<=->"
131
- / "⇐→" { return "<=->"; }
132
-
133
- FatTildeArrow "fat tilde arrow <=~>"
134
- = "<=~>"
135
- / "⇐↛" { return "<=~>"; }
136
-
137
- TildeLightArrow "tilde light arrow <~->"
138
- = "<~->"
139
- / "↚→" { return "<~->"; }
140
-
141
- TildeFatArrow "tilde fat arrow <~=>"
142
- = "<~=>"
143
- / "↚⇒" { return "<~=>"; }
144
-
145
-
146
- LightArrow "light arrow"
147
- = ForwardLightArrow / TwoWayLightArrow / BackLightArrow
148
-
149
- FatArrow "fat arrow"
150
- = ForwardFatArrow / TwoWayFatArrow / BackFatArrow
151
-
152
- TildeArrow "tilde arrow"
153
- = ForwardTildeArrow / TwoWayTildeArrow / BackTildeArrow
154
-
155
- MixedArrow "mixed arrow"
156
- = LightFatArrow / LightTildeArrow / FatLightArrow / FatTildeArrow / TildeLightArrow / TildeFatArrow
157
-
158
-
159
- Arrow "arrow"
160
- = MixedArrow / LightArrow / FatArrow / TildeArrow
161
-
162
-
163
-
164
- Boolean
165
- = "true" { return true; }
166
- / "false" { return false; }
167
-
168
- Corners
169
- = "regular"
170
- / "rounded"
171
- / "lined"
172
-
173
- LineStyle
174
- = "solid"
175
- / "dotted"
176
- / "dashed"
177
-
178
- HexDigit
179
- = [0-9a-fA-F]
180
-
181
- Char
182
- = Unescaped
183
- / Escape Sequence:(
184
- '"'
185
- / "\\"
186
- / "/"
187
- / "b" { return "\b"; }
188
- / "f" { return "\f"; }
189
- / "n" { return "\n"; }
190
- / "r" { return "\r"; }
191
- / "t" { return "\t"; }
192
- / "v" { return "\v"; }
193
- / "u" digits:$(HexDigit HexDigit HexDigit HexDigit) {
194
- return String.fromCharCode(parseInt(digits, 16));
195
- }
196
- )
197
- { return Sequence; }
198
-
199
- Escape = "\\"
200
- QuoteMark = '"'
201
- Unescaped = [\x20-\x21\x23-\x5B\x5D-\u10FFFF] // explicitly omits "
202
-
203
- ActionLabelChar
204
- = ActionLabelUnescaped
205
- / Escape Sequence:(
206
- "'"
207
- / "\\"
208
- / "/"
209
- / "b" { return "\b"; }
210
- / "f" { return "\f"; }
211
- / "n" { return "\n"; }
212
- / "r" { return "\r"; }
213
- / "t" { return "\t"; }
214
- / "v" { return "\v"; }
215
- / "u" digits:$(HexDigit HexDigit HexDigit HexDigit) {
216
- return String.fromCharCode(parseInt(digits, 16));
217
- }
218
- )
219
- { return Sequence; }
220
-
221
- ActionLabelQuoteMark = "'"
222
- ActionLabelUnescaped = [\x20-\x26\x28-\x5B\x5D-\u10FFFF] // explicitly omits ' which is hex 27
223
-
224
- ActionLabel "action label"
225
- = ActionLabelQuoteMark chars:ActionLabelChar* ActionLabelQuoteMark { return chars.join(""); }
226
-
227
- LineTerminator
228
- = [\n\r\u2028\u2029]
229
-
230
- Whitespace
231
- = [ \t\n\r\v]+
232
-
233
- BlockCommentTail
234
- = "*/"
235
- / . BlockCommentTail
236
-
237
- BlockComment "block comment"
238
- = "/*" BlockCommentTail
239
-
240
- EOF
241
- = !.
242
-
243
- LineCommentTail
244
- = LineTerminator
245
- / EOF
246
- / . LineCommentTail
247
-
248
- LineComment "line comment"
249
- = "//" LineCommentTail
250
-
251
- WS "whitespace"
252
- = BlockComment WS?
253
- / LineComment WS?
254
- / [ \t\r\n\v]+ WS?
255
-
256
- String "string"
257
- = QuoteMark chars:Char* QuoteMark { return chars.join(""); }
258
-
259
- AtomFirstLetter
260
- = [0-9a-zA-Z\.\_\!\$\^\*\!\?\,\x80-\uFFFF]
261
-
262
- AtomLetter
263
- = [0-9a-zA-Z\.\+\=\_\^\(\)\*\&\$\#\@\!\?\,\x80-\uFFFF]
264
-
265
- Atom "atom"
266
- = firstletter:AtomFirstLetter text:AtomLetter* {
267
- return firstletter + ((text || []).join(''));
268
- }
269
-
270
- Label "label"
271
- = atom:Atom
272
- / string:String
273
-
274
- IntegerLiteral
275
- = "0"
276
- / NonZeroDigit DecimalDigit*
277
-
278
- DecimalDigit
279
- = [0-9]
280
-
281
- NonZeroDigit
282
- = [1-9]
283
-
284
- NonNegNumber "nonneg number"
285
- = IntegerLiteral "." DecimalDigit* WS? { return parseFloat(text()); }
286
- / IntegerLiteral WS? { return parseFloat(text()); }
287
-
288
-
289
-
290
-
291
-
292
- SemVer
293
- = major:IntegerLiteral "." minor:IntegerLiteral "." patch:IntegerLiteral
294
- { return {
295
- major: parseInt(major,10),
296
- minor: parseInt(minor,10),
297
- patch: parseInt(patch,10),
298
- full: text()
299
- }; }
300
-
301
- SemVerOper
302
- = "^"
303
- / "~"
304
- / ">="
305
- / "<="
306
- / "<"
307
- / ">"
308
-
309
- SemVerRule
310
- = SemVerOper? SemVer
311
-
312
- SemVerRange
313
- = SemVerRule SemVerRule?
314
-
315
-
316
-
317
-
318
-
319
- UrlProtocol
320
- = 'http://'
321
- / 'https://'
322
-
323
- URL
324
- = protocol:UrlProtocol [a-zA-Z0-9\!\*\'\(\)\:\;\@\&\=\+\$\,\/\?\#\[\]\_\.\~\-]+ { return text(); }
325
-
326
-
327
-
328
- SvgColorLabel
329
- = 'aliceblue' { return '#f0f8ffff'; } / 'AliceBlue' { return '#f0f8ffff'; }
330
- / 'antiquewhite' { return '#faebd7ff'; } / 'AntiqueWhite' { return '#faebd7ff'; }
331
-
332
- /* out of order because otherwise aqua would pre-run aquamarine */
333
- / 'aquamarine' { return '#7fffd4ff'; } / 'Aquamarine' { return '#7fffd4ff'; }
334
- / 'aqua' { return '#00ffffff'; } / 'Aqua' { return '#00ffffff'; }
335
- / 'azure' { return '#f0ffffff'; } / 'Azure' { return '#f0ffffff'; }
336
- / 'beige' { return '#f5f5dcff'; } / 'Beige' { return '#f5f5dcff'; }
337
- / 'bisque' { return '#ffe4c4ff'; } / 'Bisque' { return '#ffe4c4ff'; }
338
- / 'black' { return '#000000ff'; } / 'Black' { return '#000000ff'; }
339
- / 'blanchedalmond' { return '#ffebcdff'; } / 'BlanchedAlmond' { return '#ffebcdff'; }
340
-
341
- /* out of order because otherwise blue would pre-run blueviolet */
342
- / 'blueviolet' { return '#8a2be2ff'; } / 'BlueViolet' { return '#8a2be2ff'; }
343
- / 'blue' { return '#0000ffff'; } / 'Blue' { return '#0000ffff'; }
344
- / 'brown' { return '#a52a2aff'; } / 'Brown' { return '#a52a2aff'; }
345
- / 'burlywood' { return '#deb887ff'; } / 'BurlyWood' { return '#deb887ff'; }
346
- / 'cadetblue' { return '#5f9ea0ff'; } / 'CadetBlue' { return '#5f9ea0ff'; }
347
- / 'chartreuse' { return '#7fff00ff'; } / 'Chartreuse' { return '#7fff00ff'; }
348
- / 'chocolate' { return '#d2691eff'; } / 'Chocolate' { return '#d2691eff'; }
349
- / 'coral' { return '#ff7f50ff'; } / 'Coral' { return '#ff7f50ff'; }
350
- / 'cornflowerblue' { return '#6495edff'; } / 'CornflowerBlue' { return '#6495edff'; }
351
- / 'cornsilk' { return '#fff8dcff'; } / 'Cornsilk' { return '#fff8dcff'; }
352
- / 'crimson' { return '#dc143cff'; } / 'Crimson' { return '#dc143cff'; }
353
- / 'cyan' { return '#00ffffff'; } / 'Cyan' { return '#00ffffff'; }
354
- / 'darkblue' { return '#00008bff'; } / 'DarkBlue' { return '#00008bff'; }
355
- / 'darkcyan' { return '#008b8bff'; } / 'DarkCyan' { return '#008b8bff'; }
356
- / 'darkgoldenrod' { return '#b8860bff'; } / 'DarkGoldenRod' { return '#b8860bff'; }
357
- / 'darkgray' { return '#a9a9a9ff'; } / 'DarkGray' { return '#a9a9a9ff'; }
358
- / 'darkgrey' { return '#a9a9a9ff'; } / 'DarkGrey' { return '#a9a9a9ff'; }
359
- / 'darkgreen' { return '#006400ff'; } / 'DarkGreen' { return '#006400ff'; }
360
- / 'darkkhaki' { return '#bdb76bff'; } / 'DarkKhaki' { return '#bdb76bff'; }
361
- / 'darkmagenta' { return '#8b008bff'; } / 'DarkMagenta' { return '#8b008bff'; }
362
- / 'darkolivegreen' { return '#556b2fff'; } / 'DarkOliveGreen' { return '#556b2fff'; }
363
- / 'darkorange' { return '#ff8c00ff'; } / 'Darkorange' { return '#ff8c00ff'; }
364
- / 'darkorchid' { return '#9932ccff'; } / 'DarkOrchid' { return '#9932ccff'; }
365
- / 'darkred' { return '#8b0000ff'; } / 'DarkRed' { return '#8b0000ff'; }
366
- / 'darksalmon' { return '#e9967aff'; } / 'DarkSalmon' { return '#e9967aff'; }
367
- / 'darkseagreen' { return '#8fbc8fff'; } / 'DarkSeaGreen' { return '#8fbc8fff'; }
368
- / 'darkslateblue' { return '#483d8bff'; } / 'DarkSlateBlue' { return '#483d8bff'; }
369
- / 'darkslategray' { return '#2f4f4fff'; } / 'DarkSlateGray' { return '#2f4f4fff'; }
370
- / 'darkslategrey' { return '#2f4f4fff'; } / 'DarkSlateGrey' { return '#2f4f4fff'; }
371
- / 'darkturquoise' { return '#00ced1ff'; } / 'DarkTurquoise' { return '#00ced1ff'; }
372
- / 'darkviolet' { return '#9400d3ff'; } / 'DarkViolet' { return '#9400d3ff'; }
373
- / 'deeppink' { return '#ff1493ff'; } / 'DeepPink' { return '#ff1493ff'; }
374
- / 'deepskyblue' { return '#00bfffff'; } / 'DeepSkyBlue' { return '#00bfffff'; }
375
- / 'dimgray' { return '#696969ff'; } / 'DimGray' { return '#696969ff'; }
376
- / 'dimgrey' { return '#696969ff'; } / 'DimGrey' { return '#696969ff'; }
377
- / 'dodgerblue' { return '#1e90ffff'; } / 'DodgerBlue' { return '#1e90ffff'; }
378
- / 'firebrick' { return '#b22222ff'; } / 'FireBrick' { return '#b22222ff'; }
379
- / 'floralwhite' { return '#fffaf0ff'; } / 'FloralWhite' { return '#fffaf0ff'; }
380
- / 'forestgreen' { return '#228b22ff'; } / 'ForestGreen' { return '#228b22ff'; }
381
- / 'fuchsia' { return '#ff00ffff'; } / 'Fuchsia' { return '#ff00ffff'; }
382
- / 'gainsboro' { return '#dcdcdcff'; } / 'Gainsboro' { return '#dcdcdcff'; }
383
- / 'ghostwhite' { return '#f8f8ffff'; } / 'GhostWhite' { return '#f8f8ffff'; }
384
-
385
- /* out of order because otherwise gold would pre-run goldenrod */
386
- / 'goldenrod' { return '#daa520ff'; } / 'GoldenRod' { return '#daa520ff'; }
387
- / 'gold' { return '#ffd700ff'; } / 'Gold' { return '#ffd700ff'; }
388
- / 'gray' { return '#808080ff'; } / 'Gray' { return '#808080ff'; }
389
- / 'grey' { return '#808080ff'; } / 'Grey' { return '#808080ff'; }
390
-
391
- /* out of order because otherwise green would pre-run greenyellow */
392
- / 'greenyellow' { return '#adff2fff'; } / 'GreenYellow' { return '#adff2fff'; }
393
- / 'green' { return '#008000ff'; } / 'Green' { return '#008000ff'; }
394
- / 'honeydew' { return '#f0fff0ff'; } / 'HoneyDew' { return '#f0fff0ff'; }
395
- / 'hotpink' { return '#ff69b4ff'; } / 'HotPink' { return '#ff69b4ff'; }
396
- / 'indianred' { return '#cd5c5cff'; } / 'IndianRed' { return '#cd5c5cff'; }
397
- / 'indigo' { return '#4b0082ff'; } / 'Indigo' { return '#4b0082ff'; }
398
- / 'ivory' { return '#fffff0ff'; } / 'Ivory' { return '#fffff0ff'; }
399
- / 'khaki' { return '#f0e68cff'; } / 'Khaki' { return '#f0e68cff'; }
400
-
401
- /* out of order because otherwise lavender would pre-run lavenderblush */
402
- / 'lavenderblush' { return '#fff0f5ff'; } / 'LavenderBlush' { return '#fff0f5ff'; }
403
- / 'lavender' { return '#e6e6faff'; } / 'Lavender' { return '#e6e6faff'; }
404
- / 'lawngreen' { return '#7cfc00ff'; } / 'LawnGreen' { return '#7cfc00ff'; }
405
- / 'lemonchiffon' { return '#fffacdff'; } / 'LemonChiffon' { return '#fffacdff'; }
406
- / 'lightblue' { return '#add8e6ff'; } / 'LightBlue' { return '#add8e6ff'; }
407
- / 'lightcoral' { return '#f08080ff'; } / 'LightCoral' { return '#f08080ff'; }
408
- / 'lightcyan' { return '#e0ffffff'; } / 'LightCyan' { return '#e0ffffff'; }
409
- / 'lightgoldenrodyellow' { return '#fafad2ff'; } / 'LightGoldenRodYellow' { return '#fafad2ff'; }
410
- / 'lightgray' { return '#d3d3d3ff'; } / 'LightGray' { return '#d3d3d3ff'; }
411
- / 'lightgrey' { return '#d3d3d3ff'; } / 'LightGrey' { return '#d3d3d3ff'; }
412
- / 'lightgreen' { return '#90ee90ff'; } / 'LightGreen' { return '#90ee90ff'; }
413
- / 'lightpink' { return '#ffb6c1ff'; } / 'LightPink' { return '#ffb6c1ff'; }
414
- / 'lightsalmon' { return '#ffa07aff'; } / 'LightSalmon' { return '#ffa07aff'; }
415
- / 'lightseagreen' { return '#20b2aaff'; } / 'LightSeaGreen' { return '#20b2aaff'; }
416
- / 'lightskyblue' { return '#87cefaff'; } / 'LightSkyBlue' { return '#87cefaff'; }
417
- / 'lightslategray' { return '#778899ff'; } / 'LightSlateGray' { return '#778899ff'; }
418
- / 'lightslategrey' { return '#778899ff'; } / 'LightSlateGrey' { return '#778899ff'; }
419
- / 'lightsteelblue' { return '#b0c4deff'; } / 'LightSteelBlue' { return '#b0c4deff'; }
420
- / 'lightyellow' { return '#ffffe0ff'; } / 'LightYellow' { return '#ffffe0ff'; }
421
-
422
- /* out of order because otherwise lime would pre-run limegreen */
423
- / 'limegreen' { return '#32cd32ff'; } / 'LimeGreen' { return '#32cd32ff'; }
424
- / 'lime' { return '#00ff00ff'; } / 'Lime' { return '#00ff00ff'; }
425
- / 'linen' { return '#faf0e6ff'; } / 'Linen' { return '#faf0e6ff'; }
426
- / 'magenta' { return '#ff00ffff'; } / 'Magenta' { return '#ff00ffff'; }
427
- / 'maroon' { return '#800000ff'; } / 'Maroon' { return '#800000ff'; }
428
- / 'mediumaquamarine' { return '#66cdaaff'; } / 'MediumAquaMarine' { return '#66cdaaff'; }
429
- / 'mediumblue' { return '#0000cdff'; } / 'MediumBlue' { return '#0000cdff'; }
430
- / 'mediumorchid' { return '#ba55d3ff'; } / 'MediumOrchid' { return '#ba55d3ff'; }
431
- / 'mediumpurple' { return '#9370d8ff'; } / 'MediumPurple' { return '#9370d8ff'; }
432
- / 'mediumseagreen' { return '#3cb371ff'; } / 'MediumSeaGreen' { return '#3cb371ff'; }
433
- / 'mediumslateblue' { return '#7b68eeff'; } / 'MediumSlateBlue' { return '#7b68eeff'; }
434
- / 'mediumspringgreen' { return '#00fa9aff'; } / 'MediumSpringGreen' { return '#00fa9aff'; }
435
- / 'mediumturquoise' { return '#48d1ccff'; } / 'MediumTurquoise' { return '#48d1ccff'; }
436
- / 'mediumvioletred' { return '#c71585ff'; } / 'MediumVioletRed' { return '#c71585ff'; }
437
- / 'midnightblue' { return '#191970ff'; } / 'MidnightBlue' { return '#191970ff'; }
438
- / 'mintcream' { return '#f5fffaff'; } / 'MintCream' { return '#f5fffaff'; }
439
- / 'mistyrose' { return '#ffe4e1ff'; } / 'MistyRose' { return '#ffe4e1ff'; }
440
- / 'moccasin' { return '#ffe4b5ff'; } / 'Moccasin' { return '#ffe4b5ff'; }
441
- / 'navajowhite' { return '#ffdeadff'; } / 'NavajoWhite' { return '#ffdeadff'; }
442
- / 'navy' { return '#000080ff'; } / 'Navy' { return '#000080ff'; }
443
- / 'oldlace' { return '#fdf5e6ff'; } / 'OldLace' { return '#fdf5e6ff'; }
444
-
445
- /* out of order because otherwise olive would pre-run olivedrab */
446
- / 'olivedrab' { return '#6b8e23ff'; } / 'OliveDrab' { return '#6b8e23ff'; }
447
- / 'olive' { return '#808000ff'; } / 'Olive' { return '#808000ff'; }
448
-
449
- /* out of order because otherwise orange would pre-run orangered */
450
- / 'orangered' { return '#ff4500ff'; } / 'OrangeRed' { return '#ff4500ff'; }
451
- / 'orange' { return '#ffa500ff'; } / 'Orange' { return '#ffa500ff'; }
452
- / 'orchid' { return '#da70d6ff'; } / 'Orchid' { return '#da70d6ff'; }
453
- / 'palegoldenrod' { return '#eee8aaff'; } / 'PaleGoldenRod' { return '#eee8aaff'; }
454
- / 'palegreen' { return '#98fb98ff'; } / 'PaleGreen' { return '#98fb98ff'; }
455
- / 'paleturquoise' { return '#afeeeeff'; } / 'PaleTurquoise' { return '#afeeeeff'; }
456
- / 'palevioletred' { return '#d87093ff'; } / 'PaleVioletRed' { return '#d87093ff'; }
457
- / 'papayawhip' { return '#ffefd5ff'; } / 'PapayaWhip' { return '#ffefd5ff'; }
458
- / 'peachpuff' { return '#ffdab9ff'; } / 'PeachPuff' { return '#ffdab9ff'; }
459
- / 'peru' { return '#cd853fff'; } / 'Peru' { return '#cd853fff'; }
460
- / 'pink' { return '#ffc0cbff'; } / 'Pink' { return '#ffc0cbff'; }
461
- / 'plum' { return '#dda0ddff'; } / 'Plum' { return '#dda0ddff'; }
462
- / 'powderblue' { return '#b0e0e6ff'; } / 'PowderBlue' { return '#b0e0e6ff'; }
463
- / 'purple' { return '#800080ff'; } / 'Purple' { return '#800080ff'; }
464
- / 'red' { return '#ff0000ff'; } / 'Red' { return '#ff0000ff'; }
465
- / 'rosybrown' { return '#bc8f8fff'; } / 'RosyBrown' { return '#bc8f8fff'; }
466
- / 'royalblue' { return '#4169e1ff'; } / 'RoyalBlue' { return '#4169e1ff'; }
467
- / 'saddlebrown' { return '#8b4513ff'; } / 'SaddleBrown' { return '#8b4513ff'; }
468
- / 'salmon' { return '#fa8072ff'; } / 'Salmon' { return '#fa8072ff'; }
469
- / 'sandybrown' { return '#f4a460ff'; } / 'SandyBrown' { return '#f4a460ff'; }
470
- / 'seagreen' { return '#2e8b57ff'; } / 'SeaGreen' { return '#2e8b57ff'; }
471
- / 'seashell' { return '#fff5eeff'; } / 'SeaShell' { return '#fff5eeff'; }
472
- / 'sienna' { return '#a0522dff'; } / 'Sienna' { return '#a0522dff'; }
473
- / 'silver' { return '#c0c0c0ff'; } / 'Silver' { return '#c0c0c0ff'; }
474
- / 'skyblue' { return '#87ceebff'; } / 'SkyBlue' { return '#87ceebff'; }
475
- / 'slateblue' { return '#6a5acdff'; } / 'SlateBlue' { return '#6a5acdff'; }
476
- / 'slategray' { return '#708090ff'; } / 'SlateGray' { return '#708090ff'; }
477
- / 'slategrey' { return '#708090ff'; } / 'SlateGrey' { return '#708090ff'; }
478
- / 'snow' { return '#fffafaff'; } / 'Snow' { return '#fffafaff'; }
479
- / 'springgreen' { return '#00ff7fff'; } / 'SpringGreen' { return '#00ff7fff'; }
480
- / 'steelblue' { return '#4682b4ff'; } / 'SteelBlue' { return '#4682b4ff'; }
481
- / 'tan' { return '#d2b48cff'; } / 'Tan' { return '#d2b48cff'; }
482
- / 'teal' { return '#008080ff'; } / 'Teal' { return '#008080ff'; }
483
- / 'thistle' { return '#d8bfd8ff'; } / 'Thistle' { return '#d8bfd8ff'; }
484
- / 'tomato' { return '#ff6347ff'; } / 'Tomato' { return '#ff6347ff'; }
485
- / 'turquoise' { return '#40e0d0ff'; } / 'Turquoise' { return '#40e0d0ff'; }
486
- / 'violet' { return '#ee82eeff'; } / 'Violet' { return '#ee82eeff'; }
487
- / 'wheat' { return '#f5deb3ff'; } / 'Wheat' { return '#f5deb3ff'; }
488
-
489
- /* out of order because otherwise white would pre-run whitesmoke */
490
- / 'whitesmoke' { return '#f5f5f5ff'; } / 'WhiteSmoke' { return '#f5f5f5ff'; }
491
- / 'white' { return '#ffffffff'; } / 'White' { return '#ffffffff'; }
492
-
493
- /* out of order because otherwise yellow would pre-run yellowgreen */
494
- / 'yellowgreen' { return '#9acd32ff'; } / 'YellowGreen' { return '#9acd32ff'; }
495
- / 'yellow' { return '#ffff00ff'; } / 'Yellow' { return '#ffff00ff'; }
496
-
497
- SvgColor
498
- = lab:SvgColorLabel WS? { return lab; }
499
-
500
- Rgb3
501
- = '#' r:HexDigit g:HexDigit b:HexDigit WS? {
502
- return `#${r}${r}${g}${g}${b}${b}ff`; }
503
-
504
- Rgb6
505
- = '#' r1:HexDigit r2:HexDigit g1:HexDigit g2:HexDigit b1:HexDigit b2:HexDigit WS? {
506
- return `#${r1}${r2}${g1}${g2}${b1}${b2}ff`; }
507
-
508
- Rgba4
509
- = '#' r:HexDigit g:HexDigit b:HexDigit a:HexDigit WS? {
510
- return `#${r}${r}${g}${g}${b}${b}${a}${a}`; }
511
-
512
- Rgba8
513
- = '#' r1:HexDigit r2:HexDigit g1:HexDigit g2:HexDigit b1:HexDigit b2:HexDigit a1:HexDigit a2:HexDigit WS? {
514
- return `#${r1}${r2}${g1}${g2}${b1}${b2}${a1}${a2}`; }
515
-
516
- Color "color" // hoboy
517
- = SvgColor
518
- / Rgba8
519
- / Rgb6
520
- / Rgba4
521
- / Rgb3
522
-
523
-
524
-
525
- ArrowItemKey
526
- = "arc_label"
527
- / "head_label"
528
- / "tail_label"
529
-
530
- ArrowItem
531
- = WS? key:ArrowItemKey WS? ":" WS? value:Label WS? ";" WS? { return {key:key, value:value}; }
532
-
533
- SingleEdgeColor "single edge color"
534
- = WS? "edge_color" WS? ":" WS? value:Color WS? ";" WS? { return {key:'single_edge_color', value:value}; }
535
-
536
- TransitionLineStyle "transition line style"
537
- = WS? "linestyle" WS? ":" WS? value:LineStyle WS? ";" WS? { return {key:'transition_line_style', value:value}; }
538
-
539
- ArrowItems
540
- = SingleEdgeColor
541
- / TransitionLineStyle
542
- / ArrowItem+
543
-
544
- ArrowDesc
545
- = "{" WS? items:ArrowItems? WS? "}" { return items; }
546
-
547
- ArrowProbability
548
- = value:NonNegNumber "%" { return { key: 'arrow probability', value: value }; }
549
-
550
-
551
-
552
-
553
-
554
- LabelList
555
- = "[" WS? names:(Label WS?)* "]" { return names.map(i => i[0]); }
556
-
557
- LabelOrLabelList
558
- = LabelList
559
- / Label
560
-
561
- Stripe
562
- = '+|' nzd:NonZeroDigit dd:DecimalDigit* { return { key: 'stripe', value: parseInt(`${nzd}${dd}`, 10) }; }
563
- / '-|' nzd:NonZeroDigit dd:DecimalDigit* { return { key: 'stripe', value: -1 * parseInt(`${nzd}${dd}`, 10) }; }
564
-
565
- Cycle
566
- = '+' nzd:NonZeroDigit dd:DecimalDigit* { return { key: 'cycle', value: parseInt(`${nzd}${dd}`, 10) }; }
567
- / '-' nzd:NonZeroDigit dd:DecimalDigit* { return { key: 'cycle', value: -1 * parseInt(`${nzd}${dd}`, 10) }; }
568
- / '+0' { return { key: 'cycle', value: 0 }; }
569
-
570
- ArrowTarget
571
- = Stripe
572
- / Cycle
573
- / LabelList
574
- / Label
575
-
576
-
577
-
578
-
579
-
580
- // todo these shouldn't be ordered, this is dumb // whargarbl comeback major
581
-
582
- Subexp
583
- = WS? r_action : ActionLabel?
584
- WS? r_prob : ArrowProbability?
585
- WS? l_desc : ArrowDesc?
586
- WS? arrow : Arrow
587
- WS? r_desc : ArrowDesc?
588
- WS? l_prob : ArrowProbability?
589
- WS? l_action : ActionLabel?
590
- WS? label : ArrowTarget
591
- WS? tail : Subexp? {
592
-
593
- const base: any = {kind: arrow, to: label};
594
-
595
- if (tail && (tail !== [])) { base.se = tail; }
596
- if (l_desc) { base.l_desc = l_desc; }
597
- if (r_desc) { base.r_desc = r_desc; }
598
- if (l_action) { base.l_action = l_action; }
599
- if (r_action) { base.r_action = r_action; }
600
- if (l_prob) { base.l_probability = l_prob.value; }
601
- if (r_prob) { base.r_probability = r_prob.value; }
602
-
603
- return base;
604
-
605
- }
606
-
607
-
608
-
609
-
610
-
611
- Exp
612
- = label:ArrowTarget se:Subexp WS? ';' WS? {
613
- const base: any = { key: 'transition', from: label };
614
- if (se && (se !== [])) { base.se = se; }
615
- return base;
616
- }
617
-
618
-
619
-
620
-
621
-
622
- ValidationKey
623
- = "whargarbl"
624
- / "todo"
625
-
626
- ValidationItem
627
- = validationkey:ValidationKey ":" value:Label ";" { return {key:validationkey, value:value}; }
628
-
629
- ValidationItems
630
- = ValidationItem+
631
-
632
- ConfigValidation
633
- = WS? "validation" WS? ":" WS? "{" WS? validation_items:ValidationItems? WS? "};" WS? {
634
- return { config_kind: "validation", config_items: validation_items || [] };
635
- }
636
-
637
-
638
-
639
-
640
-
641
- GvizLayout
642
- = "dot"
643
- / "circo"
644
- / "fdp"
645
- / "neato"
646
-
647
- StateItemShapeKey
648
- = "shape"
649
-
650
- StateItemShape
651
- = WS? "shape" WS? ":" WS? value:GvizShape WS? ";" WS? { return {key:"shape", value:value}; }
652
-
653
- StateItem
654
- = StateItemShape
655
-
656
- StateItems
657
- = StateItem+
658
-
659
- ConfigState
660
- = WS? "state" WS? ":" WS? "{" WS? state_items:StateItems? WS? "};" WS? {
661
- return { key: "state_config", value: { config_kind: "state", config_items: state_items || [] } };
662
- }
663
-
664
- ConfigStartState
665
- = WS? "start_state" WS? ":" WS? "{" WS? state_items:StateItems? WS? "};" WS? {
666
- return { key: "state_config", value: { config_kind: "in_state", config_items: state_items || [] } };
667
- }
668
-
669
- ConfigEndState
670
- = WS? "end_state" WS? ":" WS? "{" WS? state_items:StateItems? WS? "};" WS? {
671
- return { key: "state_config", value: { config_kind: "out_state", config_items: state_items || [] } };
672
- }
673
-
674
- ConfigAnyState
675
- = ConfigState
676
- / ConfigStartState
677
- / ConfigEndState
678
-
679
-
680
-
681
-
682
-
683
- ActionKey
684
- = "whargarbl"
685
- / "todo"
686
-
687
- ActionItem
688
- = actionkey:ActionKey ":" value:Label ";" { return {key:actionkey, value:value}; }
689
-
690
- ActionItems
691
- = ActionItem+
692
-
693
- ConfigAction
694
- = WS? "action" WS? ":" WS? "{" WS? action_items:ActionItems? WS? "};" WS? {
695
- return { config_kind: "action", config_items: action_items || [] };
696
- }
697
-
698
-
699
-
700
-
701
-
702
- TransitionKey
703
- = "whargarbl"
704
- / "todo"
705
-
706
- TransitionItem
707
- = transitionkey:TransitionKey ":" value:Label ";" { return {key:transitionkey, value:value}; }
708
-
709
- TransitionItems
710
- = GraphDefaultEdgeColor
711
- / TransitionItem+
712
-
713
- GraphDefaultEdgeColor "graph default edge color"
714
- = WS? "edge_color" WS? ":" WS? value:Color WS? ";" WS? { return {key:'graph_default_edge_color', value:value}; }
715
-
716
- ConfigTransition
717
- = WS? "transition" WS? ":" WS? "{" WS? transition_items:TransitionItems? WS? "};" WS? {
718
- return { config_kind: "transition", config_items: transition_items || [] };
719
- }
720
-
721
-
722
-
723
-
724
-
725
- ConfigGraphLayout
726
- = WS? "graph_layout" WS? ":" WS? value:GvizLayout WS? ";" WS? { return {key:"graph_layout", value:value}; }
727
-
728
- ConfigStartNodes
729
- = WS? "start_states" WS? ":" WS? value:LabelList WS? ";" WS? { return {key:"start_states", value:value}; }
730
-
731
- ConfigEndNodes
732
- = WS? "end_states" WS? ":" WS? value:LabelList WS? ";" WS? { return {key:"end_states", value:value}; }
733
-
734
- ConfigGraphBgColor
735
- = WS? "graph_bg_color" WS? ":" WS? value:Color WS? ";" WS? { return {key:"graph_bg_color", value:value}; }
736
-
737
-
738
-
739
-
740
-
741
- Config "configuration"
742
- = ConfigGraphLayout
743
- / ConfigStartNodes
744
- / ConfigEndNodes
745
- / ConfigTransition
746
- / ConfigAction
747
- / ConfigAnyState
748
- / ConfigValidation
749
- / ConfigGraphBgColor
750
-
751
-
752
-
753
-
754
-
755
- LicenseOrLabelOrList
756
- = 'MIT'
757
- / 'BSD 2-clause'
758
- / 'BSD 3-clause'
759
- / 'Apache 2.0'
760
- / 'Mozilla 2.0'
761
- / 'Public domain'
762
- / 'GPL v2'
763
- / 'GPL v3'
764
- / 'LGPL v2.1'
765
- / 'LGPL v3.0'
766
- / 'Unknown'
767
- / Label
768
- / LabelList;
769
-
770
-
771
-
772
-
773
-
774
- Direction "direction"
775
- = "up"
776
- / "right"
777
- / "down"
778
- / "left";
779
-
780
-
781
-
782
-
783
-
784
- HookDefinition "hook definition (open/closed)"
785
- = "open"
786
- / "closed";
787
-
788
-
789
-
790
-
791
-
792
- MachineAuthor
793
- = WS? "machine_author" WS? ":" WS? value:LabelOrLabelList WS? ";" WS? { return { key: "machine_author", value }; }
794
-
795
- MachineContributor
796
- = WS? "machine_contributor" WS? ":" WS? value:LabelOrLabelList WS? ";" WS? { return { key: "machine_contributor", value }; }
797
-
798
- MachineComment
799
- = WS? "machine_comment" WS? ":" WS? value:LabelOrLabelList WS? ";" WS? { return { key: "machine_comment", value }; }
800
-
801
- MachineDefinition
802
- = WS? "machine_definition" WS? ":" WS? value:URL WS? ";" WS? { return { key: "machine_definition", value }; }
803
-
804
- MachineName
805
- = WS? "machine_name" WS? ":" WS? value:Label WS? ";" WS? { return { key: "machine_name", value }; }
806
-
807
- MachineReference
808
- = WS? "machine_reference" WS? ":" WS? value:LabelOrLabelList WS? ";" WS? { return { key: "machine_reference", value }; }
809
-
810
- MachineVersion
811
- = WS? "machine_version" WS? ":" WS? value:SemVer WS? ";" WS? { return { key: "machine_version", value }; }
812
-
813
- MachineLicense
814
- = WS? "machine_license" WS? ":" WS? value:LicenseOrLabelOrList WS? ";" WS? { return { key: "machine_license", value }; }
815
-
816
- MachineLanguage
817
- = WS? "machine_language" WS? ":" WS? value:Label WS? ";" WS? { return { key: "machine_language", value }; }
818
-
819
- FslVersion
820
- = WS? "fsl_version" WS? ":" WS? value:SemVer WS? ";" WS? { return { key: "fsl_version", value }; }
821
-
822
- MachineTheme
823
- = WS? "theme" WS? ":" WS? value:Theme WS? ";" WS? { return { key: "theme", value }; }
824
-
825
- MachineFlow
826
- = WS? "flow" WS? ":" WS? value:Direction WS? ";" WS? { return { key: "flow", value }; }
827
-
828
- MachineHookDefinition
829
- = WS? "hooks" WS? ":" WS? value:HookDefinition WS? ";" WS? { return { key: "hook_definition", value }; }
830
-
831
- DotPreamble
832
- = WS? "dot_preamble" WS? ":" WS? value:String WS? ";" WS? { return { key: "dot_preamble", value }; }
833
-
834
-
835
- MachineAttribute "machine attribute"
836
- = FslVersion
837
- / MachineName
838
- / MachineAuthor
839
- / MachineContributor
840
- / MachineComment
841
- / MachineDefinition
842
- / MachineVersion
843
- / MachineLicense
844
- / MachineLanguage
845
- / MachineTheme
846
- / DotPreamble
847
- / MachineFlow
848
- / MachineHookDefinition
849
-
850
-
851
-
852
-
853
-
854
- SdStateColor "color"
855
- = WS? "color" WS? ":" WS? value:Color WS? ";" WS? { return { key:'color', value }; }
856
-
857
- SdStateTextColor "text color"
858
- = WS? "text-color" WS? ":" WS? value:Color WS? ";" WS? { return { key:'text-color', value }; }
859
-
860
- SdStateBackgroundColor "background color"
861
- = WS? "background-color" WS? ":" WS? value:Color WS? ";" WS? { return { key:'background-color', value }; }
862
-
863
- SdStateBorderColor "border color"
864
- = WS? "border-color" WS? ":" WS? value:Color WS? ";" WS? { return { key:'border-color', value }; }
865
-
866
- SdStateShape "shape"
867
- = WS? "shape" WS? ":" WS? value:GvizShape WS? ";" WS? { return { key:'shape', value }; }
868
-
869
- SdStateCorners "corners"
870
- = WS? "corners" WS? ":" WS? value:Corners WS? ";" WS? { return { key:'corners', value }; }
871
-
872
- SdStateLineStyle "linestyle"
873
- = WS? "linestyle" WS? ":" WS? value:LineStyle WS? ";" WS? { return { key:'linestyle', value }; }
874
-
875
- StateDeclarationItems
876
- = SdStateColor
877
- / SdStateTextColor
878
- / SdStateBackgroundColor
879
- / SdStateBorderColor
880
- / SdStateShape
881
- / SdStateCorners
882
- / SdStateLineStyle
883
-
884
- StateDeclarationDesc
885
- = "{" WS? items:StateDeclarationItems* WS? "}" { return items; }
886
-
887
- StateDeclaration
888
- = WS? "state" WS name:Label WS? ":" WS? value:StateDeclarationDesc WS? ";" WS? { return { key:'state_declaration', name, value }; }
889
-
890
-
891
-
892
-
893
-
894
- NamedList
895
- = WS? "&" WS? name:Label WS? ":" WS? value:LabelOrLabelList WS? ";" WS? { return { key:'named_list', name, value }; }
896
-
897
-
898
-
899
-
900
-
901
- RegularArrangeDeclaration
902
- = "arrange" WS? value:LabelOrLabelList WS? ";" WS? { return { key: 'arrange_declaration', value }; }
903
-
904
- ArrangeStartDeclaration
905
- = "arrange-start" WS? value:LabelOrLabelList WS? ";" WS? { return { key: 'arrange_start_declaration', value }; }
906
-
907
- ArrangeEndDeclaration
908
- = "arrange-end" WS? value:LabelOrLabelList WS? ";" WS? { return { key: 'arrange_end_declaration', value }; }
909
-
910
- ArrangeDeclaration "arrange declaration"
911
- = ArrangeStartDeclaration
912
- / ArrangeEndDeclaration
913
- / RegularArrangeDeclaration
914
-
915
-
916
-
917
-
918
-
919
- Term
920
- = Exp
921
- / StateDeclaration
922
- / ArrangeDeclaration
923
- / NamedList
924
- / MachineAttribute
925
- / Config
926
-
927
- TermList
928
- = term:Term*