Start splitting off 3.4 grammar from rest

This commit is contained in:
rocky
2016-07-09 21:08:53 -04:00
parent b44c566a9f
commit 21da5e787e
4 changed files with 38 additions and 8 deletions

Binary file not shown.

View File

@@ -637,10 +637,11 @@ def get_python_parser(version, debug_parser, compile_mode='exec'):
else:
p = parse3.Python33ParserSingle(debug_parser)
elif version == 3.4:
import uncompyle6.parsers.parse34 as parse34
if compile_mode == 'exec':
p = parse3.Python34Parser(debug_parser)
p = parse34.Python34Parser(debug_parser)
else:
p = parse3.Python34ParserSingle(debug_parser)
p = parse34.Python34ParserSingle(debug_parser)
elif version >= 3.5:
if compile_mode == 'exec':
p = parse3.Python35onParser(debug_parser)

View File

@@ -625,10 +625,6 @@ class Python32ParserSingle(Python32Parser, PythonParserSingle):
class Python33ParserSingle(Python33Parser, PythonParserSingle):
pass
class Python34ParserSingle(Python34Parser, PythonParserSingle):
pass
class Python35onParserSingle(Python35onParser, PythonParserSingle):
pass
@@ -641,8 +637,6 @@ def info(args):
arg = args[0]
if arg == '3.5':
p = Python35onParser()
elif arg == '3.4':
p = Python34Parser()
elif arg == '3.3':
p = Python33Parser()
elif arg == '3.2':

View File

@@ -0,0 +1,35 @@
# Copyright (c) 2016 Rocky Bernstein
"""
spark grammar differences over Python3 for Python 3.4.2.
"""
from uncompyle6.parser import PythonParserSingle
from spark_parser import DEFAULT_DEBUG as PARSER_DEFAULT_DEBUG
from uncompyle6.parsers.parse3 import Python3Parser
class Python34Parser(Python3Parser):
def __init__(self, debug_parser=PARSER_DEFAULT_DEBUG):
super(Python34Parser, self).__init__(debug_parser)
self.customized = {}
def p_misc34(self, args):
"""
# Python 3.5+ optimizes the trailing two JUMPS away
for_block ::= l_stmts_opt JUMP_ABSOLUTE
"""
class Python34ParserSingle(Python34Parser, PythonParserSingle):
pass
def info(args):
# Check grammar
# Should also add a way to dump grammar
p = Python34Parser()
p.checkGrammar()
if __name__ == '__main__':
import sys
info(sys.argv)