occam-grammars 1.3.223 → 1.3.224
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/example.js +2 -2
- package/lib/furtle/bnf.js +2 -2
- package/package.json +1 -1
- package/src/furtle/bnf.js +13 -13
package/lib/furtle/bnf.js
CHANGED
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var bnf = 'document ::= ( procedureDeclaration | error )+ ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;\n\n\n\nerror. ::= . ;\n\n\n\nvariableAssignments ::= [type] variableAssignment ( "," variableAssignment )* ";" ;\n\nobjectAssignment ::= "{" namedParameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n\n\n\nstep ::= variableAssignments\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n ; \n \n \n\nvariableAssignment ::= variable "="
|
|
11
|
+
var bnf = 'document ::= ( procedureDeclaration | error )+ ;\n\n\n\nprocedureDeclaration ::= [type] label<NO_WHITESPACE>"(" parameters? ")" returnBlock ;\n\n\n\nerror. ::= . ;\n\n\n\nvariableAssignments ::= [type] variableAssignment ( "," variableAssignment )* ";" ;\n\nobjectAssignment ::= "{" namedParameters "}" "=" variable ";" ;\n\narrayAssignment ::= "[" parameters "]" "=" variable ";" ;\n\n\n\nstep ::= variableAssignments\n \n | conditionalBlocks\n \n | objectAssignment\n \n | arrayAssignment\n \n ; \n \n \n\nvariableAssignment ::= variable "=" expression ;\n\nanonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;\n\nreturnStatement ::= "Return" expression ";" ; \n\nreturnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;\n \n\n\nprocedureCall ::= reference<NO_WHITESPACE>"(" expressions? ")" ;\n\nbracketedExpression ::= "(" expression ")" ; \n\nbitwiseExpression ::= expression ( "||" | "&&" ) expression ; \n\nnegatedExpression ::= "!"<NO_WHITESPACE>expression ; \n\ncomparison ::= expression ( "!=" | "==" ) expression ; \n\nnodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;\n\nnodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;\n\nvariable ::= [name] ;\n\nternary ::= "If" "(" expression ")" expression "Else" expression ;\n\nreduce ::= "Reduce"<NO_WHITESPACE>"(" variable "," anonymousProcedure "," expression ")" ;\n\nevery ::= "Every"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;\n\nsome ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;\n\n\n\nexpressions ::= expression ( "," expression )* ;\n\nexpression ::= bracketedExpression \n\n | bitwiseExpression \n\n | negatedExpression \n\n | procedureCall\n \n | returnBlock\n\n | comparison \n\n | nodesQuery\n \n | nodeQuery\n \n | variable\n \n | ternary\n \n | reduce\n\n | every\n\n | some\n\n | [null]\n\n | [number]\n \n | [primitive]\n \n | [string-literal] \n \n ;\n\n\n\nnamedParameters ::= namedParameter ( "," namedParameter )* ;\n\nnamedParameter ::= [type] [name] ( "As" [name] )? ;\n\n\n\nparameters ::= parameter ( "," parameter )* ;\n\nparameter ::= [type] [name]\n\n | "_" \n\n ;\n\n\n\nlabel. ::= [name] ;\n\nreference. ::= [name] ;\n\n\n\nnonsense. ::= [type] | [keyword] | [primitive] | [string-literal] | [query] | [special] | [name] | [number] | [unassigned] ;';
|
|
12
12
|
var _default = bnf;
|
|
13
13
|
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mdXJ0bGUvYm5mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5jb25zdCBibmYgPSBgZG9jdW1lbnQgICAgICAgICAgICAgICAgOjo9ICAoIHByb2NlZHVyZURlY2xhcmF0aW9uIHwgZXJyb3IgKSsgO1xuXG5cblxucHJvY2VkdXJlRGVjbGFyYXRpb24gICAgOjo9ICBbdHlwZV0gbGFiZWw8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXJzPyBcIilcIiByZXR1cm5CbG9jayA7XG5cblxuXG5lcnJvci4gICAgICAgICAgICAgICAgICA6Oj0gIC4gO1xuXG5cblxudmFyaWFibGVBc3NpZ25tZW50cyAgICAgOjo9ICBbdHlwZV0gdmFyaWFibGVBc3NpZ25tZW50ICggXCIsXCIgdmFyaWFibGVBc3NpZ25tZW50ICkqIFwiO1wiIDtcblxub2JqZWN0QXNzaWdubWVudCAgICAgICAgOjo9ICBcIntcIiBuYW1lZFBhcmFtZXRlcnMgXCJ9XCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5hcnJheUFzc2lnbm1lbnQgICAgICAgICA6Oj0gIFwiW1wiIHBhcmFtZXRlcnMgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuXG5cblxuc3RlcCAgICAgICAgICAgICAgICAgICAgOjo9ICB2YXJpYWJsZUFzc2lnbm1lbnRzXG4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbmRpdGlvbmFsQmxvY2tzXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBhcnJheUFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDsgIFxuICBcbiAgXG5cbnZhcmlhYmxlQXNzaWdubWVudCAgICAgIDo6PSAgdmFyaWFibGUgXCI9XCIgZXhwcmVzc2lvbiA7XG5cbmFub255bW91c1Byb2NlZHVyZSAgICAgIDo6PSAgW3R5cGVdIFwiKFwiIHBhcmFtZXRlcnM/IFwiKVwiIHJldHVybkJsb2NrIDtcblxucmV0dXJuU3RhdGVtZW50ICAgICAgICAgOjo9ICBcIlJldHVyblwiIGV4cHJlc3Npb24gXCI7XCIgOyBcblxucmV0dXJuQmxvY2suLiAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0ZXAgfCBub25zZW5zZSApKiByZXR1cm5TdGF0ZW1lbnQgXCJ9XCIgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiBleHByZXNzaW9ucz8gXCIpXCIgO1xuXG5icmFja2V0ZWRFeHByZXNzaW9uICAgICA6Oj0gIFwiKFwiIGV4cHJlc3Npb24gXCIpXCIgOyBcblxuYml0d2lzZUV4cHJlc3Npb24gICAgICAgOjo9ICBleHByZXNzaW9uICggXCJ8fFwiIHwgXCImJlwiICkgZXhwcmVzc2lvbiA7IFxuXG5uZWdhdGVkRXhwcmVzc2lvbiAgICAgICA6Oj0gIFwiIVwiPE5PX1dISVRFU1BBQ0U+ZXhwcmVzc2lvbiA7IFxuXG5jb21wYXJpc29uICAgICAgICAgICAgICA6Oj0gIGV4cHJlc3Npb24gKCBcIiE9XCIgfCBcIj09XCIgKSBleHByZXNzaW9uIDsgXG5cbm5vZGVzUXVlcnkgICAgICAgICAgICAgIDo6PSAgXCJub2Rlc1F1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcblxubm9kZVF1ZXJ5ICAgICAgICAgICAgICAgOjo9ICBcIm5vZGVRdWVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIilcIiA7XG5cbnZhcmlhYmxlICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxudGVybmFyeSAgICAgICAgICAgICAgICAgOjo9ICBcIklmXCIgXCIoXCIgZXhwcmVzc2lvbiBcIilcIiBleHByZXNzaW9uIFwiRWxzZVwiIGV4cHJlc3Npb24gO1xuXG5yZWR1Y2UgICAgICAgICAgICAgICAgICA6Oj0gIFwiUmVkdWNlXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIsXCIgZXhwcmVzc2lvbiBcIilcIiA7XG5cbmV2ZXJ5ICAgICAgICAgICAgICAgICAgIDo6PSAgXCJFdmVyeVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiKVwiIDtcblxuc29tZSAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG5cblxuXG5leHByZXNzaW9ucyAgICAgICAgICAgICA6Oj0gIGV4cHJlc3Npb24gKCBcIixcIiBleHByZXNzaW9uICkqIDtcblxuZXhwcmVzc2lvbiAgICAgICAgICAgICAgOjo9ICBicmFja2V0ZWRFeHByZXNzaW9uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGJpdHdpc2VFeHByZXNzaW9uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5lZ2F0ZWRFeHByZXNzaW9uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHByb2NlZHVyZUNhbGxcbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcmV0dXJuQmxvY2tcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21wYXJpc29uIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHJlZHVjZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGV2ZXJ5XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc29tZVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudWxsXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudW1iZXJdXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbcHJpbWl0aXZlXVxuICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW3N0cmluZy1saXRlcmFsXSBcbiAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxubmFtZWRQYXJhbWV0ZXJzICAgICAgICAgOjo9ICBuYW1lZFBhcmFtZXRlciAoIFwiLFwiIG5hbWVkUGFyYW1ldGVyICkqIDtcblxubmFtZWRQYXJhbWV0ZXIgICAgICAgICAgOjo9ICBbdHlwZV0gW25hbWVdICggXCJBc1wiIFtuYW1lXSApPyA7XG5cblxuXG5wYXJhbWV0ZXJzICAgICAgICAgICAgICA6Oj0gIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiA7XG5cbnBhcmFtZXRlciAgICAgICAgICAgICAgIDo6PSAgW3R5cGVdIFtuYW1lXVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiX1wiIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcblxucmVmZXJlbmNlLiAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5cblxubm9uc2Vuc2UuICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gfCBba2V5d29yZF0gfCBbcHJpbWl0aXZlXSB8IFtzdHJpbmctbGl0ZXJhbF0gfCBbcXVlcnldIHwgW3NwZWNpYWxdIHwgW25hbWVdIHwgW251bWJlcl0gfCBbdW5hc3NpZ25lZF0gO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNJQTs7O2VBQUE7OztBQXBJQSxJQUFNQSxNQUFPO0lBb0liLFdBQWVBIn0=
|
package/package.json
CHANGED
package/src/furtle/bnf.js
CHANGED
|
@@ -32,25 +32,25 @@ step ::= variableAssignments
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
variableAssignment ::= variable "="
|
|
35
|
+
variableAssignment ::= variable "=" expression ;
|
|
36
36
|
|
|
37
37
|
anonymousProcedure ::= [type] "(" parameters? ")" returnBlock ;
|
|
38
38
|
|
|
39
|
-
returnStatement ::= "Return"
|
|
39
|
+
returnStatement ::= "Return" expression ";" ;
|
|
40
40
|
|
|
41
41
|
returnBlock.. ::= "{" ( step | nonsense )* returnStatement "}" ;
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
procedureCall ::= reference<NO_WHITESPACE>"("
|
|
45
|
+
procedureCall ::= reference<NO_WHITESPACE>"(" expressions? ")" ;
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
bracketedExpression ::= "(" expression ")" ;
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
bitwiseExpression ::= expression ( "||" | "&&" ) expression ;
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
negatedExpression ::= "!"<NO_WHITESPACE>expression ;
|
|
52
52
|
|
|
53
|
-
comparison ::=
|
|
53
|
+
comparison ::= expression ( "!=" | "==" ) expression ;
|
|
54
54
|
|
|
55
55
|
nodesQuery ::= "nodesQuery"<NO_WHITESPACE>"(" variable "," [string-literal] ")" ;
|
|
56
56
|
|
|
@@ -58,9 +58,9 @@ nodeQuery ::= "nodeQuery"<NO_WHITESPACE>"(" variable "," [string-
|
|
|
58
58
|
|
|
59
59
|
variable ::= [name] ;
|
|
60
60
|
|
|
61
|
-
ternary ::= "If" "("
|
|
61
|
+
ternary ::= "If" "(" expression ")" expression "Else" expression ;
|
|
62
62
|
|
|
63
|
-
reduce ::= "Reduce"<NO_WHITESPACE>"(" variable "," anonymousProcedure ","
|
|
63
|
+
reduce ::= "Reduce"<NO_WHITESPACE>"(" variable "," anonymousProcedure "," expression ")" ;
|
|
64
64
|
|
|
65
65
|
every ::= "Every"<NO_WHITESPACE>"(" variable "," anonymousProcedure ")" ;
|
|
66
66
|
|
|
@@ -68,13 +68,13 @@ some ::= "Some"<NO_WHITESPACE>"(" variable "," anonymousProc
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
expressions ::= expression ( "," expression )* ;
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
expression ::= bracketedExpression
|
|
74
74
|
|
|
75
|
-
|
|
|
75
|
+
| bitwiseExpression
|
|
76
76
|
|
|
77
|
-
|
|
|
77
|
+
| negatedExpression
|
|
78
78
|
|
|
79
79
|
| procedureCall
|
|
80
80
|
|