From 1170404c7650cb531534b308f103c9b6abd50d14 Mon Sep 17 00:00:00 2001 From: Sunil Shetye Date: Mon, 18 Jun 2018 23:41:23 +0530 Subject: handle multiple rows --- sci2jslex.py | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'sci2jslex.py') 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 -- cgit