From 8189be6fd7d7bdd15323b40d5f2f8d0ff822e2d5 Mon Sep 17 00:00:00 2001 From: "Feng, Bob C" Date: Mon, 14 Jan 2019 16:41:22 +0800 Subject: BaseTools: Eot tool Python3 adaption v2: The python files under CParser4 are generated by antlr4 and for python3 usage. They have python3 specific syntax, for example the data type declaration for the arguments of a function. That is not compitable with python2. this patch is to remove these syntax. Eot tool Python3 adaption. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng Cc: Liming Gao Tested-by: Laszlo Ersek Tested-by: Ard Biesheuvel Reviewed-by: Liming Gao --- .../Source/Python/Eot/CodeFragmentCollector.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'BaseTools/Source/Python/Eot/CodeFragmentCollector.py') diff --git a/BaseTools/Source/Python/Eot/CodeFragmentCollector.py b/BaseTools/Source/Python/Eot/CodeFragmentCollector.py index 8a5e5df17e..b1e77a690a 100644 --- a/BaseTools/Source/Python/Eot/CodeFragmentCollector.py +++ b/BaseTools/Source/Python/Eot/CodeFragmentCollector.py @@ -21,13 +21,19 @@ import re import Common.LongFilePathOs as os import sys -import antlr3 -from .CLexer import CLexer -from .CParser import CParser +if sys.version_info.major == 3: + import antlr4 as antlr + from Eot.CParser4.CLexer import CLexer + from Eot.CParser4.CParser import CParser +else: + import antlr3 as antlr + antlr.InputStream = antlr.StringStream + from Eot.CParser3.CLexer import CLexer + from Eot.CParser3.CParser import CParser -from . import FileProfile -from .CodeFragment import PP_Directive -from .ParserWarning import Warning +from Eot import FileProfile +from Eot.CodeFragment import PP_Directive +from Eot.ParserWarning import Warning ##define T_CHAR_SPACE ' ' @@ -354,9 +360,9 @@ class CodeFragmentCollector: FileStringContents = '' for fileLine in self.Profile.FileLinesList: FileStringContents += fileLine - cStream = antlr3.StringStream(FileStringContents) + cStream = antlr.InputStream(FileStringContents) lexer = CLexer(cStream) - tStream = antlr3.CommonTokenStream(lexer) + tStream = antlr.CommonTokenStream(lexer) parser = CParser(tStream) parser.translation_unit() -- cgit v1.2.3