| 
| expr_t *  | address_expr (expr_t *e1, expr_t *e2, type_t *t) | 
|   | 
| expr_t *  | append_expr (expr_t *block, expr_t *e) | 
|   | 
| expr_t *  | array_expr (expr_t *array, expr_t *index) | 
|   | 
| expr_t *  | assign_expr (expr_t *e1, expr_t *e2) | 
|   | 
| expr_t *  | asx_expr (int op, expr_t *e1, expr_t *e2) | 
|   | 
| void  | backpatch (ex_list_t *list, expr_t *label) | 
|   | 
| expr_t *  | bool_expr (int op, expr_t *label, expr_t *e1, expr_t *e2) | 
|   | 
| expr_t *  | branch_expr (int op, expr_t *test, expr_t *label) | 
|   | 
| expr_t *  | build_do_while_statement (expr_t *statement, int not, expr_t *test, expr_t *break_label, expr_t *continue_label) | 
|   | 
| expr_t *  | build_for_statement (expr_t *init, expr_t *test, expr_t *next, expr_t *statement, expr_t *break_label, expr_t *continue_label) | 
|   | 
| expr_t *  | build_function_call (expr_t *fexpr, type_t *ftype, expr_t *params) | 
|   | 
| expr_t *  | build_if_statement (int not, expr_t *test, expr_t *s1, expr_t *els, expr_t *s2) | 
|   | 
| expr_t *  | build_state_expr (expr_t *e) | 
|   | 
| expr_t *  | build_while_statement (int not, expr_t *test, expr_t *statement, expr_t *break_label, expr_t *continue_label) | 
|   | 
| expr_t *  | cast_error (expr_t *e, type_t *t1, type_t *t2) | 
|   | 
| expr_t *  | cast_expr (type_t *type, expr_t *e) | 
|   | 
| expr_t *  | conditional_expr (expr_t *cond, expr_t *e1, expr_t *e2) | 
|   | 
| expr_t *  | constant_expr (expr_t *e) | 
|   | Return a value expression representing the constant stored in e.  More...
  | 
|   | 
| expr_t *  | convert_bool (expr_t *e, int block) | 
|   | 
| expr_t *  | convert_from_bool (expr_t *e, type_t *type) | 
|   | 
| void  | convert_int (expr_t *e) | 
|   | 
| void  | convert_name (expr_t *e) | 
|   | Convert a name to an expression of the appropriate type.  More...
  | 
|   | 
| void  | convert_nil (expr_t *e, type_t *t) | 
|   | 
| void  | convert_short (expr_t *e) | 
|   | 
| void  | convert_short_int (expr_t *e) | 
|   | 
| expr_t *  | convert_vector (expr_t *e) | 
|   | 
| expr_t *  | copy_expr (expr_t *e) | 
|   | Create a deep copy of an expression tree.  More...
  | 
|   | 
| expr_t *  | encode_expr (type_t *type) | 
|   | 
| float  | expr_float (expr_t *e) | 
|   | 
| int  | expr_integer (expr_t *e) | 
|   | 
| const float *  | expr_quaternion (expr_t *e) | 
|   | 
| short  | expr_short (expr_t *e) | 
|   | 
| const char *  | expr_string (expr_t *e) | 
|   | 
| unsigned  | expr_uinteger (expr_t *e) | 
|   | 
| const float *  | expr_vector (expr_t *e) | 
|   | 
| etype_t  | extract_type (expr_t *e) | 
|   | Get the basic type code of the expression result.  More...
  | 
|   | 
| expr_t *  | field_expr (expr_t *e1, expr_t *e2) | 
|   | 
| expr_t *  | function_expr (expr_t *fexpr, expr_t *params) | 
|   | 
| type_t *  | get_type (expr_t *e) | 
|   | Get the type descriptor of the expression result.  More...
  | 
|   | 
| expr_t *  | goto_expr (expr_t *label) | 
|   | 
| int  | has_function_call (expr_t *e) | 
|   | 
| expr_t *  | incop_expr (int op, expr_t *e, int postop) | 
|   | 
| int  | is_compare (int op) | 
|   | Check if the op-code is a comparison.  More...
  | 
|   | 
| int  | is_constant (expr_t *e) | 
|   | Check of the expression refers to a constant value.  More...
  | 
|   | 
| int  | is_float_val (expr_t *e) | 
|   | 
| int  | is_integer_val (expr_t *e) | 
|   | 
| int  | is_logic (int op) | 
|   | Check if the op-code is a logic operator.  More...
  | 
|   | 
| int  | is_math_op (int op) | 
|   | Check if the op-code is a math operator.  More...
  | 
|   | 
| int  | is_quaternion_val (expr_t *e) | 
|   | 
| int  | is_short_val (expr_t *e) | 
|   | 
| int  | is_string_val (expr_t *e) | 
|   | 
| int  | is_vector_val (expr_t *e) | 
|   | 
| expr_t *  | message_expr (expr_t *receiver, keywordarg_t *message) | 
|   | 
| expr_t *  | new_alias_expr (type_t *type, expr_t *expr) | 
|   | 
| expr_t *  | new_binary_expr (int op, expr_t *e1, expr_t *e2) | 
|   | Create a new binary expression node node.  More...
  | 
