more fields
This commit is contained in:
75
ast.h
75
ast.h
@@ -519,6 +519,81 @@ typedef struct {
|
||||
AstExtraData extra_data;
|
||||
} Ast;
|
||||
|
||||
typedef struct AstPtrType {
|
||||
AstNodeIndex sentinel;
|
||||
AstNodeIndex align_node;
|
||||
AstNodeIndex addrspace_node;
|
||||
} AstPtrType;
|
||||
|
||||
typedef struct AstPtrTypeBitRange {
|
||||
AstNodeIndex sentinel;
|
||||
AstNodeIndex align_node;
|
||||
AstNodeIndex addrspace_node;
|
||||
AstNodeIndex bit_range_start;
|
||||
AstNodeIndex bit_range_end;
|
||||
} AstPtrTypeBitRange;
|
||||
|
||||
typedef struct AstFnProtoOne {
|
||||
AstNodeIndex param;
|
||||
AstNodeIndex align_expr;
|
||||
AstNodeIndex addrspace_expr;
|
||||
AstNodeIndex section_expr;
|
||||
AstNodeIndex callconv_expr;
|
||||
} AstFnProtoOne;
|
||||
|
||||
typedef struct AstFnProto {
|
||||
AstNodeIndex params_start;
|
||||
AstNodeIndex params_end;
|
||||
AstNodeIndex align_expr;
|
||||
AstNodeIndex addrspace_expr;
|
||||
AstNodeIndex section_expr;
|
||||
AstNodeIndex callconv_expr;
|
||||
} AstFnProto;
|
||||
|
||||
typedef struct AstSubRange {
|
||||
AstNodeIndex start;
|
||||
AstNodeIndex end;
|
||||
} AstSubRange;
|
||||
|
||||
typedef struct AstSliceSentinel {
|
||||
AstNodeIndex start;
|
||||
AstNodeIndex end;
|
||||
AstNodeIndex sentinel;
|
||||
} AstSliceSentinel;
|
||||
|
||||
typedef struct AstWhileCont {
|
||||
AstNodeIndex cont_expr;
|
||||
AstNodeIndex then_expr;
|
||||
} AstWhileCont;
|
||||
|
||||
typedef struct AstWhile {
|
||||
AstNodeIndex cont_expr;
|
||||
AstNodeIndex then_expr;
|
||||
AstNodeIndex else_expr;
|
||||
} AstWhile;
|
||||
|
||||
typedef struct AstFor {
|
||||
unsigned int inputs : 31;
|
||||
unsigned int has_else : 1;
|
||||
} AstFor;
|
||||
|
||||
typedef struct AstIf {
|
||||
AstNodeIndex then_expr;
|
||||
AstNodeIndex else_expr;
|
||||
} AstIf;
|
||||
|
||||
typedef struct AstError {
|
||||
bool is_note;
|
||||
AstTokenIndex token;
|
||||
union {
|
||||
struct {
|
||||
TokenizerTag expected_tag;
|
||||
} expected;
|
||||
struct {
|
||||
} none;
|
||||
} extra;
|
||||
} AstError;
|
||||
|
||||
Ast astParse(const char* source, uint32_t len);
|
||||
|
||||
// MultiArrayList
|
||||
|
||||
Reference in New Issue
Block a user