diff options
Diffstat (limited to 'sci2jsyacc.py')
-rwxr-xr-x | sci2jsyacc.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/sci2jsyacc.py b/sci2jsyacc.py index f567b9e7..ad17ed1d 100755 --- a/sci2jsyacc.py +++ b/sci2jsyacc.py @@ -414,6 +414,7 @@ def p_forstatement_for_start_step_end(p): endop = '>=' stepop = '-=' add_local_var(var) + var = print_var(var) p[0] = '%*sfor (%s=%s;%s%s%s;%s%s%s) {\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', var, lstart, var, endop, lend, var, stepop, lstep) INDENT_LEVEL += 1 @@ -428,6 +429,7 @@ def p_forstatement_for_start_end(p): endop = '<=' stepop = '+=' add_local_var(var) + var = print_var(var) p[0] = '%*sfor (%s=%s;%s%s%s;%s%s%s) {\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', var, lstart, var, endop, lend, var, stepop, lstep) INDENT_LEVEL += 1 @@ -437,7 +439,7 @@ def p_forstatement_for_list(p): global INDENT_LEVEL var = p[2] add_local_var(var) - p[0] = '%*sfor (%s in %s) {\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', var, p[4]) + p[0] = '%*sfor (%s in %s) {\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', print_var(var), p[4]) INDENT_LEVEL += 1 def p_selectstatement_select(p): @@ -551,9 +553,9 @@ def p_lterm_assignment_expression(p): def p_model_assignment_expression(p): '''assignment : GRAPHICS ASSIGNMENT expression EOL | MODEL ASSIGNMENT expression EOL''' - p[0] = '%*sthis.%s = %s;\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', p[1], p[3][0]) var = p[1] add_global_var(var) + p[0] = '%*s%s = %s;\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', print_var(var), p[3][0]) add_var_vartype(var, p[3][1]) def p_modelvar_modelvar_var(p): @@ -657,7 +659,7 @@ def p_getvalueassignment_getvalue_arguments(p): global OPTIONS_BLOCK var = 'ok' add_local_var(var) - p[0] = '%*svar %s = true;\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', var) + p[0] = '%*svar %s = true;\n' % (INDENT_LEVEL * INDENT_SIZE, ' ', print_var(var)) lterm = p[1] if lterm[0] == '[': lterm = lterm[1:-1] @@ -670,7 +672,8 @@ def p_getvalueassignment_getvalue_arguments(p): basevar = var if basevar in ('ok', 'exprs'): continue - add_global_var(var, force=True) + add_global_var(basevar, force=True) + var = print_var(basevar) vartype = VAR_TYPES.get(basevar, STRING_TYPE) parsefunction = PARSE_MAP.get(vartype, '') if parsefunction != '': @@ -712,8 +715,11 @@ def p_getvaluearg2_gettext_string(p): def p_getvaluearg2_var(p): 'getvaluearg2 : VAR' # TODO: replace with value of that variable - p[0] = '%s' % (p[1]) - LABELS.append(p[0]) + var = p[1] + add_global_var(var, force=True) + var = print_var(var) + p[0] = '%s' % (var) + LABELS.append(var) def p_getvaluearg2arraylist_arraylist_arraylistitem(p): '''getvaluearg2arraylist : getvaluearg2arraylist SEMICOLON getvaluearg2arraylistitem |