| @ -0,0 +1,19 @@ | |||
| package ast | |||
| type FileInput struct { | |||
| ListNode | |||
| } | |||
| func NewFileInput() *FileInput { | |||
| node := &FileInput{} | |||
| node.initChildren() | |||
| return node | |||
| } | |||
| func (node *FileInput) ID() NodeID { | |||
| return FILE_INPUT | |||
| } | |||
| func (node *FileInput) Name() string { | |||
| return NodeNames[FILE_INPUT] | |||
| } | |||
| @ -0,0 +1,19 @@ | |||
| package ast | |||
| import "github.com/brettlangdon/gython/token" | |||
| type ListNode struct { | |||
| children []interface{} | |||
| } | |||
| func (node *ListNode) initChildren() { | |||
| node.children = make([]interface{}, 0) | |||
| } | |||
| func (node *ListNode) AppendToken(t *token.Token) { | |||
| node.children = append(node.children, t) | |||
| } | |||
| func (node *ListNode) AppendNode(n Node) { | |||
| node.children = append(node.children, n) | |||
| } | |||
| @ -0,0 +1,6 @@ | |||
| package ast | |||
| type Node interface { | |||
| ID() NodeID | |||
| Name() string | |||
| } | |||
| @ -0,0 +1,91 @@ | |||
| package ast | |||
| type NodeID int | |||
| const ( | |||
| SINGLE_INPUT NodeID = 256 | |||
| FILE_INPUT NodeID = 257 | |||
| EVAL_INPUT NodeID = 258 | |||
| DECORATOR NodeID = 259 | |||
| DECORATORS NodeID = 260 | |||
| DECORATED NodeID = 261 | |||
| ASYNC_FUNCDEF NodeID = 262 | |||
| FUNCDEF NodeID = 263 | |||
| PARAMETERS NodeID = 264 | |||
| TYPEDARGSLIST NodeID = 265 | |||
| TFPDEF NodeID = 266 | |||
| VARARGSLIST NodeID = 267 | |||
| VFPDEF NodeID = 268 | |||
| STMT NodeID = 269 | |||
| SIMPLE_STMT NodeID = 270 | |||
| SMALL_STMT NodeID = 271 | |||
| EXPR_STMT NodeID = 272 | |||
| TESTLIST_STAR_EXPR NodeID = 273 | |||
| AUGASSIGN NodeID = 274 | |||
| DEL_STMT NodeID = 275 | |||
| PASS_STMT NodeID = 276 | |||
| FLOW_STMT NodeID = 277 | |||
| BREAK_STMT NodeID = 278 | |||
| CONTINUE_STMT NodeID = 279 | |||
| RETURN_STMT NodeID = 280 | |||
| YIELD_STMT NodeID = 281 | |||
| RAISE_STMT NodeID = 282 | |||
| IMPORT_STMT NodeID = 283 | |||
| IMPORT_NAME NodeID = 284 | |||
| IMPORT_FROM NodeID = 285 | |||
| IMPORT_AS_NAME NodeID = 286 | |||
| DOTTED_AS_NAME NodeID = 287 | |||
| IMPORT_AS_NAMES NodeID = 288 | |||
| DOTTED_AS_NAMES NodeID = 289 | |||
| DOTTED_NAME NodeID = 290 | |||
| GLOBAL_STMT NodeID = 291 | |||
| NONLOCAL_STMT NodeID = 292 | |||
| ASSERT_STMT NodeID = 293 | |||
| COMPOUND_STMT NodeID = 294 | |||
| ASYNC_STMT NodeID = 295 | |||
| IF_STMT NodeID = 296 | |||
| WHILE_STMT NodeID = 297 | |||
| FOR_STMT NodeID = 298 | |||
| TRY_STMT NodeID = 299 | |||
| WITH_STMT NodeID = 300 | |||
| WITH_ITEM NodeID = 301 | |||
| EXCEPT_CLAUSE NodeID = 302 | |||
| SUITE NodeID = 303 | |||
| TEST NodeID = 304 | |||
| TEST_NOCOND NodeID = 305 | |||
| LAMBDEF NodeID = 306 | |||
| LAMBDEF_NOCOND NodeID = 307 | |||
| OR_TEST NodeID = 308 | |||
| AND_TEST NodeID = 309 | |||
| NOT_TEST NodeID = 310 | |||
| COMPARISON NodeID = 311 | |||
| COMP_OP NodeID = 312 | |||
| STAR_EXPR NodeID = 313 | |||
| EXPR NodeID = 314 | |||
| XOR_EXPR NodeID = 315 | |||
| AND_EXPR NodeID = 316 | |||
| SHIFT_EXPR NodeID = 317 | |||
| ARITH_EXPR NodeID = 318 | |||
| TERM NodeID = 319 | |||
| FACTOR NodeID = 320 | |||
| POWER NodeID = 321 | |||
| ATOM_EXPR NodeID = 322 | |||
| ATOM NodeID = 323 | |||
| TESTLIST_COMP NodeID = 324 | |||
| TRAILER NodeID = 325 | |||
| SUBSCRIPTLIST NodeID = 326 | |||
| SUBSCRIPT NodeID = 327 | |||
| SLICEOP NodeID = 328 | |||
| EXPRLIST NodeID = 329 | |||
| TESTLIST NodeID = 330 | |||
| DICTORSETMAKER NodeID = 331 | |||
| CLASSDEF NodeID = 332 | |||
| ARGLIST NodeID = 333 | |||
| ARGUMENT NodeID = 334 | |||
| COMP_ITER NodeID = 335 | |||
| COMP_FOR NodeID = 336 | |||
| COMP_IF NodeID = 337 | |||
| ENCODING_DECL NodeID = 338 | |||
| YIELD_EXPR NodeID = 339 | |||
| YIELD_ARG NodeID = 340 | |||
| ) | |||
| @ -0,0 +1,89 @@ | |||
| package ast | |||
| var NodeNames = [...]string{ | |||
| SINGLE_INPUT: "SINGLE_INPUT", | |||
| FILE_INPUT: "FILE_INPUT", | |||
| EVAL_INPUT: "EVAL_INPUT", | |||
| DECORATOR: "DECORATOR", | |||
| DECORATORS: "DECORATORS", | |||
| DECORATED: "DECORATED", | |||
| ASYNC_FUNCDEF: "ASYNC_FUNCDEF", | |||
| FUNCDEF: "FUNCDEF", | |||
| PARAMETERS: "PARAMETERS", | |||
| TYPEDARGSLIST: "TYPEDARGSLIST", | |||
| TFPDEF: "TFPDEF", | |||
| VARARGSLIST: "VARARGSLIST", | |||
| VFPDEF: "VFPDEF", | |||
| STMT: "STMT", | |||
| SIMPLE_STMT: "SIMPLE_STMT", | |||
| SMALL_STMT: "SMALL_STMT", | |||
| EXPR_STMT: "EXPR_STMT", | |||
| TESTLIST_STAR_EXPR: "TESTLIST_STAR_EXPR", | |||
| AUGASSIGN: "AUGASSIGN", | |||
| DEL_STMT: "DEL_STMT", | |||
| PASS_STMT: "PASS_STMT", | |||
| FLOW_STMT: "FLOW_STMT", | |||
| BREAK_STMT: "BREAK_STMT", | |||
| CONTINUE_STMT: "CONTINUE_STMT", | |||
| RETURN_STMT: "RETURN_STMT", | |||
| YIELD_STMT: "YIELD_STMT", | |||
| RAISE_STMT: "RAISE_STMT", | |||
| IMPORT_STMT: "IMPORT_STMT", | |||
| IMPORT_NAME: "IMPORT_NAME", | |||
| IMPORT_FROM: "IMPORT_FROM", | |||
| IMPORT_AS_NAME: "IMPORT_AS_NAME", | |||
| DOTTED_AS_NAME: "DOTTED_AS_NAME", | |||
| IMPORT_AS_NAMES: "IMPORT_AS_NAMES", | |||
| DOTTED_AS_NAMES: "DOTTED_AS_NAMES", | |||
| DOTTED_NAME: "DOTTED_NAME", | |||
| GLOBAL_STMT: "GLOBAL_STMT", | |||
| NONLOCAL_STMT: "NONLOCAL_STMT", | |||
| ASSERT_STMT: "ASSERT_STMT", | |||
| COMPOUND_STMT: "COMPOUND_STMT", | |||
| ASYNC_STMT: "ASYNC_STMT", | |||
| IF_STMT: "IF_STMT", | |||
| WHILE_STMT: "WHILE_STMT", | |||
| FOR_STMT: "FOR_STMT", | |||
| TRY_STMT: "TRY_STMT", | |||
| WITH_STMT: "WITH_STMT", | |||
| WITH_ITEM: "WITH_ITEM", | |||
| EXCEPT_CLAUSE: "EXCEPT_CLAUSE", | |||
| SUITE: "SUITE", | |||
| TEST: "TEST", | |||
| TEST_NOCOND: "TEST_NOCOND", | |||
| LAMBDEF: "LAMBDEF", | |||
| LAMBDEF_NOCOND: "LAMBDEF_NOCOND", | |||
| OR_TEST: "OR_TEST", | |||
| AND_TEST: "AND_TEST", | |||
| NOT_TEST: "NOT_TEST", | |||
| COMPARISON: "COMPARISON", | |||
| COMP_OP: "COMP_OP", | |||
| STAR_EXPR: "STAR_EXPR", | |||
| EXPR: "EXPR", | |||
| XOR_EXPR: "XOR_EXPR", | |||
| AND_EXPR: "AND_EXPR", | |||
| SHIFT_EXPR: "SHIFT_EXPR", | |||
| ARITH_EXPR: "ARITH_EXPR", | |||
| TERM: "TERM", | |||
| FACTOR: "FACTOR", | |||
| POWER: "POWER", | |||
| ATOM_EXPR: "ATOM_EXPR", | |||
| ATOM: "ATOM", | |||
| TESTLIST_COMP: "TESTLIST_COMP", | |||
| TRAILER: "TRAILER", | |||
| SUBSCRIPTLIST: "SUBSCRIPTLIST", | |||
| SUBSCRIPT: "SUBSCRIPT", | |||
| SLICEOP: "SLICEOP", | |||
| EXPRLIST: "EXPRLIST", | |||
| TESTLIST: "TESTLIST", | |||
| DICTORSETMAKER: "DICTORSETMAKER", | |||
| CLASSDEF: "CLASSDEF", | |||
| ARGLIST: "ARGLIST", | |||
| ARGUMENT: "ARGUMENT", | |||
| COMP_ITER: "COMP_ITER", | |||
| COMP_FOR: "COMP_FOR", | |||
| COMP_IF: "COMP_IF", | |||
| ENCODING_DECL: "ENCODING_DECL", | |||
| YIELD_EXPR: "YIELD_EXPR", | |||
| YIELD_ARG: "YIELD_ARG", | |||
| } | |||