V抽象语法树
v ast子命令
v ast main.v //生成json格式的AST语法树文件main.json
v ast -w main.v //生成main.json,并且监控源文件变化,保存后自动重新生成
v ast -c main.v //同时生成AST语法树文件main.json和C源代码main.c,并监控源文件变化,保存后自动重新生成
v ast -p main.v //直接在终端中输出AST语法树
v ast -t main.v //输出简洁版的AST语法树文件main.json[]语法树结构体总览

ast.File语法树文件
Module 模块
Const 常量
Enum 枚举
Variable 变量
Assign 变量赋值语句
Identifier 标识符
Literal 字面量
AsCast as造型语句
SizeOf sizeof语句
TypeOf typeof语句
CastExpr 造型表达式
Array 数组
ArrayInit 数组初始化语句
IndexExpr 索引表达式
RangeExpr 数组区间表达式
ArrayDecompose 数组解构
Map 字典
MapInit 字典初始化
Operator 操作符
PrefixExpr 前缀表达式
InfixExpr 中缀表达式
PostfixExpr 后缀表达式
SelectorExpr 选择器表达式
ParExpr 括号表达式
ConcatExpr 连接表达式
Function 函数
FnDecl 函数声明
AnonFn 匿名函数
DeferStmt 函数defer语句
Struct 结构体
StructDecl 结构体声明语句
StructInit 结构体初始化表达式
Interface 接口
InterfaceDecl 接口声明语句
Type 类型
AliasType 类型别名声明语句
FunctionType 函数类型声明语句
Sumtype 联合类型
TypeNode 类型表达式
FlowControl 流程控制
Block 代码块语句
if 条件语句
match 分支匹配
for 循环语句
goto 跳转语句
Error handle 错误控制
Concurrent 并发
ChanInit 通道初始化
SelectExpr 通道监听表达式
LockExpr 并发锁表达式
GoExpr 并发表达式
Unsafe 不安全代码
ASM 汇编
SQL SQL语句
TestAssert 测试断言
AssertStmt 测试断言语句
DumpExpr 转储函数表达式
Compile time 编译时
CompFor 编译时循环语句
AtExpr at全局常量表达式
C Integration C代码互操作
GlobalDecl 全局变量声明
HashStmt C宏指令语句
Likely likely表达式
OffsetOf 结构体字段内存偏移量
Comment 注释
Other 其他
Empty 空语句/表达式
NodeError 错误节点
最后更新于