Exemple #1
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)
         ]))
Exemple #2
0
 def bnf():
     return ruiko.And([
         ruiko.C('{'),
         ruiko.Seq(
             ruiko.And([
                 ruiko.Push('stmts', ruiko.Named('command')),
                 ruiko.Seq(
                     ruiko.And([
                         ruiko.C(';'),
                         ruiko.Push('stmts', ruiko.Named('command'))
                     ]), 0, -1)
             ]), 0, 1),
         ruiko.Seq(ruiko.C(';'), 0, 1),
         ruiko.C('}')
     ])
Exemple #3
0
 def bnf():
     return ruiko.And([
         ruiko.Bind('instruction', ruiko.Named('arg')),
         ruiko.Seq(
             ruiko.Or([
                 ruiko.Push('args', ruiko.Bind('last', ruiko.Named('arg'))),
                 ruiko.Push('kwargs', ruiko.Bind('last',
                                                 ruiko.Named('flag'))),
                 ruiko.Push('kwargs', ruiko.Bind('last',
                                                 ruiko.Named('must')))
             ]), 0, -1),
         ruiko.Seq(
             ruiko.And([
                 ruiko.C('|'),
                 ruiko.Bind('and_then', ruiko.Named('command'))
             ]), 0, 1)
     ])
Exemple #4
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'))
     ])
Exemple #5
0
 def bnf():
     return ruiko.And(
         [ruiko.C('--'),
          ruiko.Bind('key', ruiko.N('pattern'))])
Exemple #6
0
 def bnf():
     return ruiko.And([
         ruiko.C('`'),
         ruiko.Bind('cmd', ruiko.Named('command')),
         ruiko.C('`')
     ])
Exemple #7
0
 def bnf():
     return ruiko.And([ruiko.C('$'), ruiko.Bind('arg', ruiko.Named('arg'))])
Exemple #8
0
 def bnf():
     return ruiko.And([
         ruiko.C('-'),
         ruiko.Bind('key', ruiko.N('pattern')),
         ruiko.Bind('value', ruiko.Named('arg'))
     ])