Skip to content

Commit a128619

Browse files
Set expression grammar enhancement
1 parent 40c51a3 commit a128619

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"printableName": "Cache Web Terminal",
66
"description": "Web-based terminal emulator for Caché administering.",
77
"author": "ZitRo",
8-
"version": "4.2.10",
8+
"version": "4.2.11",
99
"gaID": "UA-83005064-2",
1010
"releaseNumber": 26,
1111
"scripts": {

src/client/js/parser/grammar.js

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -325,11 +325,10 @@ rule("cosCommand").split(
325325
id([
326326
{ CI, value: "set", class: "keyword" },
327327
{ CI, value: "s", class: "keyword" }
328-
]).call("postCondition").whitespace().branch().call("variable").optWhitespace().char("=").optWhitespace()
329-
.call("expression").optWhitespace().split(
330-
char(",").optWhitespace().merge(),
331-
any().exit()
332-
),
328+
]).call("postCondition").whitespace().branch().call("setExpression").optWhitespace().split(
329+
char(",").optWhitespace().merge(),
330+
any().exit()
331+
),
333332
id({ CI, value: "try", class: "keyword" }).optWhitespace().char("{").branch().optWhitespace()
334333
.split(
335334
char("}").optWhitespace().id({ CI, value: "catch", class: "keyword" })
@@ -472,6 +471,14 @@ rule("cosCommand").split(
472471
)
473472
).end();
474473

474+
rule("setExpression").split(
475+
char("(").branch().optWhitespace().call("variable").optWhitespace().split(
476+
char(",").merge(),
477+
any()
478+
).char(")"),
479+
call("variable")
480+
).optWhitespace().char("=").optWhitespace().call("expression").exit().end();
481+
475482
rule("deviceParameters").branch().split(
476483
char({ value: "/", class: "special" }).id({ class: "special" }).split(
477484
char("=").call("expression"),
@@ -560,6 +567,9 @@ rule("expression").split(
560567

561568
rule("variable").split(
562569
split(
570+
char("@"),
571+
any()
572+
).split(
563573
id({ class: "variable", type: "variable" }),
564574
char({ value: "%", class: "variable", type: "variable" })
565575
.id({ class: "variable", type: "variable" })

0 commit comments

Comments
 (0)