github.com/hirochachacha/plua@v0.0.0-20170217012138-c82f520cc725/compiler/ast/type.go (about) 1 package ast 2 3 type Type uint 4 5 func (typ Type) String() string { 6 return astNames[typ] 7 } 8 9 const ( 10 COMMENT Type = iota 11 COMMENT_GROUP 12 13 PARAM_LIST 14 15 BAD_EXPR 16 NAME 17 VARARG 18 BASIC_LIT 19 FUNC_LIT 20 TABLE_LIT 21 PAREN_EXPR 22 SELECTOR_EXPR 23 INDEX_EXPR 24 CALL_EXPR 25 UNARY_EXPR 26 BINARY_EXPR 27 KEY_VALUE_EXPR 28 29 BAD_STMT 30 EMPTY_STMT 31 LOCAL_ASSIGN_STMT 32 LOCAL_FUNC_STMT 33 FUNC_STMT 34 LABEL_STMT 35 EXPR_STMT 36 ASSIGN_STMT 37 GOTO_STMT 38 BREAK_STMT 39 IF_STMT 40 DO_STMT 41 WHILE_STMT 42 REPEAT_STMT 43 RETURN_STMT 44 FOR_STMT 45 FOR_EACH_STMT 46 47 FILE 48 BLOCK 49 FUNC_BODY 50 ) 51 52 var astNames = [...]string{ 53 COMMENT: "Comment", 54 COMMENT_GROUP: "CommentGroup", 55 56 PARAM_LIST: "ParamList", 57 58 BAD_EXPR: "BadExpr", 59 NAME: "Name", 60 VARARG: "Vararg", 61 BASIC_LIT: "BasicLit", 62 FUNC_LIT: "FuncLit", 63 TABLE_LIT: "TableLit", 64 PAREN_EXPR: "ParenExpr", 65 SELECTOR_EXPR: "SelectorExpr", 66 INDEX_EXPR: "IndexExpr", 67 CALL_EXPR: "CallExpr", 68 UNARY_EXPR: "UnaryExpr", 69 BINARY_EXPR: "BinaryExpr", 70 KEY_VALUE_EXPR: "KeyValueExpr", 71 72 BAD_STMT: "BadStmt", 73 EMPTY_STMT: "EmptyStmt", 74 LOCAL_ASSIGN_STMT: "LocalAssignStmt", 75 LOCAL_FUNC_STMT: "LocalFuncStmt", 76 FUNC_STMT: "FuncStmt", 77 LABEL_STMT: "LabelStmt", 78 EXPR_STMT: "ExprStmt", 79 ASSIGN_STMT: "AssignStmt", 80 GOTO_STMT: "GotoStmt", 81 BREAK_STMT: "BreakStmt", 82 IF_STMT: "IfStmt", 83 DO_STMT: "DoStmt", 84 WHILE_STMT: "WhileStmt", 85 REPEAT_STMT: "RepeatStmt", 86 RETURN_STMT: "ReturnStmt", 87 FOR_STMT: "ForStmt", 88 FOR_EACH_STMT: "ForEachStmt", 89 90 FILE: "File", 91 BLOCK: "Block", 92 FUNC_BODY: "FuncBody", 93 }