Cthulhu  0.2.10
Cthulhu compiler collection
obr_t Struct Reference

#include <ast.h>

Collaboration diagram for obr_t:

Data Fields

obr_kind_t kind
 
const node_tnode
 
union {
   struct {
      union {
         char *   field
 
         unary_t   unary
 
         obr_t *   cast
 
         const vector_t *   args
 
      } 
 
      obr_t *   expr
 
   } 
 
   struct {
      obr_t *   cond
 
      vector_t *   then
 
   } 
 
   vector_t *   loop
 
   struct {
      vector_t *   repeat
 
      obr_t *   until
 
   } 
 
   struct {
      union {
         compare_t   compare
 
         binary_t   binary
 
      } 
 
      obr_t *   lhs
 
      obr_t *   rhs
 
   } 
 
   struct {
      obr_t *   dst
 
      obr_t *   src
 
   } 
 
   vector_t *   stmts
 
   struct {
      obr_t *   branch
 
      vector_t *   branch_body
 
      obr_t *   branch_else
 
   } 
 
   obr_t *   pointer
 
   struct {
      const vector_t *   sizes
 
      obr_t *   array_element
 
   } 
 
   vector_t *   fields
 
   mpz_t   digit
 
   char *   object
 
   struct {
      char *   text
 
      size_t   length
 
   } 
 
   struct {
      char *   name
 
      obr_visibility_t   visibility
 
      union {
         struct {
            const vector_t *   imports
 
            vector_t *   decls
 
            vector_t *   init
 
         } 
 
         struct {
            bool   mut
 
            obr_t *   type
 
         } 
 
         obr_t *   value
 
         struct {
            obr_t *   receiver
 
            const vector_t *   params
 
            obr_t *   result
 
            vector_t *   locals
 
            vector_t *   body
 
         } 
 
         char *   symbol
 
      } 
 
   } 
 
}; 
 

Detailed Description

Definition at line 92 of file ast.h.

Field Documentation

◆ 

union { ... }

◆ args

const vector_t* obr_t::args

Definition at line 110 of file ast.h.

◆ array_element

obr_t* obr_t::array_element

Definition at line 165 of file ast.h.

◆ binary

binary_t obr_t::binary

Definition at line 136 of file ast.h.

◆ body

vector_t* obr_t::body

Definition at line 211 of file ast.h.

◆ branch

obr_t* obr_t::branch

Definition at line 154 of file ast.h.

◆ branch_body

vector_t* obr_t::branch_body

Definition at line 155 of file ast.h.

◆ branch_else

obr_t* obr_t::branch_else

Definition at line 156 of file ast.h.

◆ cast

obr_t* obr_t::cast

Definition at line 107 of file ast.h.

◆ compare

compare_t obr_t::compare

Definition at line 135 of file ast.h.

◆ cond

obr_t* obr_t::cond

Definition at line 119 of file ast.h.

◆ decls

vector_t* obr_t::decls

Definition at line 191 of file ast.h.

◆ digit

mpz_t obr_t::digit

Definition at line 172 of file ast.h.

◆ dst

obr_t* obr_t::dst

Definition at line 145 of file ast.h.

◆ expr

obr_t* obr_t::expr

Definition at line 114 of file ast.h.

◆ field

char* obr_t::field

Definition at line 101 of file ast.h.

◆ fields

vector_t* obr_t::fields

Definition at line 169 of file ast.h.

◆ imports

const vector_t* obr_t::imports

Definition at line 190 of file ast.h.

◆ init

vector_t* obr_t::init

Definition at line 192 of file ast.h.

◆ kind

obr_kind_t obr_t::kind

Definition at line 94 of file ast.h.

◆ length

size_t obr_t::length

Definition at line 180 of file ast.h.

◆ lhs

obr_t* obr_t::lhs

Definition at line 139 of file ast.h.

◆ locals

vector_t* obr_t::locals

Definition at line 210 of file ast.h.

◆ loop

vector_t* obr_t::loop

Definition at line 124 of file ast.h.

◆ mut

bool obr_t::mut

Definition at line 197 of file ast.h.

◆ name

char* obr_t::name

Definition at line 184 of file ast.h.

◆ node

const node_t* obr_t::node

Definition at line 95 of file ast.h.

◆ object

char* obr_t::object

Definition at line 175 of file ast.h.

◆ params

const vector_t* obr_t::params

Definition at line 207 of file ast.h.

◆ pointer

obr_t* obr_t::pointer

Definition at line 160 of file ast.h.

◆ receiver

obr_t* obr_t::receiver

Definition at line 206 of file ast.h.

◆ repeat

vector_t* obr_t::repeat

Definition at line 128 of file ast.h.

◆ result

obr_t* obr_t::result

Definition at line 208 of file ast.h.

◆ rhs

obr_t* obr_t::rhs

Definition at line 140 of file ast.h.

◆ sizes

const vector_t* obr_t::sizes

Definition at line 164 of file ast.h.

◆ src

obr_t* obr_t::src

Definition at line 146 of file ast.h.

◆ stmts

vector_t* obr_t::stmts

Definition at line 150 of file ast.h.

◆ symbol

char* obr_t::symbol

Definition at line 215 of file ast.h.

◆ text

char* obr_t::text

Definition at line 179 of file ast.h.

◆ then

vector_t* obr_t::then

Definition at line 120 of file ast.h.

◆ type

obr_t* obr_t::type

Definition at line 198 of file ast.h.

◆ unary

unary_t obr_t::unary

Definition at line 104 of file ast.h.

◆ until

obr_t* obr_t::until

Definition at line 129 of file ast.h.

◆ value

obr_t* obr_t::value

Definition at line 202 of file ast.h.

◆ visibility

obr_visibility_t obr_t::visibility

Definition at line 185 of file ast.h.


The documentation for this struct was generated from the following file: