summaryrefslogtreecommitdiff
path: root/sci2jsyacc.py
diff options
context:
space:
mode:
authorSunil Shetye2018-07-02 15:06:31 +0530
committerSunil Shetye2018-07-02 15:08:38 +0530
commit6e5e34e21b744cf956b18c7a233aa62b1f08efe5 (patch)
treed90f7307ef98316d43739a1c74113b93cb44b746 /sci2jsyacc.py
parent28a0e1a7764baf49b0b3c3eae4d6f757284a9423 (diff)
downloadsci2js-6e5e34e21b744cf956b18c7a233aa62b1f08efe5.tar.gz
sci2js-6e5e34e21b744cf956b18c7a233aa62b1f08efe5.tar.bz2
sci2js-6e5e34e21b744cf956b18c7a233aa62b1f08efe5.zip
handle each argument differently
Diffstat (limited to 'sci2jsyacc.py')
-rwxr-xr-xsci2jsyacc.py53
1 files changed, 35 insertions, 18 deletions
diff --git a/sci2jsyacc.py b/sci2jsyacc.py
index 7cc33d78..b8c6ca9f 100755
--- a/sci2jsyacc.py
+++ b/sci2jsyacc.py
@@ -473,29 +473,46 @@ def p_getvalueassignment_getvalue_arguments(p):
if var not in GLOBAL_VARS:
GLOBAL_VARS.add(var)
-def p_getvaluearguments_getvalue_list_list(p):
- 'getvaluearguments : expression COMMA OPENSQBRACKET termarrayarraylist CLOSESQBRACKET COMMA LIST OPENBRACKET getvaluelist CLOSEBRACKET COMMA expression'
- p[0] = '%s,[%s],%s(%s),%s' % (p[1], p[4], p[7], p[9], p[12])
+def p_getvaluearguments_arg1_arg2_arg3_arg4(p):
+ 'getvaluearguments : getvaluearg1 COMMA getvaluearg2 COMMA getvaluearg3 COMMA getvaluearg4'
+ p[0] = '%s,%s,%s,%s' % (p[1], p[3], p[5], p[7])
+
+def p_getvaluearg1_expression(p):
+ 'getvaluearg1 : expression'
+ p[0] = '%s' % (p[1])
-def p_getvaluearguments_getvalue_list_semicolon_list(p):
- 'getvaluearguments : expression COMMA OPENSQBRACKET termarrayarraylist SEMICOLON CLOSESQBRACKET COMMA LIST OPENBRACKET getvaluelist CLOSEBRACKET COMMA expression'
- p[0] = '%s,[%s],%s(%s),%s' % (p[1], p[4], p[8], p[10], p[13])
+def p_getvaluearg2_list(p):
+ '''getvaluearg2 : OPENSQBRACKET termarrayarraylist CLOSESQBRACKET
+ | OPENSQBRACKET termarrayarraylist SEMICOLON CLOSESQBRACKET'''
+ p[0] = '[%s]' % (p[2])
-def p_getvaluearguments_getvalue_list_string_list(p):
- 'getvaluearguments : expression COMMA OPENSQBRACKET DQSTRING CLOSESQBRACKET COMMA LIST OPENBRACKET getvaluelist CLOSEBRACKET COMMA expression'
- p[0] = '%s,[%s],%s(%s),%s' % (p[1], p[4], p[7], p[9], p[12])
+def p_getvaluearg2_list_string(p):
+ 'getvaluearg2 : OPENSQBRACKET DQSTRING CLOSESQBRACKET'
+ p[0] = '[%s]' % (p[2])
-def p_getvaluearguments_getvalue_string_list(p):
- 'getvaluearguments : expression COMMA DQSTRING COMMA LIST OPENBRACKET getvaluelist CLOSEBRACKET COMMA expression'
- p[0] = '%s,%s,%s(%s),%s' % (p[1], p[3], p[5], p[7], p[10])
+def p_getvaluearg2_string(p):
+ 'getvaluearg2 : DQSTRING'
+ p[0] = '%s' % (p[1])
-def p_getvaluearguments_getvalue_gettext_string_list(p):
- 'getvaluearguments : expression COMMA FUNCTIONNAME OPENBRACKET DQSTRING CLOSEBRACKET COMMA LIST OPENBRACKET getvaluelist CLOSEBRACKET COMMA expression'
- p[0] = '%s,%s(%s),%s(%s),%s' % (p[1], p[3], p[5], p[8], p[10], p[13])
+def p_getvaluearg2_gettext_string(p):
+ 'getvaluearg2 : FUNCTIONNAME OPENBRACKET DQSTRING CLOSEBRACKET'
+ p[0] = '%s(%s)' % (p[1], p[3])
-def p_getvaluearguments_getvalue_var_var(p):
- 'getvaluearguments : expression COMMA VAR COMMA VAR COMMA expression'
- p[0] = '%s,%s,%s,%s' % (p[1], p[3], p[5], p[7])
+def p_getvaluearg2_var(p):
+ 'getvaluearg2 : VAR'
+ p[0] = '%s' % (p[1])
+
+def p_getvaluearg3_list(p):
+ 'getvaluearg3 : LIST OPENBRACKET getvaluelist CLOSEBRACKET'
+ p[0] = '%s(%s)' % (p[1], p[3])
+
+def p_getvaluearg3_var(p):
+ 'getvaluearg3 : VAR'
+ p[0] = '%s' % (p[1])
+
+def p_getvaluearg4_expression(p):
+ 'getvaluearg4 : expression'
+ p[0] = '%s' % (p[1])
# end define assignment