Skip to content

Commit d85be6b

Browse files
authored
Merge pull request #20 from lark-parser/issue17b
Another bugfix for issue #17
2 parents 6d7cbee + a91a981 commit d85be6b

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

larkjs/lark.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,7 +1499,7 @@ class PatternStr extends Pattern {
14991499
static get __serialize_fields__() {
15001500
return ["value", "flags"];
15011501
}
1502-
type = "str";
1502+
static get type() { return "str"; }
15031503
to_regexp() {
15041504
return this._get_flags(re.escape(this.value));
15051505
}
@@ -1517,7 +1517,7 @@ class PatternRE extends Pattern {
15171517
static get __serialize_fields__() {
15181518
return ["value", "flags", "_width"];
15191519
}
1520-
type = "re";
1520+
static get type() { return "re"; }
15211521
to_regexp() {
15221522
return this._get_flags(this.value);
15231523
}
@@ -1723,12 +1723,12 @@ class _CallChain {
17231723
const CallChain = callable_class(_CallChain);
17241724
function _create_unless(terminals, g_regex_flags, re_, use_bytes) {
17251725
let s, unless;
1726-
let tokens_by_type = classify(terminals, (t) => t.pattern.constructor.name);
1726+
let tokens_by_type = classify(terminals, (t) => t.pattern.constructor.type);
17271727
let embedded_strs = new Set();
17281728
let callback = {};
1729-
for (const retok of tokens_by_type.get('PatternRE') || []) {
1729+
for (const retok of tokens_by_type.get('re') || []) {
17301730
unless = [];
1731-
for (const strtok of tokens_by_type.get('PatternStr') || []) {
1731+
for (const strtok of tokens_by_type.get('str') || []) {
17321732
if (strtok.priority !== retok.priority) {
17331733
continue;
17341734
}

test/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def test_json_parser():
6363

6464
res = js_parser.parse(text, transformer)
6565
expected = r"""{"empty_object":{},"empty_array":[],"booleans":{"YES":true,"NO":false},"numbers":[0,1,-2,3.3,440000,6.6e-7],"strings":["This",["And","That","And a \\\"b"]],"nothing":null}"""
66-
assert res.strip() == expected
66+
assert res.strip() == expected, res
6767

6868
def test():
6969
test_json_parser()

0 commit comments

Comments
 (0)