|   | 
| expr_t *  | new_block_expr (void) | 
|   | Create a new statement block expression node.  More...
  | 
|   | 
| expr_t *  | new_bool_expr (ex_list_t *true_list, ex_list_t *false_list, expr_t *e) | 
|   | 
| expr_t *  | new_entity_expr (int entity_val) | 
|   | Create a new entity constant expression node.  More...
  | 
|   | 
| expr_t *  | new_expr (void) | 
|   | Create a new expression node.  More...
  | 
|   | 
| expr_t *  | new_field_expr (int field_val, type_t *type, def_t *def) | 
|   | Create a new field constant expression node.  More...
  | 
|   | 
| expr_t *  | new_float_expr (float float_val) | 
|   | Create a new float constant expression node.  More...
  | 
|   | 
| expr_t *  | new_func_expr (int func_val, type_t *type) | 
|   | Create a new function constant expression node.  More...
  | 
|   | 
| expr_t *  | new_integer_expr (int integer_val) | 
|   | Create a new integer constant expression node.  More...
  | 
|   | 
| expr_t *  | new_label_expr (void) | 
|   | Create a new label expression node.  More...
  | 
|   | 
| const char *  | new_label_name (void) | 
|   | Create a new label name.  More...
  | 
|   | 
| expr_t *  | new_label_ref (ex_label_t *label) | 
|   | Create a new label reference expression node.  More...
  | 
|   | 
| expr_t *  | new_move_expr (expr_t *e1, expr_t *e2, type_t *type, int indirect) | 
|   | Create an expression representing a block copy.  More...
  | 
|   | 
| expr_t *  | new_name_expr (const char *name) | 
|   | Create a new symbol expression node from a name.  More...
  | 
|   | 
| expr_t *  | new_nil_expr (void) | 
|   | Create a new nil expression node.  More...
  | 
|   | 
| expr_t *  | new_param_expr (type_t *type, int num) | 
|   | Create an expression of the correct type that references the specified parameter slot.  More...
  | 
|   | 
| expr_t *  | new_pointer_expr (int val, type_t *type, def_t *def) | 
|   | Create a new pointer constant expression node.  More...
  | 
|   | 
| expr_t *  | new_quaternion_expr (const float *quaternion_val) | 
|   | Create a new quaternion constant expression node.  More...
  | 
|   | 
| expr_t *  | new_ret_expr (type_t *type) | 
|   | Create an expression of the correct type that references the return slot.  More...
  | 
|   | 
| expr_t *  | new_self_expr (void) | 
|   | Create a reference to the global .self entity variable.  More...
  | 
|   | 
| expr_t *  | new_short_expr (short short_val) | 
|   | Create a new short constant expression node.  More...
  | 
|   | 
| expr_t *  | new_state_expr (expr_t *frame, expr_t *think, expr_t *step) | 
|   | Create a new state expression node.  More...
  | 
|   | 
| expr_t *  | new_string_expr (const char *string_val) | 
|   | Create a new string constant expression node.  More...
  | 
|   | 
| expr_t *  | new_symbol_expr (symbol_t *symbol) | 
|   | Create a new symbol reference (non-temporary variable) expression node.  More...
  | 
|   | 
| expr_t *  | new_temp_def_expr (type_t *type) | 
|   | Create a new temporary variable expression node.  More...
  | 
|   | 
| expr_t *  | new_this_expr (void) | 
|   | Create a reference to the .this entity field.  More...
  | 
|   | 
| expr_t *  | new_uinteger_expr (unsigned uinteger_val) | 
|   | Create a new integer constant expression node.  More...
  | 
|   | 
| expr_t *  | new_unary_expr (int op, expr_t *e1) | 
|   | Create a new unary expression node node.  More...
  | 
|   | 
| expr_t *  | new_value_expr (ex_value_t *value) | 
|   | Create a new value expression node.  More...
  | 
|   | 
| expr_t *  | new_vector_expr (const float *vector_val) | 
|   | Create a new vector constant expression node.  More...
  | 
|   | 
| expr_t *  | new_vector_list (expr_t *e) | 
|   | 
| expr_t *  | param_mismatch (expr_t *e, int param, const char *fn, type_t *t1, type_t *t2) | 
|   | 
| expr_t *  | pointer_expr (expr_t *pointer) | 
|   | 
| expr_t *  | protocol_expr (const char *protocol) | 
|   | 
| expr_t *  | return_expr (function_t *f, expr_t *e) | 
|   | 
| expr_t *  | reverse_expr_list (expr_t *e) | 
|   | 
| expr_t *  | selector_expr (keywordarg_t *selector) | 
|   | 
| expr_t *  | sizeof_expr (expr_t *expr, struct type_s *type) | 
|   | 
| expr_t *  | super_expr (class_type_t *class_type) | 
|   | 
| expr_t *  | test_error (expr_t *e, type_t *t) | 
|   | 
| expr_t *  | test_expr (expr_t *e) | 
|   | 
| expr_t *  | think_expr (symbol_t *think_sym) | 
|   | 
| expr_t *  | type_mismatch (expr_t *e1, expr_t *e2, int op) | 
|   | Report a type mismatch error.  More...
  | 
|   | 
| expr_t *  | unary_expr (int op, expr_t *e) | 
|   |