Lines Matching full:f
43 return f'List["TaiheAST.{attr_kind[:-3]}"]'
45 return f'Optional["TaiheAST.{attr_kind[:-3]}"]'
46 return f'"TaiheAST.{attr_kind}"'
72 f"from dataclasses import dataclass\n"
73 f"from typing import Any, Union, List, Optional\n"
74 f"\n"
75 f"from taihe.utils.sources import SourceLocation\n"
76 f"\n"
77 f"\n"
78 f"class TaiheAST:\n"
79 f" @dataclass(kw_only=True)\n"
80 f" class any:\n"
81 f" loc: SourceLocation\n"
82 f"\n"
83 f" def _accept(self, visitor) -> Any:\n"
84 f" raise NotImplementedError()\n"
85 f"\n"
86 f"\n"
87 f" @dataclass\n"
88 f" class TOKEN(any):\n"
89 f" text: str\n"
90 f"\n"
91 f" def __str__(self):\n"
92 f" return self.text\n"
93 f"\n"
94 f" def _accept(self, visitor) -> Any:\n"
95 f" return visitor.visit_token(self)\n"
96 f"\n"
108 file.write(f" {node_kind} = Union[\n")
114 file.write(f" {attr_hint},\n")
115 file.write(f" ]\n" f"\n")
118 file.write(f" @dataclass\n" f" class {node_kind}(any):\n")
121 file.write(f" {attr_name}: {attr_hint}\n")
123 f"\n"
124 f" def _accept(self, visitor) -> Any:\n"
125 f" return visitor.visit_{snake_case(node_kind)}(self)\n"
126 f"\n"
133 f"from {ANTLR_PKG}.TaiheAST import TaiheAST\n"
134 f"\n"
135 f"from typing import Any\n"
136 f"\n"
137 f"\n"
138 f"class TaiheVisitor:\n"
139 f" def visit(self, node: TaiheAST.any) -> Any:\n"
140 f" return node._accept(self)\n"
141 f"\n"
142 f" def visit_token(self, node: TaiheAST.TOKEN) -> Any:\n"
143 f" raise NotImplementedError()\n"
144 f"\n"
160 … f" def visit_{snake_case(attr_kind)}(self, node: TaiheAST.{attr_kind}) -> Any:\n"
161 f" return self.visit_{snake_case(node_kind)}(node)\n"
162 f"\n"
165 f" def visit_{snake_case(node_kind)}(self, node: TaiheAST.{node_kind}) -> Any:\n"
166 f" raise NotImplementedError()\n"
167 f"\n"