1
1
diff --git a/node_modules/bnf/BnfRules.js b/node_modules/bnf/BnfRules.js
2
- index 1f949c1..aa002da 100755
2
+ index 1f949c1..098e140 100755
3
3
--- a/node_modules/bnf/BnfRules.js
4
4
+++ b/node_modules/bnf/BnfRules.js
5
- @@ -135,9 +135,13 @@ exports.bnfRules = {
5
+ @@ -19,6 +19,9 @@ exports.bnfRules = {
6
+
7
+ return false;
8
+ },
9
+ + REALPHA(token){
10
+ + return token.TryRe(/^\p{L}/u);
11
+ + },
12
+ SYMBOL( token ){
13
+ if( token.CharIs( 33 )
14
+ || token.CharCodeRange( 35, 38 )
15
+ @@ -35,7 +38,7 @@ exports.bnfRules = {
16
+ },
17
+ ANYCHAR( token ){
18
+ return token.Or( [
19
+ - token.Rule( "ALPHA" ),
20
+ + token.Rule( "REALPHA" ),
21
+ token.Rule( "DIGIT" ),
22
+ token.Rule( "SYMBOL" ),
23
+ token.Rule( "ONEWSP" )
24
+ @@ -135,9 +138,13 @@ exports.bnfRules = {
6
25
ESCAQUOTE( token ){
7
26
return token.TryString( Buffer.from( [ 92, 96 ] ) );
8
27
},
@@ -16,23 +35,37 @@ index 1f949c1..aa002da 100755
16
35
token.Rule( "ESCSQUOTE" ),
17
36
token.Rule( "ANYCHAR" ),
18
37
token.Rule( "QUOTE" ),
19
- @@ -162,6 +166 ,7 @@ exports.bnfRules = {
38
+ @@ -162,6 +169 ,7 @@ exports.bnfRules = {
20
39
//DO BE REMOVED IN THIS MAJOR VERSION! DO NOT USE!
21
40
QEANYCHAR( token ){
22
41
return token.Or( [
23
42
+ token.Rule( "ESCSLASH" ),
24
43
token.Rule( "ESCQUOTE" ),
25
44
token.Rule( "ANYCHAR" ),
26
45
token.Rule( "SQUOTE" ),
27
- @@ -186,6 +191 ,7 @@ exports.bnfRules = {
46
+ @@ -186,6 +194 ,7 @@ exports.bnfRules = {
28
47
//DO BE REMOVED IN THIS MAJOR VERSION! DO NOT USE!
29
48
AQEANYCHAR( token ){
30
49
return token.Or( [
31
50
+ token.Rule( "ESCSLASH" ),
32
51
token.Rule( "ESCAQUOTE" ),
33
52
token.Rule( "ANYCHAR" ),
34
53
token.Rule( "SQUOTE" ),
35
- @@ -285,7 +291,7 @@ exports.parserRules = {
54
+ @@ -219,11 +228,12 @@ exports.bnfRules = {
55
+ */
56
+ },
57
+ AQLITERAL( token ){
58
+ - return token.And( [
59
+ + const res = token.And( [
60
+ token.Rule( "AQUOTE" ),
61
+ token.Rule( "AQLITERALCHARS" ),
62
+ token.Rule( "AQUOTE" )
63
+ ]);
64
+ + return res;
65
+ },
66
+ LITERAL( token ){
67
+ return token.Or( [
68
+ @@ -285,7 +295,7 @@ exports.parserRules = {
36
69
}
37
70
else{
38
71
//This can be optimized @LHF
@@ -41,7 +74,7 @@ index 1f949c1..aa002da 100755
41
74
for( let t = 0; t < token._tokenTrees[i].length; t++ ){
42
75
for( let line in token._tokenTrees[i][t].expected ){
43
76
for( let char in token._tokenTrees[i][t].expected[line] ){
44
- @@ -295,7 +301 ,7 @@ exports.parserRules = {
77
+ @@ -295,7 +305 ,7 @@ exports.parserRules = {
45
78
}
46
79
}
47
80
}
@@ -50,11 +83,24 @@ index 1f949c1..aa002da 100755
50
83
token._tokenTrees[0] = [];
51
84
52
85
return false;
86
+ diff --git a/node_modules/bnf/Script.js b/node_modules/bnf/Script.js
87
+ index e5eb5b7..56bd641 100755
88
+ --- a/node_modules/bnf/Script.js
89
+ +++ b/node_modules/bnf/Script.js
90
+ @@ -15,7 +15,7 @@ exports.Script = class Script{
91
+ }
92
+
93
+ GetString( length, token ){
94
+ - let str = this.rawScript.substring( token.point, token.point + length );
95
+ + let str = Buffer.from(this.rawScript).subarray( token.point, token.point + length ).toString('utf8');
96
+ token.Seek( length );
97
+ return str;
98
+ }
53
99
diff --git a/node_modules/bnf/Token.js b/node_modules/bnf/Token.js
54
- index f592ae5..d8fc55a 100755
100
+ index f592ae5..c76e103 100755
55
101
--- a/node_modules/bnf/Token.js
56
102
+++ b/node_modules/bnf/Token.js
57
- @@ -226,13 +226,13 @@ exports.Token = class Token{
103
+ @@ -226,16 +226,27 @@ exports.Token = class Token{
58
104
59
105
TryString( charBuffer ){
60
106
let stringBuffer = Buffer.alloc( charBuffer.length );
@@ -70,3 +116,17 @@ index f592ae5..d8fc55a 100755
70
116
return true;
71
117
}
72
118
119
+ + TryRe(pattern) {
120
+ + const mtch = this.script.scriptBuffer.subarray(this.point).toString('utf-8').match(pattern);
121
+ + if (mtch && mtch[0]) {
122
+ + const b = Buffer.from(mtch[0]);
123
+ + this.SetValue(mtch[0]);
124
+ + this.point+=b.length;
125
+ + return true;
126
+ + }
127
+ + return false;
128
+ + }
129
+ +
130
+ SetChar( char ){
131
+ this.SetValue( this.GetChar() );
132
+ this.point++;
0 commit comments