Mercurial > hg > Members > shinya > pyrect
view pyrect/translator/translator.py @ 112:fcac8224a2e9 default tip
modify memchr parameter.
author | Ryoma SHINYA <shinya@firefly.cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 12 Feb 2011 17:00:23 +0900 |
parents | d591da6e2988 |
children |
line wrap: on
line source
#!/usr/bin/env python import sys class Translator(object): def __init__(self, regexp): self.regexp = regexp self.stream = None self.__indent = 0 self.tab = " " def indent(self): self.__indent += 1 def dedent(self): if self.__indent > 0: self.__indent -= 1 def emit(self, string='', ret=1): self.emit0(string+"\n"*ret) def emiti(self, *arg): self.emit(*arg) self.indent() def iemit(self, *arg): self.indent() self.emit(*arg) def emitd(self, *arg): self.emit(*arg) self.dedent() def demit(self, *arg): self.dedent() self.emit(*arg) def iemitd(self, *arg): self.iemit(*arg) self.dedent() def demiti(self, *arg): self.demit(*arg) self.indent() def emit0(self, string): self.stream.write(self.tab*self.__indent + string) def state_name(self, state_name): return str(state_name) def emit_from_callgraph(self): pass def translate(self, stream=sys.stdout): self.stream = stream self.emit_from_callgraph() class stmt(object): def __init__(self, stream=sys.stdout): self.indent = indent def __enter__(self): pass def __exit__(self, *arg): pass class global_stmt(stmt): pass class state_stmt(stmt): pass class transition_stmt(stmt): pass