コード例 #1
0
ファイル: patterns.py プロジェクト: 941design/ptTools
 def __call__(self, arg):
     return Tup(_, _%style(arg))
コード例 #2
0
ファイル: patterns.py プロジェクト: 941design/ptTools
from ptTools.ptpatterns import prettyprint, prettyinput

from ptTools.examples.pycat.styles import style_node as style
from ptTools.examples.pycat.styles import style_depth
from ptTools.examples.pycat.styles import style_token


class CallableAnyTokenPattern(AnyPattern):    
    def __call__(self, arg):
        return Tup(_, _%style(arg))

def pdebug(node):
    import pdb; pdb.set_trace()

anytoken = CallableAnyTokenPattern()
debug = style('debug')

## The following patterns are defined here, for later reuse.
## TODO - Use a to be created TerminalPattern class.
NAME    = Tup(token.NAME, _)
NUMBER  = Tup(token.NUMBER, _)
STRING  = Tup(token.STRING, _)
NEWLINE = Tup(token.NEWLINE, Lit(''))
KEYWORD = Tup(token.NAME, Test(lambda n : keyword.iskeyword(n.string)))
IMPORT  = Tup(token.NAME, Lit('import'))
SELF    = Tup(token.NAME, Lit('self'))
SUPER   = Tup(token.NAME, Lit('super'))
CLASS   = Tup(token.NAME, Lit('class'))
DEF     = Tup(token.NAME, Lit('def'))
RAISE   = Tup(token.NAME, Lit('raise'))
BOOL    = Opt('False', 'True', 'None')