MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / ParseElseNode

Function ParseElseNode

tests/external/gmock-1.7.0/gtest/scripts/pump.py:475–500  ·  view source on GitHub ↗
(tokens)

Source from the content-addressed store, hash-verified

473
474
475def ParseElseNode(tokens):
476 def Pop(token_type=None):
477 return PopToken(tokens, token_type)
478
479 next = PeekToken(tokens)
480 if not next:
481 return None
482 if next.token_type == '$else':
483 Pop('$else')
484 Pop('[[')
485 code_node = ParseCodeNode(tokens)
486 Pop(']]')
487 return code_node
488 elif next.token_type == '$elif':
489 Pop('$elif')
490 exp = Pop('code')
491 Pop('[[')
492 code_node = ParseCodeNode(tokens)
493 Pop(']]')
494 inner_else_node = ParseElseNode(tokens)
495 return CodeNode([IfNode(ParseExpNode(exp), code_node, inner_else_node)])
496 elif not next.value.strip():
497 Pop('code')
498 return ParseElseNode(tokens)
499 else:
500 return None
501
502
503def ParseAtomicCodeNode(tokens):

Callers 1

ParseAtomicCodeNodeFunction · 0.85

Calls 6

PeekTokenFunction · 0.85
PopFunction · 0.85
ParseCodeNodeFunction · 0.85
CodeNodeClass · 0.85
IfNodeClass · 0.85
ParseExpNodeFunction · 0.85

Tested by

no test coverage detected