summaryrefslogtreecommitdiff
path: root/sci2jsyacc.py
diff options
context:
space:
mode:
Diffstat (limited to 'sci2jsyacc.py')
-rwxr-xr-xsci2jsyacc.py31
1 files changed, 21 insertions, 10 deletions
diff --git a/sci2jsyacc.py b/sci2jsyacc.py
index ae3c0d15..78881230 100755
--- a/sci2jsyacc.py
+++ b/sci2jsyacc.py
@@ -735,22 +735,33 @@ def p_getvaluearg4_expression(p):
| listcall'''
p[0] = '%s' % (p[1][0])
-def p_standarddefineassignment_standarddefinearguments(p):
- 'standarddefineassignment : lterm ASSIGNMENT STANDARD_DEFINE OPENBRACKET standarddefineargumentlist CLOSEBRACKET EOL'
- p[0] = '%*s%s = new %s(%s);\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', p[1], p[3], p[5])
+def p_standarddefineassignment_arg1_arg2_arg3_arg4(p):
+ 'standarddefineassignment : lterm ASSIGNMENT STANDARD_DEFINE OPENBRACKET standarddefinearg1 COMMA standarddefinearg2 COMMA standarddefinearg3 COMMA standarddefinearg4 CLOSEBRACKET EOL'
+ p[0] = '%*s%s = new %s(%s,%s,%s,%s);\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', p[1], p[3], p[5], p[7], p[9], p[11])
-def p_standarddefineargumentlist_standarddefineargumentlist_expression(p):
- '''standarddefineargumentlist : standarddefineargumentlist COMMA expression
- | standarddefineargumentlist COMMA listcall'''
- p[0] = '%s,%s' % (p[1], p[3][0])
-
-def p_standarddefineargumentlist_expression(p):
- 'standarddefineargumentlist : expression'
+def p_standarddefinearg1_expression(p):
+ 'standarddefinearg1 : expression'
value = p[1][0]
if ']/' in value:
value = re.sub(r'\]/.*', ']', value)
p[0] = 'new ScilabDouble(%s)' % (value)
+def p_standarddefinearg2_expression(p):
+ 'standarddefinearg2 : expression'
+ value = p[1][0]
+ p[0] = '%s' % (value)
+
+def p_standarddefinearg3_expression(p):
+ 'standarddefinearg3 : expression'
+ value = p[1][0]
+ p[0] = '%s' % (value)
+
+def p_standarddefinearg4_expression(p):
+ '''standarddefinearg4 : expression
+ | listcall'''
+ value = p[1][0]
+ p[0] = '%s' % (value)
+
# end define assignment
# define ltermarraylist