MCPcopy Create free account
hub / github.com/PlatformLab/NanoLog / parse_expr

Function parse_expr

preprocessor/docopt.py:377–387  ·  view source on GitHub ↗

expr ::= seq ( '|' seq )* ;

(tokens, options)

Source from the content-addressed store, hash-verified

375
376
377def parse_expr(tokens, options):
378 """expr ::= seq ( '|' seq )* ;"""
379 seq = parse_seq(tokens, options)
380 if tokens.current() != '|':
381 return seq
382 result = [Required(*seq)] if len(seq) > 1 else seq
383 while tokens.current() == '|':
384 tokens.move()
385 seq = parse_seq(tokens, options)
386 result += [Required(*seq)] if len(seq) > 1 else seq
387 return [Either(*result)] if len(result) > 1 else result
388
389
390def parse_seq(tokens, options):

Callers 2

parse_patternFunction · 0.85
parse_atomFunction · 0.85

Calls 5

parse_seqFunction · 0.85
RequiredClass · 0.85
EitherClass · 0.85
currentMethod · 0.80
moveMethod · 0.80

Tested by

no test coverage detected