Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

/home/r0/dav/atlas.dir/atlas3/sources/interpreter/parsetree.h File Reference

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

union  expru
struct  expr
struct  exprlist_node
struct  application_node
struct  subscription_node

Typedefs

typedef short id_type
typedef exprlist_nodeexpr_list
typedef application_nodeapp
typedef subscription_nodesub

Enumerations

enum  expr_kind {
  integer_denotation, string_denotation, boolean_denotation, applied_identifier,
  list_display, tuple_display, function_call, subscription
}

Functions

void destroy_expr (expr e)
expr make_int_denotation (int val)
expr make_string_denotation (char *val)
expr make_bool_denotation (int val)
expr make_applied_identifier (id_type id)
void destroy_exprlist (expr_list l)
expr_list make_exprlist_node (expr e, expr_list l)
expr_list reverse_expr_list (expr_list l)
expr wrap_list_display (expr_list l)
expr wrap_tuple_display (expr_list l)
expr make_application_node (id_type f, expr_list args)
expr make_subscription_node (expr a, expr i)
short lookup_identifier (const char *)
void include_file ()
void global_set_identifier (expr_list ids, expr e)
void show_ids ()
void type_of_expr (expr e)

Variables

const expr_list null_expr_list


Typedef Documentation

typedef struct application_node* app
 

Definition at line 14 of file parsetree.h.

Referenced by make_application_node(), and atlas::interpreter::operator<<().

typedef struct exprlist_node* expr_list
 

Definition at line 12 of file parsetree.h.

Referenced by atlas::interpreter::check_type(), atlas::interpreter::convert_expr(), destroy_exprlist(), atlas::interpreter::evaluate(), atlas::interpreter::find_type(), atlas::interpreter::find_type_list(), global_set_identifier(), atlas::interpreter::length(), make_application_node(), make_exprlist_node(), atlas::interpreter::operator<<(), reverse_expr_list(), wrap_list_display(), and wrap_tuple_display().

typedef short id_type
 

Definition at line 10 of file parsetree.h.

Referenced by atlas::interpreter::Hash_table::do_match(), lookup_identifier(), atlas::interpreter::Hash_table::match(), atlas::interpreter::Hash_table::match_literal(), and atlas::interpreter::Hash_table::nr_entries().

typedef struct subscription_node* sub
 

Definition at line 16 of file parsetree.h.

Referenced by make_subscription_node(), and atlas::interpreter::operator<<().


Enumeration Type Documentation

enum expr_kind
 

Enumeration values:
integer_denotation 
string_denotation 
boolean_denotation 
applied_identifier 
list_display 
tuple_display 
function_call 
subscription 

Definition at line 31 of file parsetree.h.


Function Documentation

void destroy_expr expr  e  ) 
 

Definition at line 8 of file parsetree.cpp.

References applied_identifier, application_node::arg, subscription_node::array, boolean_denotation, expru::call_variant, destroy_exprlist(), expr::e, function_call, subscription_node::index, integer_denotation, expr::kind, list_display, expru::str_denotation_variant, string_denotation, expru::sublist, subscription, expru::subscription_variant, and tuple_display.

Referenced by destroy_exprlist(), main(), and yydestruct().

void destroy_exprlist expr_list  l  ) 
 

Definition at line 53 of file parsetree.cpp.

References destroy_expr(), exprlist_node::e, expr_list, and exprlist_node::next.

Referenced by destroy_expr(), and yydestruct().

void global_set_identifier expr_list  ids,
expr  e
 

Definition at line 1292 of file evaluator.cpp.

References atlas::interpreter::Id_table::add(), atlas::interpreter::analyse_types(), atlas::interpreter::clear_execution_stack(), atlas::interpreter::BufferedInput::close_includes(), expr::e, exprlist_node::e, atlas::interpreter::evaluate(), expr_list, expru::identifier_variant, atlas::interpreter::Hash_table::name_of(), exprlist_node::next, and atlas::interpreter::pop_value().

Referenced by yyparse().

void include_file  ) 
 

Definition at line 92 of file parsetree.cpp.

Referenced by yyparse().

short lookup_identifier const char *   ) 
 

Definition at line 89 of file parsetree.cpp.

References id_type.

Referenced by yyparse().

expr make_application_node id_type  f,
expr_list  args
 

Definition at line 74 of file parsetree.cpp.

References app, application_node::arg, expru::call_variant, expr::e, exprlist_node::e, expr_list, application_node::fun, expr::kind, exprlist_node::next, and wrap_tuple_display().

Referenced by atlas::interpreter::check_type(), and yyparse().

expr make_applied_identifier id_type  id  ) 
 

Definition at line 48 of file parsetree.cpp.

References expr::e, expru::identifier_variant, and expr::kind.

Referenced by yyparse().

expr make_bool_denotation int  val  ) 
 

Definition at line 43 of file parsetree.cpp.

References expr::e, expru::int_denotation_variant, and expr::kind.

Referenced by yyparse().

expr_list make_exprlist_node expr  e,
expr_list  l
 

Definition at line 59 of file parsetree.cpp.

References exprlist_node::e, expr_list, and exprlist_node::next.

Referenced by atlas::interpreter::check_type(), and yyparse().

expr make_int_denotation int  val  ) 
 

Definition at line 35 of file parsetree.cpp.

References expr::e, expru::int_denotation_variant, and expr::kind.

Referenced by yyparse().

expr make_string_denotation char *  val  ) 
 

Definition at line 39 of file parsetree.cpp.

References expr::e, expr::kind, and expru::str_denotation_variant.

Referenced by atlas::interpreter::Lexical_analyser::get_token().

expr make_subscription_node expr  a,
expr  i
 

Definition at line 83 of file parsetree.cpp.

References subscription_node::array, expr::e, subscription_node::index, expr::kind, sub, and expru::subscription_variant.

Referenced by yyparse().

expr_list reverse_expr_list expr_list  l  ) 
 

Definition at line 61 of file parsetree.cpp.

References expr_list, and exprlist_node::next.

Referenced by yyparse().

void show_ids  ) 
 

Definition at line 1364 of file evaluator.cpp.

Referenced by yyparse().

void type_of_expr expr  e  ) 
 

Definition at line 1355 of file evaluator.cpp.

References atlas::interpreter::analyse_types().

Referenced by yyparse().

expr wrap_list_display expr_list  l  ) 
 

Definition at line 66 of file parsetree.cpp.

References expr::e, expr_list, expr::kind, and expru::sublist.

Referenced by yyparse().

expr wrap_tuple_display expr_list  l  ) 
 

Definition at line 70 of file parsetree.cpp.

References expr::e, expr_list, expr::kind, and expru::sublist.

Referenced by make_application_node(), and yyparse().


Variable Documentation

const expr_list null_expr_list
 

Definition at line 58 of file parsetree.cpp.

Referenced by atlas::interpreter::check_type(), and yyparse().


Generated on Wed Mar 26 16:50:21 2008 for atlas by  doxygen 1.3.9.1