Beispiel #1
0
 def bnf():
     return ruiko.Or([
         ruiko.Bind('str', ruiko.N('Str')),
         ruiko.Bind('str', ruiko.N('DoubleQuotedStr')),
         ruiko.Bind('pat', ruiko.N('pattern')),
         ruiko.Bind('expr', ruiko.Named('quote')),
         ruiko.Bind('expr', ruiko.Named('closure')),
         ruiko.Bind('expr', ruiko.Named('placeholder'))
     ])
Beispiel #2
0
 def bnf():
     return ruiko.Bind(
         'result',
         ruiko.And([
             ruiko.Or([ruiko.C('https:'),
                       ruiko.C('http:')]),
             ruiko.C('//'),
             ruiko.Seq(ruiko.N('pattern'), 1, -1),
             ruiko.Seq(ruiko.And([ruiko.C('/'),
                                  ruiko.N('pattern')]), 0, -1),
             ruiko.Seq(ruiko.C('/'), 0, 1)
         ]))
Beispiel #3
0
 def bnf():
     return ruiko.And([
         ruiko.Seq(ruiko.N('Alpha'), 1, -1),
         ruiko.Bind('n1', ruiko.N('Num')),
         ruiko.Bind('n2', ruiko.N('Num'))
     ])
Beispiel #4
0
 def bnf():
     return ruiko.And(
         [ruiko.C('--'),
          ruiko.Bind('key', ruiko.N('pattern'))])
Beispiel #5
0
 def bnf():
     return ruiko.And([
         ruiko.C('-'),
         ruiko.Bind('key', ruiko.N('pattern')),
         ruiko.Bind('value', ruiko.Named('arg'))
     ])