summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
authornoelallen@google.com <noelallen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-14 16:02:42 +0000
committernoelallen@google.com <noelallen@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-14 16:02:42 +0000
commitb5a99f0cdf9edce01dc69624d743230edb5e7208 (patch)
treef1e413fabae250977d71386832e8e2bcd68abcc7 /ppapi
parentc7eb5178d897f48850fe8ba8ee7a5b4095825095 (diff)
downloadchromium_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.py3
-rw-r--r--ppapi/generators/idl_parser.py4
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)