diff options
Diffstat (limited to 'sci2jslex.py')
-rwxr-xr-x | sci2jslex.py | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/sci2jslex.py b/sci2jslex.py index ed8bdb18..6b82b2ae 100755 --- a/sci2jslex.py +++ b/sci2jslex.py @@ -68,6 +68,7 @@ predefinedvariables = { tokens = [ 'ASSIGNMENT', 'CLOSEBRACKET', + 'CLOSEOPENBRACKET', 'CLOSESQBRACKET', 'COLON', 'COMMA', @@ -114,6 +115,27 @@ def t_SEMICOLON(t): t.type = 'EOL' return t +def t_CLOSESQBRACKET(t): + r'([ \t]*\.\.+[ \t]*\n)?[ \t]*\]' + global afterarray, brackets, sqbrackets + afterarray = True + brackets -= 1 + sqbrackets -= 1 + return t + +def t_CLOSEOPENBRACKET(t): + r'[ \t]*\)\(([ \t]*(//.*)?\n?)*' + global afterarray, brackets + afterarray = True + return t + +def t_CLOSEBRACKET(t): + r'([ \t]*\.\.+[ \t]*\n)?[ \t]*\)' + global afterarray, brackets + afterarray = True + brackets -= 1 + return t + def t_COMMENT(t): r'\.\.+[ \t]*(//.*)?(\n[ \t]*|$)|//.*' pass @@ -187,14 +209,6 @@ def t_OPENSQBRACKET(t): sqbrackets += 1 return t -def t_CLOSESQBRACKET(t): - r'[ \t]*\]' - global afterarray, brackets, sqbrackets - afterarray = True - brackets -= 1 - sqbrackets -= 1 - return t - def t_OPENBRACKET(t): r'\(([ \t]*(//.*)?\n?)*' global afterarray, brackets @@ -202,13 +216,6 @@ def t_OPENBRACKET(t): brackets += 1 return t -def t_CLOSEBRACKET(t): - r'[ \t]*\)' - global afterarray, brackets - afterarray = True - brackets -= 1 - return t - def t_NOT(t): r'~' global afterarray |