diff options
author | Sunil Shetye | 2018-06-19 15:56:48 +0530 |
---|---|---|
committer | Sunil Shetye | 2018-06-19 15:56:48 +0530 |
commit | 09dcb67c99c52386ec43581871db5a7a78eeaccd (patch) | |
tree | 2fe972fa8e2c2fbd6e57eccb6f0d1ed1492facbc /sci2jsyacc.py | |
parent | e52c0df736cfe020cb54e265b93119107497fbf5 (diff) | |
download | sci2js-09dcb67c99c52386ec43581871db5a7a78eeaccd.tar.gz sci2js-09dcb67c99c52386ec43581871db5a7a78eeaccd.tar.bz2 sci2js-09dcb67c99c52386ec43581871db5a7a78eeaccd.zip |
support variable(index)(slice)
Diffstat (limited to 'sci2jsyacc.py')
-rwxr-xr-x | sci2jsyacc.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sci2jsyacc.py b/sci2jsyacc.py index 420af69a..a3b3f5d8 100755 --- a/sci2jsyacc.py +++ b/sci2jsyacc.py @@ -558,6 +558,16 @@ def p_term_termfunc_parameter_parameter(p): else: p[0] = '%s(%s)' % (base, p[5]) +# B($-2)(:) +def p_term_termfunc_parameter_slice(p): + 'term : termvar OPENBRACKET expression CLOSEOPENBRACKET COLON CLOSEBRACKET' + if isarray(p[1]): + base = '%s[%s-1]' % (p[1], p[3]) + else: + base = '%s(%s)' % (p[1], p[3]) + addtoarray(base) + p[0] = '%s.slice()' % (base) + # B($-2)('function parameter')(3) def p_term_termfunc_parameter_parameter_parameter(p): 'term : termvar OPENBRACKET expression CLOSEOPENBRACKET expression CLOSEOPENBRACKET expression CLOSEBRACKET' |