Пример #1
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)
     ])
Пример #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)
         ]))
Пример #3
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'))
     ])
Пример #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'))
     ])
Пример #5
0
 def bnf():
     return ruiko.And(
         [ruiko.C('--'),
          ruiko.Bind('key', ruiko.N('pattern'))])
Пример #6
0
 def bnf():
     return ruiko.And([
         ruiko.C('`'),
         ruiko.Bind('cmd', ruiko.Named('command')),
         ruiko.C('`')
     ])
Пример #7
0
 def bnf():
     return ruiko.And([ruiko.C('$'), ruiko.Bind('arg', ruiko.Named('arg'))])
Пример #8
0
 def bnf():
     return ruiko.And([
         ruiko.C('-'),
         ruiko.Bind('key', ruiko.N('pattern')),
         ruiko.Bind('value', ruiko.Named('arg'))
     ])