38#ifndef YY_AX_AXPARSER_H_INCLUDED
39# define YY_AX_AXPARSER_H_INCLUDED
166#if ! defined AXSTYPE && ! defined AXSTYPE_IS_DECLARED
171 using ExpList = std::vector<openvdb::ax::ast::Expression*>;
185 openvdb::ax::ast::CommaOperator*
comma;
196# define AXSTYPE_IS_TRIVIAL 1
197# define AXSTYPE_IS_DECLARED 1
201#if ! defined AXLTYPE && ! defined AXLTYPE_IS_DECLARED
210# define AXLTYPE_IS_DECLARED 1
211# define AXLTYPE_IS_TRIVIAL 1
int axparse(openvdb::ax::ast::Tree **tree)
axtokentype
Definition: axparser.h:60
@ PLUSPLUS
Definition: axparser.h:156
@ NOT
Definition: axparser.h:154
@ VEC3D
Definition: axparser.h:93
@ BITOR
Definition: axparser.h:137
@ V_DOLLAR
Definition: axparser.h:110
@ DIVIDE
Definition: axparser.h:151
@ AXEOF
Definition: axparser.h:62
@ MINUSMINUS
Definition: axparser.h:157
@ LESSTHANOREQUAL
Definition: axparser.h:145
@ S_AT
Definition: axparser.h:100
@ UMINUS
Definition: axparser.h:153
@ SHIFTRIGHT
Definition: axparser.h:147
@ MAT3F
Definition: axparser.h:102
@ MAT3D
Definition: axparser.h:103
@ IF
Definition: axparser.h:70
@ COLON
Definition: axparser.h:123
@ MAT4D
Definition: axparser.h:105
@ M3F_AT
Definition: axparser.h:106
@ I_AT
Definition: axparser.h:98
@ WHILE
Definition: axparser.h:74
@ DOUBLE
Definition: axparser.h:83
@ BITNOT
Definition: axparser.h:155
@ MORETHANOREQUAL
Definition: axparser.h:144
@ RSQUARE
Definition: axparser.h:81
@ INT64
Definition: axparser.h:86
@ MINUSEQUALS
Definition: axparser.h:126
@ SHIFTLEFTEQUALS
Definition: axparser.h:133
@ CONTINUE
Definition: axparser.h:77
@ LSQUARE
Definition: axparser.h:80
@ BITOREQUALS
Definition: axparser.h:132
@ RETURN
Definition: axparser.h:75
@ BITXOREQUALS
Definition: axparser.h:131
@ SEMICOLON
Definition: axparser.h:67
@ M4F_AT
Definition: axparser.h:107
@ VEC3F
Definition: axparser.h:92
@ MODULOEQUALS
Definition: axparser.h:129
@ I_DOLLAR
Definition: axparser.h:109
@ PLUSEQUALS
Definition: axparser.h:125
@ LPARENS
Definition: axparser.h:158
@ RPARENS
Definition: axparser.h:159
@ EQUALSEQUALS
Definition: axparser.h:140
@ VEC2I
Definition: axparser.h:88
@ AXUNDEF
Definition: axparser.h:64
@ BITXOR
Definition: axparser.h:138
@ DOT_Y
Definition: axparser.h:113
@ BITAND
Definition: axparser.h:139
@ V_AT
Definition: axparser.h:99
@ L_INT64
Definition: axparser.h:116
@ L_STRING
Definition: axparser.h:119
@ MAT4F
Definition: axparser.h:104
@ AT
Definition: axparser.h:68
@ I16_AT
Definition: axparser.h:101
@ RCURLY
Definition: axparser.h:79
@ IDENTIFIER
Definition: axparser.h:120
@ AND
Definition: axparser.h:136
@ PLUS
Definition: axparser.h:148
@ DOLLAR
Definition: axparser.h:69
@ LESSTHAN
Definition: axparser.h:143
@ DOT_X
Definition: axparser.h:112
@ ELSE
Definition: axparser.h:71
@ L_DOUBLE
Definition: axparser.h:118
@ VEC4F
Definition: axparser.h:95
@ DIVIDEEQUALS
Definition: axparser.h:128
@ EQUALS
Definition: axparser.h:124
@ BREAK
Definition: axparser.h:76
@ OR
Definition: axparser.h:135
@ VEC4I
Definition: axparser.h:94
@ FLOAT
Definition: axparser.h:84
@ FALSE
Definition: axparser.h:66
@ LCURLY
Definition: axparser.h:78
@ MODULO
Definition: axparser.h:152
@ FOR
Definition: axparser.h:72
@ TRUE
Definition: axparser.h:65
@ MORETHAN
Definition: axparser.h:142
@ VEC2D
Definition: axparser.h:90
@ DOT_Z
Definition: axparser.h:114
@ VEC3I
Definition: axparser.h:91
@ F_AT
Definition: axparser.h:97
@ MULTIPLYEQUALS
Definition: axparser.h:127
@ DO
Definition: axparser.h:73
@ VEC4D
Definition: axparser.h:96
@ INT32
Definition: axparser.h:85
@ BITANDEQUALS
Definition: axparser.h:130
@ L_INT32
Definition: axparser.h:115
@ LOWER_THAN_ELSE
Definition: axparser.h:160
@ QUESTION
Definition: axparser.h:122
@ S_DOLLAR
Definition: axparser.h:111
@ AXerror
Definition: axparser.h:63
@ NOTEQUALS
Definition: axparser.h:141
@ L_FLOAT
Definition: axparser.h:117
@ SHIFTRIGHTEQUALS
Definition: axparser.h:134
@ MULTIPLY
Definition: axparser.h:150
@ BOOL
Definition: axparser.h:87
@ SHIFTLEFT
Definition: axparser.h:146
@ AXEMPTY
Definition: axparser.h:61
@ VEC2F
Definition: axparser.h:89
@ STRING
Definition: axparser.h:82
@ F_DOLLAR
Definition: axparser.h:108
@ MINUS
Definition: axparser.h:149
@ COMMA
Definition: axparser.h:121
enum axtokentype axtoken_kind_t
Definition: axparser.h:162
Definition: axparser.h:204
int first_column
Definition: axparser.h:206
int last_line
Definition: axparser.h:207
int last_column
Definition: axparser.h:208
int first_line
Definition: axparser.h:205
Definition: axparser.h:168
openvdb::ax::ast::Expression * expression
Definition: axparser.h:182
openvdb::ax::ast::FunctionCall * function
Definition: axparser.h:183
openvdb::ax::ast::Local * local
Definition: axparser.h:190
uint64_t index
Definition: axparser.h:174
openvdb::ax::ast::DeclareLocal * declare_local
Definition: axparser.h:189
openvdb::ax::ast::Block * block
Definition: axparser.h:181
openvdb::ax::ast::Statement * statement
Definition: axparser.h:179
openvdb::ax::ast::ArrayPack * arraypack
Definition: axparser.h:184
double flt
Definition: axparser.h:175
std::vector< openvdb::ax::ast::Expression * > ExpList
Temporary storage for comma separated expressions.
Definition: axparser.h:171
openvdb::ax::ast::Variable * variable
Definition: axparser.h:186
ExpList * explist
Definition: axparser.h:191
openvdb::ax::ast::ExternalVariable * external
Definition: axparser.h:187
openvdb::ax::ast::Tree * tree
Definition: axparser.h:177
openvdb::ax::ast::CommaOperator * comma
Definition: axparser.h:185
openvdb::ax::ast::Attribute * attribute
Definition: axparser.h:188
const char * string
Definition: axparser.h:173
openvdb::ax::ast::StatementList * statementlist
Definition: axparser.h:180
openvdb::ax::ast::ValueBase * value
Definition: axparser.h:178