TDDE66 Compiler Construction
HT2024
Contents:
Description of DIESEL
Overview of the Compiler
The Lab Environment
Lab 0: Grammars and Formal Languages
Lab 1: Lexical Analysis
Lab 2 : Symbol Table
Lab 3: Attribute-Directed Translation
Lab 4 : Type Checking and Semantic Analysis
Lab 5: Optimization
Lab 6: Intermediary Code
Lab 7: Memory Management and Intel Assembler
Changelog
Source Documentation
TDDE66 Compiler Construction
Index
Index
A
|
B
|
C
|
D
|
E
|
F
|
H
|
I
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
Y
A
array_symbol (C++ class)
array_symbol::array_cardinality (C++ member)
array_symbol::array_symbol (C++ function)
array_symbol::get_array_symbol (C++ function)
array_symbol::index_type (C++ member)
array_symbol::print (C++ function)
assembler (C++ member)
assembler_trace (C++ member)
,
[1]
ast_add (C++ class)
ast_add::ast_add (C++ function)
ast_add::generate_quads (C++ function)
ast_add::get_ast_binaryoperation (C++ function)
ast_add::optimize (C++ function)
ast_add::print (C++ function)
ast_add::type_check (C++ function)
ast_and (C++ class)
ast_and::ast_and (C++ function)
ast_and::generate_quads (C++ function)
ast_and::get_ast_binaryoperation (C++ function)
ast_and::optimize (C++ function)
ast_and::print (C++ function)
ast_and::type_check (C++ function)
ast_assign (C++ class)
ast_assign::ast_assign (C++ function)
ast_assign::generate_quads (C++ function)
ast_assign::lhs (C++ member)
ast_assign::optimize (C++ function)
ast_assign::print (C++ function)
ast_assign::rhs (C++ member)
ast_assign::type_check (C++ function)
ast_binaryoperation (C++ class)
ast_binaryoperation::ast_binaryoperation (C++ function)
ast_binaryoperation::generate_quads (C++ function)
ast_binaryoperation::get_ast_binaryoperation (C++ function)
ast_binaryoperation::left (C++ member)
ast_binaryoperation::optimize (C++ function)
ast_binaryoperation::print (C++ function)
ast_binaryoperation::right (C++ member)
ast_binaryoperation::type_check (C++ function)
ast_binaryoperation::xprint (C++ function)
ast_binaryrelation (C++ class)
ast_binaryrelation::ast_binaryrelation (C++ function)
ast_binaryrelation::generate_quads (C++ function)
ast_binaryrelation::left (C++ member)
ast_binaryrelation::optimize (C++ function)
ast_binaryrelation::print (C++ function)
ast_binaryrelation::right (C++ member)
ast_binaryrelation::type_check (C++ function)
ast_binaryrelation::xprint (C++ function)
ast_cast (C++ class)
ast_cast::ast_cast (C++ function)
ast_cast::expr (C++ member)
ast_cast::generate_quads (C++ function)
ast_cast::get_ast_cast (C++ function)
ast_cast::optimize (C++ function)
ast_cast::print (C++ function)
ast_divide (C++ class)
ast_divide::ast_divide (C++ function)
ast_divide::generate_quads (C++ function)
ast_divide::get_ast_binaryoperation (C++ function)
ast_divide::optimize (C++ function)
ast_divide::print (C++ function)
ast_divide::type_check (C++ function)
ast_elsif (C++ class)
ast_elsif::ast_elsif (C++ function)
ast_elsif::body (C++ member)
ast_elsif::condition (C++ member)
ast_elsif::generate_quads (C++ function)
ast_elsif::generate_quads_and_jump (C++ function)
ast_elsif::optimize (C++ function)
ast_elsif::print (C++ function)
ast_elsif::type_check (C++ function)
ast_elsif_list (C++ class)
ast_elsif_list::ast_elsif_list (C++ function)
,
[1]
ast_elsif_list::generate_quads (C++ function)
ast_elsif_list::generate_quads_and_jump (C++ function)
ast_elsif_list::last_elsif (C++ member)
ast_elsif_list::optimize (C++ function)
ast_elsif_list::preceding (C++ member)
ast_elsif_list::print (C++ function)
ast_elsif_list::type_check (C++ function)
ast_equal (C++ class)
ast_equal::ast_equal (C++ function)
ast_equal::generate_quads (C++ function)
ast_equal::optimize (C++ function)
ast_equal::print (C++ function)
ast_equal::type_check (C++ function)
ast_expr_list (C++ class)
ast_expr_list::ast_expr_list (C++ function)
,
[1]
ast_expr_list::generate_parameter_list (C++ function)
ast_expr_list::generate_quads (C++ function)
ast_expr_list::last_expr (C++ member)
ast_expr_list::optimize (C++ function)
ast_expr_list::preceding (C++ member)
ast_expr_list::print (C++ function)
ast_expr_list::type_check (C++ function)
ast_expression (C++ class)
ast_expression::ast_expression (C++ function)
,
[1]
ast_expression::generate_quads (C++ function)
ast_expression::get_ast_binaryoperation (C++ function)
ast_expression::get_ast_cast (C++ function)
ast_expression::get_ast_id (C++ function)
ast_expression::get_ast_integer (C++ function)
ast_expression::get_ast_real (C++ function)
ast_expression::optimize (C++ function)
ast_expression::print (C++ function)
ast_expression::type (C++ member)
ast_expression::type_check (C++ function)
ast_functioncall (C++ class)
ast_functioncall::ast_functioncall (C++ function)
ast_functioncall::generate_quads (C++ function)
ast_functioncall::id (C++ member)
ast_functioncall::optimize (C++ function)
ast_functioncall::parameter_list (C++ member)
ast_functioncall::print (C++ function)
ast_functioncall::type_check (C++ function)
ast_functionhead (C++ class)
ast_functionhead::ast_functionhead (C++ function)
ast_functionhead::do_quads (C++ function)
,
[1]
ast_functionhead::generate_quads (C++ function)
ast_functionhead::optimize (C++ function)
ast_functionhead::print (C++ function)
ast_functionhead::sym_p (C++ member)
ast_greaterthan (C++ class)
ast_greaterthan::ast_greaterthan (C++ function)
ast_greaterthan::generate_quads (C++ function)
ast_greaterthan::optimize (C++ function)
ast_greaterthan::print (C++ function)
ast_greaterthan::type_check (C++ function)
ast_id (C++ class)
ast_id::ast_id (C++ function)
,
[1]
ast_id::generate_assignment (C++ function)
ast_id::generate_quads (C++ function)
ast_id::get_ast_id (C++ function)
ast_id::optimize (C++ function)
ast_id::print (C++ function)
ast_id::sym_p (C++ member)
ast_id::type_check (C++ function)
ast_idiv (C++ class)
ast_idiv::ast_idiv (C++ function)
ast_idiv::generate_quads (C++ function)
ast_idiv::get_ast_binaryoperation (C++ function)
ast_idiv::optimize (C++ function)
ast_idiv::print (C++ function)
ast_idiv::type_check (C++ function)
ast_if (C++ class)
ast_if::ast_if (C++ function)
ast_if::body (C++ member)
ast_if::condition (C++ member)
ast_if::else_body (C++ member)
ast_if::elsif_list (C++ member)
ast_if::generate_quads (C++ function)
ast_if::optimize (C++ function)
ast_if::print (C++ function)
ast_if::type_check (C++ function)
ast_indexed (C++ class)
ast_indexed::ast_indexed (C++ function)
ast_indexed::generate_assignment (C++ function)
ast_indexed::generate_quads (C++ function)
ast_indexed::id (C++ member)
ast_indexed::index (C++ member)
ast_indexed::optimize (C++ function)
ast_indexed::print (C++ function)
ast_indexed::type_check (C++ function)
ast_integer (C++ class)
ast_integer::ast_integer (C++ function)
ast_integer::generate_quads (C++ function)
ast_integer::get_ast_integer (C++ function)
ast_integer::optimize (C++ function)
ast_integer::print (C++ function)
ast_integer::type_check (C++ function)
ast_integer::value (C++ member)
ast_lessthan (C++ class)
ast_lessthan::ast_lessthan (C++ function)
ast_lessthan::generate_quads (C++ function)
ast_lessthan::optimize (C++ function)
ast_lessthan::print (C++ function)
ast_lessthan::type_check (C++ function)
ast_lvalue (C++ class)
ast_lvalue::ast_lvalue (C++ function)
,
[1]
ast_lvalue::generate_assignment (C++ function)
ast_lvalue::generate_quads (C++ function)
ast_lvalue::optimize (C++ function)
ast_lvalue::print (C++ function)
ast_lvalue::type_check (C++ function)
ast_mod (C++ class)
ast_mod::ast_mod (C++ function)
ast_mod::generate_quads (C++ function)
ast_mod::get_ast_binaryoperation (C++ function)
ast_mod::optimize (C++ function)
ast_mod::print (C++ function)
ast_mod::type_check (C++ function)
ast_mult (C++ class)
ast_mult::ast_mult (C++ function)
ast_mult::generate_quads (C++ function)
ast_mult::get_ast_binaryoperation (C++ function)
ast_mult::optimize (C++ function)
ast_mult::print (C++ function)
ast_mult::type_check (C++ function)
ast_node (C++ class)
ast_node::ast_node (C++ function)
ast_node::begin_child (C++ function)
ast_node::branches (C++ member)
ast_node::end_child (C++ function)
ast_node::generate_quads (C++ function)
ast_node::indent (C++ function)
ast_node::indent_less (C++ function)
ast_node::indent_level (C++ member)
ast_node::indent_more (C++ function)
ast_node::last_child (C++ function)
ast_node::operator<< (C++ function)
ast_node::optimize (C++ function)
ast_node::pos (C++ member)
ast_node::print (C++ function)
ast_node::tag (C++ member)
ast_node::type_check (C++ function)
ast_node::xprint (C++ function)
ast_node_type (C++ type)
ast_node_types (C++ enum)
ast_node_types::AST_ADD (C++ enumerator)
ast_node_types::AST_AND (C++ enumerator)
ast_node_types::AST_ASSIGN (C++ enumerator)
ast_node_types::AST_BINARYOPERATION (C++ enumerator)
ast_node_types::AST_BINARYRELATION (C++ enumerator)
ast_node_types::AST_CAST (C++ enumerator)
ast_node_types::AST_DIVIDE (C++ enumerator)
ast_node_types::AST_ELSIF (C++ enumerator)
ast_node_types::AST_ELSIF_LIST (C++ enumerator)
ast_node_types::AST_EQUAL (C++ enumerator)
ast_node_types::AST_EXPR_LIST (C++ enumerator)
ast_node_types::AST_EXPRESSION (C++ enumerator)
ast_node_types::AST_FUNCTIONCALL (C++ enumerator)
ast_node_types::AST_FUNCTIONHEAD (C++ enumerator)
ast_node_types::AST_GREATERTHAN (C++ enumerator)
ast_node_types::AST_ID (C++ enumerator)
ast_node_types::AST_IDIV (C++ enumerator)
ast_node_types::AST_IF (C++ enumerator)
ast_node_types::AST_INDEXED (C++ enumerator)
ast_node_types::AST_INTEGER (C++ enumerator)
ast_node_types::AST_LESSTHAN (C++ enumerator)
ast_node_types::AST_LVALUE (C++ enumerator)
ast_node_types::AST_MOD (C++ enumerator)
ast_node_types::AST_MULT (C++ enumerator)
ast_node_types::AST_NODE (C++ enumerator)
ast_node_types::AST_NOT (C++ enumerator)
ast_node_types::AST_NOTEQUAL (C++ enumerator)
ast_node_types::AST_OR (C++ enumerator)
ast_node_types::AST_PARAMETER (C++ enumerator)
ast_node_types::AST_PROCEDURECALL (C++ enumerator)
ast_node_types::AST_PROCEDUREHEAD (C++ enumerator)
ast_node_types::AST_REAL (C++ enumerator)
ast_node_types::AST_RETURN (C++ enumerator)
ast_node_types::AST_STATEMENT (C++ enumerator)
ast_node_types::AST_STMT_LIST (C++ enumerator)
ast_node_types::AST_SUB (C++ enumerator)
ast_node_types::AST_UMINUS (C++ enumerator)
ast_node_types::AST_WHILE (C++ enumerator)
ast_not (C++ class)
ast_not::ast_not (C++ function)
ast_not::expr (C++ member)
ast_not::generate_quads (C++ function)
ast_not::optimize (C++ function)
ast_not::print (C++ function)
ast_not::type_check (C++ function)
ast_notequal (C++ class)
ast_notequal::ast_notequal (C++ function)
ast_notequal::generate_quads (C++ function)
ast_notequal::optimize (C++ function)
ast_notequal::print (C++ function)
ast_notequal::type_check (C++ function)
ast_optimizer (C++ class)
ast_optimizer::do_optimize (C++ function)
ast_optimizer::fold_constants (C++ function)
ast_optimizer::is_binop (C++ function)
ast_or (C++ class)
ast_or::ast_or (C++ function)
ast_or::generate_quads (C++ function)
ast_or::get_ast_binaryoperation (C++ function)
ast_or::optimize (C++ function)
ast_or::print (C++ function)
ast_or::type_check (C++ function)
ast_procedurecall (C++ class)
ast_procedurecall::ast_procedurecall (C++ function)
ast_procedurecall::generate_quads (C++ function)
ast_procedurecall::id (C++ member)
ast_procedurecall::optimize (C++ function)
ast_procedurecall::parameter_list (C++ member)
ast_procedurecall::print (C++ function)
ast_procedurecall::type_check (C++ function)
ast_procedurehead (C++ class)
ast_procedurehead::ast_procedurehead (C++ function)
ast_procedurehead::do_quads (C++ function)
,
[1]
ast_procedurehead::generate_quads (C++ function)
ast_procedurehead::optimize (C++ function)
ast_procedurehead::print (C++ function)
ast_procedurehead::sym_p (C++ member)
ast_real (C++ class)
ast_real::ast_real (C++ function)
ast_real::generate_quads (C++ function)
ast_real::get_ast_real (C++ function)
ast_real::optimize (C++ function)
ast_real::print (C++ function)
ast_real::type_check (C++ function)
ast_real::value (C++ member)
ast_return (C++ class)
ast_return::ast_return (C++ function)
,
[1]
ast_return::generate_quads (C++ function)
ast_return::optimize (C++ function)
ast_return::print (C++ function)
ast_return::type_check (C++ function)
ast_return::value (C++ member)
ast_statement (C++ class)
ast_statement::ast_statement (C++ function)
ast_statement::generate_quads (C++ function)
ast_statement::optimize (C++ function)
ast_statement::print (C++ function)
ast_statement::type_check (C++ function)
ast_stmt_list (C++ class)
ast_stmt_list::ast_stmt_list (C++ function)
,
[1]
ast_stmt_list::generate_quads (C++ function)
ast_stmt_list::last_stmt (C++ member)
ast_stmt_list::optimize (C++ function)
ast_stmt_list::preceding (C++ member)
ast_stmt_list::print (C++ function)
ast_stmt_list::type_check (C++ function)
ast_sub (C++ class)
ast_sub::ast_sub (C++ function)
ast_sub::generate_quads (C++ function)
ast_sub::get_ast_binaryoperation (C++ function)
ast_sub::optimize (C++ function)
ast_sub::print (C++ function)
ast_sub::type_check (C++ function)
ast_uminus (C++ class)
ast_uminus::ast_uminus (C++ function)
ast_uminus::expr (C++ member)
ast_uminus::generate_quads (C++ function)
ast_uminus::optimize (C++ function)
ast_uminus::print (C++ function)
ast_uminus::type_check (C++ function)
ast_while (C++ class)
ast_while::ast_while (C++ function)
ast_while::body (C++ member)
ast_while::condition (C++ member)
ast_while::generate_quads (C++ function)
ast_while::optimize (C++ function)
ast_while::print (C++ function)
ast_while::type_check (C++ function)
B
BASE_POOL_SIZE (C++ member)
,
[1]
block_level (C++ type)
C
code_gen (C++ member)
code_generator (C++ class)
code_generator::align (C++ function)
code_generator::array_address (C++ function)
,
[1]
code_generator::code_generator (C++ function)
code_generator::epilogue (C++ function)
,
[1]
code_generator::expand (C++ function)
,
[1]
code_generator::fetch (C++ function)
,
[1]
code_generator::fetch_float (C++ function)
,
[1]
code_generator::find (C++ function)
,
[1]
code_generator::frame_address (C++ function)
,
[1]
code_generator::generate_assembler (C++ function)
code_generator::out (C++ member)
code_generator::prologue (C++ function)
,
[1]
code_generator::reg (C++ member)
code_generator::store (C++ function)
,
[1]
code_generator::store_float (C++ function)
,
[1]
code_generator::~code_generator (C++ function)
constant_symbol (C++ class)
constant_symbol::const_value (C++ member)
constant_symbol::constant_symbol (C++ function)
constant_symbol::get_constant_symbol (C++ function)
constant_symbol::print (C++ function)
constant_value (C++ union)
constant_value::ival (C++ member)
constant_value::rval (C++ member)
D
debug (C++ function)
,
[1]
,
[2]
,
[3]
E
error (C++ function)
,
[1]
,
[2]
,
[3]
error_count (C++ member)
,
[1]
,
[2]
F
fatal (C++ function)
,
[1]
function_symbol (C++ class)
function_symbol::ar_size (C++ member)
function_symbol::function_symbol (C++ function)
function_symbol::get_function_symbol (C++ function)
function_symbol::label_nr (C++ member)
function_symbol::last_parameter (C++ member)
function_symbol::print (C++ function)
H
has_return (C++ member)
hash_index (C++ type)
I
ILLEGAL_ARRAY_CARD (C++ member)
,
[1]
integer_type (C++ member)
,
[1]
L
long_symbols (C++ function)
,
[1]
M
main (C++ function)
MAX_BLOCK (C++ member)
,
[1]
MAX_HASH (C++ member)
,
[1]
MAX_PARAMETERS (C++ member)
MAX_SYM (C++ member)
,
[1]
MAX_TEMP_VAR_LENGTH (C++ member)
MAX_TEMP_VARS (C++ member)
myputchar (C++ function)
N
nametype_symbol (C++ class)
nametype_symbol::get_nametype_symbol (C++ function)
nametype_symbol::nametype_symbol (C++ function)
nametype_symbol::print (C++ function)
NR_SYMS (C macro)
NULL_SYM (C++ member)
,
[1]
O
operator<< (C++ function)
,
[1]
,
[2]
,
[3]
,
[4]
,
[5]
optimize (C++ member)
optimizer (C++ member)
,
[1]
P
parameter_symbol (C++ class)
parameter_symbol::get_parameter_symbol (C++ function)
parameter_symbol::parameter_symbol (C++ function)
parameter_symbol::preceding (C++ member)
parameter_symbol::print (C++ function)
parameter_symbol::size (C++ member)
pool_index (C++ type)
position_information (C++ class)
position_information::column (C++ member)
position_information::get_column (C++ function)
position_information::get_line (C++ function)
position_information::line (C++ member)
position_information::position_information (C++ function)
,
[1]
print_ast (C++ member)
print_quads (C++ member)
procedure_symbol (C++ class)
procedure_symbol::ar_size (C++ member)
procedure_symbol::get_procedure_symbol (C++ function)
procedure_symbol::label_nr (C++ member)
procedure_symbol::last_parameter (C++ member)
procedure_symbol::print (C++ function)
procedure_symbol::procedure_symbol (C++ function)
Q
quad_list (C++ class)
quad_list::head (C++ member)
quad_list::last_label (C++ member)
quad_list::operator+= (C++ function)
quad_list::operator<< (C++ function)
quad_list::print (C++ function)
quad_list::quad_list (C++ function)
quad_list::quad_nr (C++ member)
quad_list::tail (C++ member)
quad_list_element (C++ class)
quad_list_element::data (C++ member)
quad_list_element::next (C++ member)
quad_list_element::quad_list_element (C++ function)
quad_list_iterator (C++ class)
quad_list_iterator::current (C++ member)
quad_list_iterator::get_current (C++ function)
quad_list_iterator::get_next (C++ function)
quad_list_iterator::quad_list_iterator (C++ function)
quad_op_type (C++ enum)
quad_op_type::q_call (C++ enumerator)
quad_op_type::q_iand (C++ enumerator)
quad_op_type::q_iassign (C++ enumerator)
quad_op_type::q_idivide (C++ enumerator)
quad_op_type::q_ieq (C++ enumerator)
quad_op_type::q_igt (C++ enumerator)
quad_op_type::q_iload (C++ enumerator)
quad_op_type::q_ilt (C++ enumerator)
quad_op_type::q_iminus (C++ enumerator)
quad_op_type::q_imod (C++ enumerator)
quad_op_type::q_imult (C++ enumerator)
quad_op_type::q_ine (C++ enumerator)
quad_op_type::q_inot (C++ enumerator)
quad_op_type::q_ior (C++ enumerator)
quad_op_type::q_iplus (C++ enumerator)
quad_op_type::q_ireturn (C++ enumerator)
quad_op_type::q_irindex (C++ enumerator)
quad_op_type::q_istore (C++ enumerator)
quad_op_type::q_itor (C++ enumerator)
quad_op_type::q_iuminus (C++ enumerator)
quad_op_type::q_jmp (C++ enumerator)
quad_op_type::q_jmpf (C++ enumerator)
quad_op_type::q_labl (C++ enumerator)
quad_op_type::q_lindex (C++ enumerator)
quad_op_type::q_nop (C++ enumerator)
quad_op_type::q_param (C++ enumerator)
quad_op_type::q_rassign (C++ enumerator)
quad_op_type::q_rdivide (C++ enumerator)
quad_op_type::q_req (C++ enumerator)
quad_op_type::q_rgt (C++ enumerator)
quad_op_type::q_rload (C++ enumerator)
quad_op_type::q_rlt (C++ enumerator)
quad_op_type::q_rminus (C++ enumerator)
quad_op_type::q_rmult (C++ enumerator)
quad_op_type::q_rne (C++ enumerator)
quad_op_type::q_rplus (C++ enumerator)
quad_op_type::q_rreturn (C++ enumerator)
quad_op_type::q_rrindex (C++ enumerator)
quad_op_type::q_rstore (C++ enumerator)
quad_op_type::q_ruminus (C++ enumerator)
quadruple (C++ class)
quadruple::int1 (C++ member)
quadruple::int2 (C++ member)
quadruple::int3 (C++ member)
quadruple::op_code (C++ member)
quadruple::operator<< (C++ function)
quadruple::print (C++ function)
quadruple::quadruple (C++ function)
quadruple::sym1 (C++ member)
quadruple::sym2 (C++ member)
quadruple::sym3 (C++ member)
quads (C++ member)
R
real_type (C++ member)
,
[1]
register_type (C++ enum)
register_type::RAX (C++ enumerator)
register_type::RCX (C++ enumerator)
register_type::RDX (C++ enumerator)
S
semantic (C++ class)
semantic::check_binop1 (C++ function)
semantic::check_binop2 (C++ function)
semantic::check_binrel (C++ function)
semantic::check_parameters (C++ function)
semantic::chk_param (C++ function)
semantic::do_typecheck (C++ function)
short_symbols (C++ function)
,
[1]
STACK_WIDTH (C++ member)
std (C++ type)
summary_symbols (C++ function)
,
[1]
sym_index (C++ type)
sym_tab (C++ member)
,
[1]
,
[2]
sym_type (C++ type)
symbol (C++ class)
symbol::back_link (C++ member)
symbol::format_type (C++ type)
symbol::format_types (C++ enum)
symbol::format_types::LONG_FORMAT (C++ enumerator)
symbol::format_types::SHORT_FORMAT (C++ enumerator)
symbol::format_types::SUMMARY_FORMAT (C++ enumerator)
symbol::get_array_symbol (C++ function)
symbol::get_constant_symbol (C++ function)
symbol::get_function_symbol (C++ function)
symbol::get_nametype_symbol (C++ function)
symbol::get_parameter_symbol (C++ function)
symbol::get_procedure_symbol (C++ function)
symbol::get_variable_symbol (C++ function)
symbol::hash_link (C++ member)
symbol::id (C++ member)
symbol::level (C++ member)
symbol::long_symbols (C++ function)
symbol::offset (C++ member)
symbol::operator<< (C++ function)
symbol::output_format (C++ member)
symbol::print (C++ function)
symbol::short_symbols (C++ function)
symbol::summary_symbols (C++ function)
symbol::symbol (C++ function)
symbol::tag (C++ member)
symbol::type (C++ member)
symbol_table (C++ class)
symbol_table::block_table (C++ member)
symbol_table::capitalize (C++ function)
symbol_table::close_scope (C++ function)
symbol_table::current_environment (C++ function)
symbol_table::current_level (C++ member)
symbol_table::enter_array (C++ function)
symbol_table::enter_constant (C++ function)
,
[1]
symbol_table::enter_function (C++ function)
symbol_table::enter_nametype (C++ function)
symbol_table::enter_parameter (C++ function)
symbol_table::enter_procedure (C++ function)
symbol_table::enter_variable (C++ function)
,
[1]
symbol_table::fix_string (C++ function)
symbol_table::gen_temp_var (C++ function)
,
[1]
symbol_table::get_next_label (C++ function)
symbol_table::get_size (C++ function)
symbol_table::get_symbol (C++ function)
symbol_table::get_symbol_id (C++ function)
symbol_table::get_symbol_tag (C++ function)
symbol_table::get_symbol_type (C++ function)
symbol_table::hash (C++ function)
symbol_table::hash_table (C++ member)
symbol_table::ieee (C++ function)
symbol_table::install_symbol (C++ function)
symbol_table::label_nr (C++ member)
symbol_table::lookup_symbol (C++ function)
symbol_table::open_scope (C++ function)
symbol_table::pool_compare (C++ function)
symbol_table::pool_forget (C++ function)
symbol_table::pool_install (C++ function)
symbol_table::pool_length (C++ member)
symbol_table::pool_lookup (C++ function)
symbol_table::pool_pos (C++ member)
symbol_table::print (C++ function)
symbol_table::set_symbol_type (C++ function)
symbol_table::string_pool (C++ member)
symbol_table::sym_pos (C++ member)
symbol_table::sym_table (C++ member)
symbol_table::symbol_table (C++ function)
symbol_table::temp_nr (C++ member)
symbol_types (C++ enum)
symbol_types::SYM_ARRAY (C++ enumerator)
symbol_types::SYM_CONST (C++ enumerator)
symbol_types::SYM_FUNC (C++ enumerator)
symbol_types::SYM_NAMETYPE (C++ enumerator)
symbol_types::SYM_PARAM (C++ enumerator)
symbol_types::SYM_PROC (C++ enumerator)
symbol_types::SYM_UNDEF (C++ enumerator)
symbol_types::SYM_VAR (C++ enumerator)
T
T_ADD (C macro)
T_AND (C macro)
T_ARRAY (C macro)
T_ASSIGN (C macro)
T_BEGIN (C macro)
T_COLON (C macro)
T_COMMA (C macro)
T_CONST (C macro)
T_DO (C macro)
T_DOT (C macro)
T_ELSE (C macro)
T_ELSIF (C macro)
T_END (C macro)
T_EOF (C macro)
T_EQ (C macro)
T_ERROR (C macro)
T_FUNCTION (C macro)
T_GREATERTHAN (C macro)
T_IDENT (C macro)
T_IDIV (C macro)
T_IF (C macro)
T_INTNUM (C macro)
T_LEFTBRACKET (C macro)
T_LEFTPAR (C macro)
T_LESSTHAN (C macro)
T_MOD (C macro)
T_MUL (C macro)
T_NOT (C macro)
T_NOTEQ (C macro)
T_OF (C macro)
T_OR (C macro)
T_PROCEDURE (C macro)
T_PROGRAM (C macro)
T_RDIV (C macro)
T_REALNUM (C macro)
T_RETURN (C macro)
T_RIGHTBRACKET (C macro)
T_RIGHTPAR (C macro)
T_SEMICOLON (C macro)
T_STRINGCONST (C macro)
T_SUB (C macro)
T_THEN (C macro)
T_VAR (C macro)
T_WHILE (C macro)
TEST_SCANNER (C macro)
type_checker (C++ member)
,
[1]
type_error (C++ function)
,
[1]
,
[2]
,
[3]
typecheck (C++ member)
U
usage (C++ function)
USE_Q (C macro)
V
variable_symbol (C++ class)
variable_symbol::get_variable_symbol (C++ function)
variable_symbol::print (C++ function)
variable_symbol::variable_symbol (C++ function)
void_type (C++ member)
,
[1]
Y
yydebug (C++ member)
yyerror (C++ function)
,
[1]
yylineno (C++ member)
yylloc (C++ member)
,
[1]
YYLTYPE (C++ struct)
YYLTYPE::first_column (C++ member)
YYLTYPE::first_line (C++ member)
YYLTYPE::last_column (C++ member)
YYLTYPE::last_line (C++ member)
yylval (C++ member)
,
[1]
YYSTYPE (C++ union)
,
[1]
YYSTYPE::ival (C++ member)
,
[1]
YYSTYPE::pool_p (C++ member)
,
[1]
YYSTYPE::rval (C++ member)
,
[1]
YYSTYPE::str (C++ member)
,
[1]