summaryrefslogtreecommitdiff
path: root/third_party/ply/yacc.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/ply/yacc.py')
-rw-r--r--third_party/ply/yacc.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/third_party/ply/yacc.py b/third_party/ply/yacc.py
index f70439ea5e..9824217252 100644
--- a/third_party/ply/yacc.py
+++ b/third_party/ply/yacc.py
@@ -195,8 +195,11 @@ class YaccProduction:
self.lexer = None
self.parser= None
def __getitem__(self,n):
- if n >= 0: return self.slice[n].value
- else: return self.stack[n].value
+ if type(n) is slice:
+ return [s.value for s in self.slice[n]]
+ else:
+ if n >= 0: return self.slice[n].value
+ else: return self.stack[n].value
def __setitem__(self,n,v):
self.slice[n].value = v