Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: tools/lexer_generator/regex_parser.py

Issue 180213003: Experimental parser: cleanup logging (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/lexer_generator/ply_utilities.py ('k') | tools/lexer_generator/rule_parser.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/lexer_generator/regex_parser.py
diff --git a/tools/lexer_generator/regex_parser.py b/tools/lexer_generator/regex_parser.py
index 799f5d0c88ca304b4c330df7365c03edf5560105..c14d14a89eaab6a9058ce84568ff77bd1ebf1657 100644
--- a/tools/lexer_generator/regex_parser.py
+++ b/tools/lexer_generator/regex_parser.py
@@ -25,50 +25,12 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+import logging
import ply.lex as lex
import ply.yacc as yacc
from term import Term
from nfa_builder import NfaBuilder
-
-class ParserBuilder:
-
- class Logger(object):
- def debug(self,msg,*args,**kwargs):
- pass
-
- def info(self,msg,*args,**kwargs):
- pass
-
- def warning(self,msg,*args,**kwargs):
- raise Exception("warning: "+ (msg % args) + "\n")
-
- def error(self,msg,*args,**kwargs):
- raise Exception("error: "+ (msg % args) + "\n")
-
- __static_instances = {}
- @staticmethod
- def parse(
- string, name, new_lexer, new_parser, preparse = None, postparse = None):
- if not name in ParserBuilder.__static_instances:
- logger = ParserBuilder.Logger()
- lexer_instance = new_lexer()
- lexer_instance.lex = lex.lex(module=lexer_instance)
- instance = new_parser()
- instance.yacc = yacc.yacc(
- module=instance, debug=True, write_tables=0,
- debuglog=logger, errorlog=logger)
- ParserBuilder.__static_instances[name] = (lexer_instance, instance)
- (lexer_instance, instance) = ParserBuilder.__static_instances[name]
- if preparse:
- preparse(instance)
- try:
- return_value = instance.yacc.parse(string, lexer=lexer_instance.lex)
- except Exception:
- del ParserBuilder.__static_instances[name]
- raise
- if postparse:
- postparse(instance)
- return return_value
+from ply_utilities import ParserBuilder
def build_escape_map(chars):
def add_escape(d, char):
« no previous file with comments | « tools/lexer_generator/ply_utilities.py ('k') | tools/lexer_generator/rule_parser.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698