Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sdkjs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
sdkjs
Commits
bef83b36
Commit
bef83b36
authored
8 years ago
by
Alexander.Trofimov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
isLeftParentheses и isRightParentheses заменил на проверку символов вместо RegExp
parent
2921f59b
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
67 additions
and
25 deletions
+67
-25
common/editorscommon.js
common/editorscommon.js
+67
-25
No files found.
common/editorscommon.js
View file @
bef83b36
...
...
@@ -952,6 +952,8 @@ var g_oCodeSpace = 32; // Code of space
var
g_arrCodeOperators
=
[
37
,
38
,
42
,
43
,
45
,
47
,
58
,
94
];
// Code of operators [%, &, *, +, -, /, :, ^]
var
g_oStartCodeOperatorsCompare
=
60
;
// Start code of operators <=>
var
g_oEndCodeOperatorsCompare
=
62
;
// End code of operators <=>
var
g_oCodeLeftParentheses
=
40
;
// Code of (
var
g_oCodeRightParentheses
=
41
;
// Code of )
/*Functions that checks of an element in formula*/
var
str_namedRanges
=
"
A-Za-z
\
u005F
\
u0080-
\
u0081
\
u0083
\
u0085-
\
u0087
\
u0089-
\
u008A
\
u008C-
\
u0091
\
u0093-
\
u0094
\
u0096-
\
u0097
\
u0099-
\
u009A
\
u009C-
\
u009F
\
u00A1-
\
u00A5
\
u00A7-
\
u00A8
\
u00AA
\
u00AD
\
u00AF-
\
u00BA
\
u00BC-
\
u02B8
\
u02BB-
\
u02C1
\
u02C7
\
u02C9-
\
u02CB
\
u02CD
\
u02D0-
\
u02D1
\
u02D8-
\
u02DB
\
u02DD
\
u02E0-
\
u02E4
\
u02EE
\
u0370-
\
u0373
\
u0376-
\
u0377
\
u037A-
\
u037D
\
u0386
\
u0388-
\
u038A
\
u038C
\
u038E-
\
u03A1
\
u03A3-
\
u03F5
\
u03F7-
\
u0481
\
u048A-
\
u0523
\
u0531-
\
u0556
\
u0559
\
u0561-
\
u0587
\
u05D0-
\
u05EA
\
u05F0-
\
u05F2
\
u0621-
\
u064A
\
u066E-
\
u066F
\
u0671-
\
u06D3
\
u06D5
\
u06E5-
\
u06E6
\
u06EE-
\
u06EF
\
u06FA-
\
u06FC
\
u06FF
\
u0710
\
u0712-
\
u072F
\
u074D-
\
u07A5
\
u07B1
\
u07CA-
\
u07EA
\
u07F4-
\
u07F5
\
u07FA
\
u0904-
\
u0939
\
u093D
\
u0950
\
u0958-
\
u0961
\
u0971-
\
u0972
\
u097B-
\
u097F
\
u0985-
\
u098C
\
u098F-
\
u0990
\
u0993-
\
u09A8
\
u09AA-
\
u09B0
\
u09B2
\
u09B6-
\
u09B9
\
u09BD
\
u09CE
\
u09DC-
\
u09DD
\
u09DF-
\
u09E1
\
u09F0-
\
u09F1
\
u0A05-
\
u0A0A
\
u0A0F-
\
u0A10
\
u0A13-
\
u0A28
\
u0A2A-
\
u0A30
\
u0A32-
\
u0A33
\
u0A35-
\
u0A36
\
u0A38-
\
u0A39
\
u0A59-
\
u0A5C
\
u0A5E
\
u0A72-
\
u0A74
\
u0A85-
\
u0A8D
\
u0A8F-
\
u0A91
\
u0A93-
\
u0AA8
\
u0AAA-
\
u0AB0
\
u0AB2-
\
u0AB3
\
u0AB5-
\
u0AB9
\
u0ABD
\
u0AD0
\
u0AE0-
\
u0AE1
\
u0B05-
\
u0B0C
\
u0B0F-
\
u0B10
\
u0B13-
\
u0B28
\
u0B2A-
\
u0B30
\
u0B32-
\
u0B33
\
u0B35-
\
u0B39
\
u0B3D
\
u0B5C-
\
u0B5D
\
u0B5F-
\
u0B61
\
u0B71
\
u0B83
\
u0B85-
\
u0B8A
\
u0B8E-
\
u0B90
\
u0B92-
\
u0B95
\
u0B99-
\
u0B9A
\
u0B9C
\
u0B9E-
\
u0B9F
\
u0BA3-
\
u0BA4
\
u0BA8-
\
u0BAA
\
u0BAE-
\
u0BB9
\
u0BD0
\
u0C05-
\
u0C0C
\
u0C0E-
\
u0C10
\
u0C12-
\
u0C28
\
u0C2A-
\
u0C33
\
u0C35-
\
u0C39
\
u0C3D
\
u0C58-
\
u0C59
\
u0C60-
\
u0C61
\
u0C85-
\
u0C8C
\
u0C8E-
\
u0C90
\
u0C92-
\
u0CA8
\
u0CAA-
\
u0CB3
\
u0CB5-
\
u0CB9
\
u0CBD
\
u0CDE
\
u0CE0-
\
u0CE1
\
u0D05-
\
u0D0C
\
u0D0E-
\
u0D10
\
u0D12-
\
u0D28
\
u0D2A-
\
u0D39
\
u0D3D
\
u0D60-
\
u0D61
\
u0D7A-
\
u0D7F
\
u0D85-
\
u0D96
\
u0D9A-
\
u0DB1
\
u0DB3-
\
u0DBB
\
u0DBD
\
u0DC0-
\
u0DC6
\
u0E01-
\
u0E3A
\
u0E40-
\
u0E4E
\
u0E81-
\
u0E82
\
u0E84
\
u0E87-
\
u0E88
\
u0E8A
\
u0E8D
\
u0E94-
\
u0E97
\
u0E99-
\
u0E9F
\
u0EA1-
\
u0EA3
\
u0EA5
\
u0EA7
\
u0EAA-
\
u0EAB
\
u0EAD-
\
u0EB0
\
u0EB2-
\
u0EB3
\
u0EBD
\
u0EC0-
\
u0EC4
\
u0EC6
\
u0EDC-
\
u0EDD
\
u0F00
\
u0F40-
\
u0F47
\
u0F49-
\
u0F6C
\
u0F88-
\
u0F8B
\
u1000-
\
u102A
\
u103F
\
u1050-
\
u1055
\
u105A-
\
u105D
\
u1061
\
u1065-
\
u1066
\
u106E-
\
u1070
\
u1075-
\
u1081
\
u108E
\
u10A0-
\
u10C5
\
u10D0-
\
u10FA
\
u10FC
\
u1100-
\
u1159
\
u115F-
\
u11A2
\
u11A8-
\
u11F9
\
u1200-
\
u1248
\
u124A-
\
u124D
\
u1250-
\
u1256
\
u1258
\
u125A-
\
u125D
\
u1260-
\
u1288
\
u128A-
\
u128D
\
u1290-
\
u12B0
\
u12B2-
\
u12B5
\
u12B8-
\
u12BE
\
u12C0
\
u12C2-
\
u12C5
\
u12C8-
\
u12D6
\
u12D8-
\
u1310
\
u1312-
\
u1315
\
u1318-
\
u135A
\
u1380-
\
u138F
\
u13A0-
\
u13F4
\
u1401-
\
u166C
\
u166F-
\
u1676
\
u1681-
\
u169A
\
u16A0-
\
u16EA
\
u16EE-
\
u16F0
\
u1700-
\
u170C
\
u170E-
\
u1711
\
u1720-
\
u1731
\
u1740-
\
u1751
\
u1760-
\
u176C
\
u176E-
\
u1770
\
u1780-
\
u17B3
\
u17D7
\
u17DC
\
u1820-
\
u1877
\
u1880-
\
u18A8
\
u18AA
\
u1900-
\
u191C
\
u1950-
\
u196D
\
u1970-
\
u1974
\
u1980-
\
u19A9
\
u19C1-
\
u19C7
\
u1A00-
\
u1A16
\
u1B05-
\
u1B33
\
u1B45-
\
u1B4B
\
u1B83-
\
u1BA0
\
u1BAE-
\
u1BAF
\
u1C00-
\
u1C23
\
u1C4D-
\
u1C4F
\
u1C5A-
\
u1C7D
\
u1D00-
\
u1DBF
\
u1E00-
\
u1F15
\
u1F18-
\
u1F1D
\
u1F20-
\
u1F45
\
u1F48-
\
u1F4D
\
u1F50-
\
u1F57
\
u1F59
\
u1F5B
\
u1F5D
\
u1F5F-
\
u1F7D
\
u1F80-
\
u1FB4
\
u1FB6-
\
u1FBC
\
u1FBE
\
u1FC2-
\
u1FC4
\
u1FC6-
\
u1FCC
\
u1FD0-
\
u1FD3
\
u1FD6-
\
u1FDB
\
u1FE0-
\
u1FEC
\
u1FF2-
\
u1FF4
\
u1FF6-
\
u1FFC
\
u200e
\
u2010
\
u2013-
\
u2016
\
u2018
\
u201C-
\
u201D
\
u2020-
\
u2021
\
u2025-
\
u2027
\
u2030
\
u2032-
\
u2033
\
u2035
\
u203B
\
u2071
\
u2074
\
u207F
\
u2081-
\
u2084
\
u2090-
\
u2094
\
u2102-
\
u2103
\
u2105
\
u2107
\
u2109-
\
u2113
\
u2115-
\
u2116
\
u2119-
\
u211D
\
u2121-
\
u2122
\
u2124
\
u2126
\
u2128
\
u212A-
\
u212D
\
u212F-
\
u2139
\
u213C-
\
u213F
\
u2145-
\
u2149
\
u214E
\
u2153-
\
u2154
\
u215B-
\
u215E
\
u2160-
\
u2188
\
u2190-
\
u2199
\
u21D2
\
u21D4
\
u2200
\
u2202-
\
u2203
\
u2207-
\
u2208
\
u220B
\
u220F
\
u2211
\
u2215
\
u221A
\
u221D-
\
u2220
\
u2223
\
u2225
\
u2227-
\
u222C
\
u222E
\
u2234-
\
u2237
\
u223C-
\
u223D
\
u2248
\
u224C
\
u2252
\
u2260-
\
u2261
\
u2264-
\
u2267
\
u226A-
\
u226B
\
u226E-
\
u226F
\
u2282-
\
u2283
\
u2286-
\
u2287
\
u2295
\
u2299
\
u22A5
\
u22BF
\
u2312
\
u2460-
\
u24B5
\
u24D0-
\
u24E9
\
u2500-
\
u254B
\
u2550-
\
u2574
\
u2581-
\
u258F
\
u2592-
\
u2595
\
u25A0-
\
u25A1
\
u25A3-
\
u25A9
\
u25B2-
\
u25B3
\
u25B6-
\
u25B7
\
u25BC-
\
u25BD
\
u25C0-
\
u25C1
\
u25C6-
\
u25C8
\
u25CB
\
u25CE-
\
u25D1
\
u25E2-
\
u25E5
\
u25EF
\
u2605-
\
u2606
\
u2609
\
u260E-
\
u260F
\
u261C
\
u261E
\
u2640
\
u2642
\
u2660-
\
u2661
\
u2663-
\
u2665
\
u2667-
\
u266A
\
u266C-
\
u266D
\
u266F
\
u2C00-
\
u2C2E
\
u2C30-
\
u2C5E
\
u2C60-
\
u2C6F
\
u2C71-
\
u2C7D
\
u2C80-
\
u2CE4
\
u2D00-
\
u2D25
\
u2D30-
\
u2D65
\
u2D6F
\
u2D80-
\
u2D96
\
u2DA0-
\
u2DA6
\
u2DA8-
\
u2DAE
\
u2DB0-
\
u2DB6
\
u2DB8-
\
u2DBE
\
u2DC0-
\
u2DC6
\
u2DC8-
\
u2DCE
\
u2DD0-
\
u2DD6
\
u2DD8-
\
u2DDE
\
u3000-
\
u3003
\
u3005-
\
u3017
\
u301D-
\
u301F
\
u3021-
\
u3029
\
u3031-
\
u3035
\
u3038-
\
u303C
\
u3041-
\
u3096
\
u309B-
\
u309F
\
u30A1-
\
u30FF
\
u3105-
\
u312D
\
u3131-
\
u318E
\
u31A0-
\
u31B7
\
u31F0-
\
u321C
\
u3220-
\
u3229
\
u3231-
\
u3232
\
u3239
\
u3260-
\
u327B
\
u327F
\
u32A3-
\
u32A8
\
u3303
\
u330D
\
u3314
\
u3318
\
u3322-
\
u3323
\
u3326-
\
u3327
\
u332B
\
u3336
\
u333B
\
u3349-
\
u334A
\
u334D
\
u3351
\
u3357
\
u337B-
\
u337E
\
u3380-
\
u3384
\
u3388-
\
u33CA
\
u33CD-
\
u33D3
\
u33D5-
\
u33D6
\
u33D8
\
u33DB-
\
u33DD
\
u3400-
\
u4DB5
\
u4E00-
\
u9FC3
\
uA000-
\
uA48C
\
uA500-
\
uA60C
\
uA610-
\
uA61F
\
uA62A-
\
uA62B
\
uA640-
\
uA65F
\
uA662-
\
uA66E
\
uA680-
\
uA697
\
uA722-
\
uA787
\
uA78B-
\
uA78C
\
uA7FB-
\
uA801
\
uA803-
\
uA805
\
uA807-
\
uA80A
\
uA80C-
\
uA822
\
uA840-
\
uA873
\
uA882-
\
uA8B3
\
uA90A-
\
uA925
\
uA930-
\
uA946
\
uAA00-
\
uAA28
\
uAA40-
\
uAA42
\
uAA44-
\
uAA4B
\
uAC00-
\
uD7A3
\
uE000-
\
uF848
\
uF900-
\
uFA2D
\
uFA30-
\
uFA6A
\
uFA70-
\
uFAD9
\
uFB00-
\
uFB06
\
uFB13-
\
uFB17
\
uFB1D
\
uFB1F-
\
uFB28
\
uFB2A-
\
uFB36
\
uFB38-
\
uFB3C
\
uFB3E
\
uFB40-
\
uFB41
\
uFB43-
\
uFB44
\
uFB46-
\
uFBB1
\
uFBD3-
\
uFD3D
\
uFD50-
\
uFD8F
\
uFD92-
\
uFDC7
\
uFDF0-
\
uFDFB
\
uFE30-
\
uFE31
\
uFE33-
\
uFE44
\
uFE49-
\
uFE52
\
uFE54-
\
uFE57
\
uFE59-
\
uFE66
\
uFE68-
\
uFE6B
\
uFE70-
\
uFE74
\
uFE76-
\
uFEFC
\
uFF01-
\
uFF5E
\
uFF61-
\
uFFBE
\
uFFC2-
\
uFFC7
\
uFFCA-
\
uFFCF
\
uFFD2-
\
uFFD7
\
uFFDA-
\
uFFDC
\
uFFE0-
\
uFFE6
"
,
...
...
@@ -1182,13 +1184,14 @@ parserHelper.prototype.is3DRef = function ( formula, start_pos ) {
}
return
[
false
,
null
,
null
];
};
parserHelper
.
prototype
.
isNextPtg
=
function
(
formula
,
start_pos
,
digitDelim
)
{
if
(
this
instanceof
parserHelper
)
{
parserHelper
.
prototype
.
isNextPtg
=
function
(
formula
,
start_pos
,
digitDelim
)
{
if
(
this
instanceof
parserHelper
)
{
this
.
_reset
();
}
var
subSTR
=
formula
.
substring
(
start_pos
),
match
;
if
(
subSTR
.
match
(
rx_RightParentheses
)
==
null
&&
subSTR
.
match
(
digitDelim
?
rx_Comma
:
rx_CommaDef
)
==
null
&&
subSTR
.
match
(
rx_operators
)
==
null
&&
(
match
=
subSTR
.
match
(
rx_intersect
))
!=
null
){
var
subSTR
=
formula
.
substring
(
start_pos
),
match
;
if
(
subSTR
.
match
(
rx_RightParentheses
)
==
null
&&
subSTR
.
match
(
digitDelim
?
rx_Comma
:
rx_CommaDef
)
==
null
&&
subSTR
.
match
(
rx_operators
)
==
null
&&
(
match
=
subSTR
.
match
(
rx_intersect
))
!=
null
)
{
this
.
pCurrPos
+=
match
[
0
].
length
;
this
.
operand_str
=
match
[
0
][
0
];
return
true
;
...
...
@@ -1214,10 +1217,30 @@ parserHelper.prototype.isLeftParentheses = function ( formula, start_pos ) {
this
.
_reset
();
}
var
match
=
(
formula
.
substring
(
start_pos
)).
match
(
rx_LeftParentheses
);
if
(
match
!=
null
)
{
this
.
operand_str
=
match
[
0
].
replace
(
rx_space_g
,
""
);
this
.
pCurrPos
+=
match
[
0
].
length
;
var
code
,
find
=
false
,
length
=
formula
.
length
;
while
(
start_pos
!==
length
)
{
code
=
formula
.
charCodeAt
(
start_pos
);
if
(
code
===
g_oCodeLeftParentheses
)
{
this
.
operand_str
=
formula
[
start_pos
];
++
start_pos
;
find
=
true
;
break
;
}
else
if
(
code
===
g_oCodeSpace
)
{
++
start_pos
;
}
else
{
break
;
}
}
if
(
find
)
{
while
(
start_pos
!==
length
)
{
code
=
formula
.
charCodeAt
(
start_pos
);
if
(
code
!==
g_oCodeSpace
)
{
break
;
}
++
start_pos
;
}
this
.
pCurrPos
=
start_pos
;
return
true
;
}
return
false
;
...
...
@@ -1227,13 +1250,32 @@ parserHelper.prototype.isRightParentheses = function ( formula, start_pos ) {
this
.
_reset
();
}
var
match
=
(
formula
.
substring
(
start_pos
)).
match
(
rx_RightParentheses
);
if
(
match
!=
null
)
{
this
.
operand_str
=
match
[
0
].
replace
(
rx_space_g
,
""
);
this
.
pCurrPos
+=
match
[
0
].
length
;
var
code
,
find
=
false
,
length
=
formula
.
length
;
while
(
start_pos
!==
length
)
{
code
=
formula
.
charCodeAt
(
start_pos
);
if
(
code
===
g_oCodeRightParentheses
)
{
this
.
operand_str
=
formula
[
start_pos
];
++
start_pos
;
find
=
true
;
break
;
}
else
if
(
code
===
g_oCodeSpace
)
{
++
start_pos
;
}
else
{
break
;
}
}
if
(
find
)
{
while
(
start_pos
!==
length
)
{
code
=
formula
.
charCodeAt
(
start_pos
);
if
(
code
!==
g_oCodeSpace
)
{
break
;
}
++
start_pos
;
}
this
.
pCurrPos
=
start_pos
;
return
true
;
}
return
false
;
};
parserHelper
.
prototype
.
isComma
=
function
(
formula
,
start_pos
,
digitDelim
)
{
if
(
this
instanceof
parserHelper
)
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment