diff options
author | noelallen@google.com <noelallen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-14 16:02:42 +0000 |
---|---|---|
committer | noelallen@google.com <noelallen@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-14 16:02:42 +0000 |
commit | b5a99f0cdf9edce01dc69624d743230edb5e7208 (patch) | |
tree | f1e413fabae250977d71386832e8e2bcd68abcc7 /ppapi | |
parent | c7eb5178d897f48850fe8ba8ee7a5b4095825095 (diff) | |
download | chromium_src-b5a99f0cdf9edce01dc69624d743230edb5e7208.zip chromium_src-b5a99f0cdf9edce01dc69624d743230edb5e7208.tar.gz chromium_src-b5a99f0cdf9edce01dc69624d743230edb5e7208.tar.bz2 |
Trival lexer/parser changes for errors
Add the ability to track lexer errors in the parser so that
we can push error counts to the IDLFileNode.
TEST= python idl_parser.py
R= sehr@google.com
Review URL: http://codereview.chromium.org/7342037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92551 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi')
-rw-r--r-- | ppapi/generators/idl_lexer.py | 3 | ||||
-rw-r--r-- | ppapi/generators/idl_parser.py | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/ppapi/generators/idl_lexer.py b/ppapi/generators/idl_lexer.py index 50f8bfe..13498c8 100644 --- a/ppapi/generators/idl_lexer.py +++ b/ppapi/generators/idl_lexer.py @@ -152,6 +152,8 @@ class IDLLexer(object): file = self.lexobj.filename out = self.ErrorMessage(file, line, pos, msg) sys.stderr.write(out + '\n') + self.lex_errors += 1 + def AddLines(self, count): # Set the lexer position for the beginning of the next line. In the case @@ -184,6 +186,7 @@ class IDLLexer(object): self.lines = data.split('\n') self.index = [0] self.lexobj.input(data) + self.lex_errors = 0 def __init__(self): self.lexobj = lex.lex(object=self, lextab=None, optimize=0) diff --git a/ppapi/generators/idl_parser.py b/ppapi/generators/idl_parser.py index 08e8891..0ee2200 100644 --- a/ppapi/generators/idl_parser.py +++ b/ppapi/generators/idl_parser.py @@ -824,7 +824,7 @@ class IDLParser(IDLLexer): srcroot = GetOption('srcroot') if srcroot and filename.find(srcroot) == 0: filename = filename[len(srcroot) + 1:] - return IDLFile(filename, out, self.parse_errors) + return IDLFile(filename, out, self.parse_errors + self.lex_errors) except Exception as e: ErrOut.LogLine(filename, self.last.lineno, self.last.lexpos, @@ -995,8 +995,6 @@ def ParseFiles(filenames): for filename in filenames: filenode = parser.ParseFile(filename) filenodes.append(filenode) - if GetOption('verbose'): - InfoOut.Log("Parsed %s." % filename) ast = IDLAst(filenodes) if GetOption('dump_tree'): ast.Dump(0) |