Cthulhu  0.2.10
Cthulhu compiler collection
pl0_t Struct Reference

#include <ast.h>

Collaboration diagram for pl0_t:

Data Fields

pl0_type_t type
 
const node_tnode
 
union {
   mpz_t   digit
 
   const char *   ident
 
   const char *   procedure
 
   struct pl0_t *   print
 
   struct {
      unary_t   unary
 
      struct pl0_t *   operand
 
   } 
 
   struct {
      struct pl0_t *   lhs
 
      struct pl0_t *   rhs
 
      union {
         binary_t   binary
 
         compare_t   compare
 
      } 
 
   } 
 
   struct {
      const char *   dst
 
      struct pl0_t *   src
 
   } 
 
   struct {
      struct pl0_t *   cond
 
      struct pl0_t *   then
 
   } 
 
   vector_t *   stmts
 
   struct {
      const char *   name
 
      union {
         struct {
            vector_t *   locals
 
            vector_t *   body
 
         } 
 
         struct pl0_t *   value
 
      } 
 
   } 
 
   vector_t *   path
 
   struct {
      const vector_t *   consts
 
      const vector_t *   globals
 
      const vector_t *   procs
 
      const vector_t *   mod
 
      const vector_t *   imports
 
      struct pl0_t *   entry
 
   } 
 
}; 
 

Detailed Description

Definition at line 23 of file ast.h.

Field Documentation

◆ 

union { ... }

◆ binary

binary_t pl0_t::binary

Definition at line 55 of file ast.h.

◆ body

vector_t* pl0_t::body

Definition at line 90 of file ast.h.

◆ compare

compare_t pl0_t::compare

Definition at line 56 of file ast.h.

◆ cond

struct pl0_t* pl0_t::cond

Definition at line 70 of file ast.h.

◆ consts

const vector_t* pl0_t::consts

Definition at line 104 of file ast.h.

◆ digit

mpz_t pl0_t::digit

Definition at line 30 of file ast.h.

◆ dst

const char* pl0_t::dst

Definition at line 63 of file ast.h.

◆ entry

struct pl0_t* pl0_t::entry

Definition at line 119 of file ast.h.

◆ globals

const vector_t* pl0_t::globals

Definition at line 107 of file ast.h.

◆ ident

const char* pl0_t::ident

Definition at line 33 of file ast.h.

◆ imports

const vector_t* pl0_t::imports

Definition at line 116 of file ast.h.

◆ lhs

struct pl0_t* pl0_t::lhs

Definition at line 51 of file ast.h.

◆ locals

vector_t* pl0_t::locals

Definition at line 87 of file ast.h.

◆ mod

const vector_t* pl0_t::mod

Definition at line 113 of file ast.h.

◆ name

const char* pl0_t::name

Definition at line 80 of file ast.h.

◆ node

const node_t* pl0_t::node

Definition at line 26 of file ast.h.

◆ operand

struct pl0_t* pl0_t::operand

Definition at line 45 of file ast.h.

◆ path

vector_t* pl0_t::path

Definition at line 99 of file ast.h.

◆ print

struct pl0_t* pl0_t::print

Definition at line 39 of file ast.h.

◆ procedure

const char* pl0_t::procedure

Definition at line 36 of file ast.h.

◆ procs

const vector_t* pl0_t::procs

Definition at line 110 of file ast.h.

◆ rhs

struct pl0_t* pl0_t::rhs

Definition at line 52 of file ast.h.

◆ src

struct pl0_t* pl0_t::src

Definition at line 64 of file ast.h.

◆ stmts

vector_t* pl0_t::stmts

Definition at line 75 of file ast.h.

◆ then

struct pl0_t* pl0_t::then

Definition at line 71 of file ast.h.

◆ type

pl0_type_t pl0_t::type

Definition at line 25 of file ast.h.

◆ unary

unary_t pl0_t::unary

Definition at line 44 of file ast.h.

◆ value

struct pl0_t* pl0_t::value

Definition at line 94 of file ast.h.


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