[pypy-svn] jitviewer default: kill SimpleParser, replace it with the version found in jitlogparser

antocuni commits-noreply at bitbucket.org
Fri Feb 25 14:59:34 CET 2011


Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: 
Changeset: r90:137d91d598e2
Date: 2011-02-25 14:09 +0100
http://bitbucket.org/pypy/jitviewer/changeset/137d91d598e2/

Log:	kill SimpleParser, replace it with the version found in jitlogparser

diff --git a/_jitviewer/parser.py b/_jitviewer/parser.py
--- a/_jitviewer/parser.py
+++ b/_jitviewer/parser.py
@@ -2,7 +2,7 @@
 from lib_pypy.disassembler import dis # imported from the pypy source tree
 from pypy.jit.metainterp.resoperation import rop, opname
 from pypy.jit.tool.oparser import OpParser
-from pypy.tool.jitlogparser.parser import Op
+from pypy.tool.jitlogparser import parser
 
 class Html(str):
     def __html__(self):
@@ -31,7 +31,7 @@
         return '%s = %s %s %s' % (self.getres(), self.getarg(0), name, self.getarg(1))
     return f
 
-class OpHtml(Op):
+class OpHtml(parser.Op):
     """
     Subclass of Op with human-friendly tml representation
     """
@@ -103,25 +103,9 @@
         return '((%s)%s).%s = %s' % (name, self.getarg(0), field, self.getarg(1))
 
 
-class SimpleParser(OpParser):
-    def parse_args(self, opname, argspec):
-        if not argspec.strip():
-            return [], None
-        if opname == 'debug_merge_point':
-            return argspec.rsplit(", ", 1), None
-        else:
-            args = argspec.split(', ')
-            descr = None
-            if args[-1].startswith('descr='):
-                descr = args[-1][len('descr='):]
-                args = args[:-1]
-            return (args, descr)
+class ParserWithHtmlRepr(parser.SimpleParser):
+    Op = OpHtml
 
-    def box_for_var(self, res):
-        return res
-
-    def create_op(self, opnum, args, res, descr):
-        return OpHtml(intern(opname[opnum].lower()), args, res, descr)
 
 class NonCodeError(Exception):
     pass
@@ -276,8 +260,8 @@
     return nums
 
 def parse(input):
-    return SimpleParser(input, None, {}, 'lltype', None,
-                        nonstrict=True).parse()
+    return ParserWithHtmlRepr(input, None, {}, 'lltype', None,
+                              nonstrict=True).parse()
 
 def slice_debug_merge_points(operations, storage, limit=None):
     """ Slice given operation list into a chain of Bytecode chunks.


More information about the Pypy-commit mailing list