ATLAS Offline Software
Loading...
Searching...
No Matches
han_lark_tester.AlgorithmNameInterpreter Class Reference
Inheritance diagram for han_lark_tester.AlgorithmNameInterpreter:
Collaboration diagram for han_lark_tester.AlgorithmNameInterpreter:

Public Member Functions

 __init__ (self)
 algorithmblock (self, lark.Tree tree)
 dirblock (self, lark.Tree tree)

Detailed Description

Definition at line 39 of file han_lark_tester.py.

Constructor & Destructor Documentation

◆ __init__()

han_lark_tester.AlgorithmNameInterpreter.__init__ ( self)

Definition at line 40 of file han_lark_tester.py.

40 def __init__(self):
41 super().__init__()
42

Member Function Documentation

◆ algorithmblock()

han_lark_tester.AlgorithmNameInterpreter.algorithmblock ( self,
lark.Tree tree )

Definition at line 43 of file han_lark_tester.py.

43 def algorithmblock(self, tree: lark.Tree):
44 thisalgname = [_.children[0].value for _ in tree.children if isinstance(_, lark.Tree) and _.data == "algorithmname"][0]
45 thisalgrealname = [_ for _ in tree.children if isinstance(_, lark.Tree) and _.data == "realname"]
46 if not thisalgrealname:
47 raise ValueError(f"no underlying algorithm specified for {thisalgname}")
48 for node in tree.children:
49 if node.data == 'algorithmblock':
50 for subnode in node.children:
51 if subnode.data == 'algorithmname':
52 subnode.children[0].value = thisalgname + '/' + subnode.children[0].value
53 if not [_ for _ in node.children if isinstance(_, lark.Tree) and _.data == "realname"]:
54 node.children.append(thisalgrealname[0])
55 self.visit(node)
56

◆ dirblock()

han_lark_tester.AlgorithmNameInterpreter.dirblock ( self,
lark.Tree tree )

Definition at line 57 of file han_lark_tester.py.

57 def dirblock(self, tree: lark.Tree):
58 thisdirname = [_.children[0].value for _ in tree.children if isinstance(_, lark.Tree) and _.data == "dirname"][0]
59 for node in tree.children:
60 if node.data == 'dirblock':
61 for subnode in node.children:
62 if subnode.data == 'dirname':
63 subnode.children[0].value = thisdirname + '/' + subnode.children[0].value
64 self.visit(node)
65 elif node.data == 'histblock':
66 for subnode in node.children:
67 if subnode.data == 'histname':
68 subnode.children[0].value = thisdirname + '/' + subnode.children[0].value
69
70

The documentation for this class was generated from the following file: