C:/Users/Dennis/src/lang/Life_start/Life/life-1.02/source/parser.c File Reference

#include "extern.h"
#include "memory.h"
#include "trees.h"
#include "token.h"
#include "print.h"
#include "copy.h"
#include "modules.h"
#include "login.h"

Go to the source code of this file.

Defines

#define NOP   2000

Functions

psi_term read_life_form ()
psi_term parse_list ()
 bad_psi_term (ptr_psi_term t)
void show (long limit)
void push (psi_term tok, long prec, operator op)
long pop (ptr_psi_term tok, operator *op)
long look ()
long precedence (psi_term tok, operator typ)
ptr_psi_term stack_copy_psi_term (psi_term t)
ptr_psi_term heap_copy_psi_term (psi_term t)
 feature_insert (char *keystr, ptr_node *tree, ptr_psi_term psi)
psi_term list_nil (ptr_definition type)
psi_term parse_list (ptr_definition typ, char e, char s)
psi_term read_psi_term ()
psi_term make_life_form (ptr_psi_term tok, ptr_psi_term arg1, ptr_psi_term arg2)
void crunch (long prec, long limit)
psi_term read_life_form (char ch1, char ch2)
psi_term parse (long *q)

Variables

static char vcid [] = "$Id: parser.c,v 1.2 1994/12/08 23:32:03 duchier Exp $"
psi_term psi_term_stack [PARSER_STACK_SIZE]
long int_stack [PARSER_STACK_SIZE]
 operator op_stack[PARSER_STACK_SIZE]
long parse_ok
long parser_stack_index
ptr_node var_tree
long no_var_tree


Define Documentation

#define NOP   2000

Definition at line 25 of file parser.c.

Referenced by precedence(), and read_life_form().


Function Documentation

bad_psi_term ( ptr_psi_term  t  ) 

Definition at line 51 of file parser.c.

References final_dot, final_question, TRUE, and wl_definition::type.

Referenced by read_life_form(), and read_psi_term().

void crunch ( long  prec,
long  limit 
)

Definition at line 665 of file parser.c.

References error_psi_term, FALSE, fx, look(), make_life_form(), nop, NULL, parse_ok, parser_stack_index, pop(), push(), xf, and xfx.

Referenced by read_life_form().

feature_insert ( char *  keystr,
ptr_node tree,
ptr_psi_term  psi 
)

Definition at line 255 of file parser.c.

References featcmp(), find(), stack_copy_psi_term(), stack_insert_copystr(), and Syntaxerrorline().

Referenced by read_psi_term().

ptr_psi_term heap_copy_psi_term ( psi_term  t  ) 

Definition at line 233 of file parser.c.

References global_time_stamp, HEAP_ALLOC, and wl_psi_term::time_stamp.

psi_term list_nil ( ptr_definition  type  ) 

Definition at line 284 of file parser.c.

References wl_psi_term::attr_list, wl_psi_term::coref, disj_nil, disjunction, FALSE, wl_psi_term::flags, nil, NULL, wl_psi_term::resid, wl_psi_term::status, wl_psi_term::type, and wl_psi_term::value.

Referenced by parse_list().

long look (  ) 

Definition at line 177 of file parser.c.

References int_stack, and parser_stack_index.

Referenced by crunch().

psi_term make_life_form ( ptr_psi_term  tok,
ptr_psi_term  arg1,
ptr_psi_term  arg2 
)

Definition at line 575 of file parser.c.

References wl_psi_term::attr_list, wl_psi_term::coref, deref_ptr, equ_tokch, error_psi_term, featcmp(), heap_alloc(), integer, minus_symbol, NULL, one, push_psi_ptr_value(), REAL, real, wl_psi_term::resid, stack_copy_psi_term(), stack_insert(), Syntaxerrorline(), top, two, wl_psi_term::type, and wl_psi_term::value.

Referenced by crunch().

psi_term parse ( long *  q  ) 

Definition at line 907 of file parser.c.

References eof, EOLN, ERROR, FACT, FALSE, final_dot, final_question, mark_nonstrict(), NULL, parse_ok, parser_stack_index, prompt, put_back_char(), QUERY, read_char(), read_life_form(), read_token(), saved_char, saved_psi_term, stringparse, Syntaxerrorline(), TRUE, and wl_psi_term::type.

Referenced by c_parse(), c_read(), load_aim(), main(), WFInput(), and what_next_aim().

psi_term parse_list ( ptr_definition  typ,
char  e,
char  s 
)

Definition at line 333 of file parser.c.

References wl_psi_term::attr_list, display_psi_stderr(), equ_tokc, equ_tokch, FALSE, featcmp(), list_nil(), NULL, one, parse_list(), parse_ok, perr(), psi_term_error(), put_back_token(), read_life_form(), read_token(), stack_copy_psi_term(), stack_insert(), stringparse, two, and wl_psi_term::type.

psi_term parse_list (  ) 

Referenced by parse_list(), and read_psi_term().

long pop ( ptr_psi_term  tok,
operator op 
)

Definition at line 146 of file parser.c.

References error_psi_term, FALSE, int_stack, parse_ok, and parser_stack_index.

Referenced by crunch(), and read_life_form().

long precedence ( psi_term  tok,
operator  typ 
)

Definition at line 190 of file parser.c.

References wl_operator_data::next, NOP, and wl_operator_data::precedence.

Referenced by read_life_form().

void push ( psi_term  tok,
long  prec,
operator  op 
)

Definition at line 122 of file parser.c.

References int_stack, parser_stack_index, PARSER_STACK_SIZE, perr(), and psi_term_error().

Referenced by crunch(), and read_life_form().

psi_term read_life_form ( char  ch1,
char  ch2 
)

Definition at line 729 of file parser.c.

References wl_psi_term::attr_list, bad_psi_term(), crunch(), equ_tokc, equ_tokch, error_psi_term, FALSE, fx, fy, line_count, MAX_PRECEDENCE, nop, NOP, parse_ok, parser_stack_index, pop(), precedence(), push(), put_back_token(), read_life_form(), read_psi_term(), read_token(), stringparse, Syntaxerrorline(), TRUE, xf, xfx, xfy, yf, and yfx.

psi_term read_life_form (  ) 

Referenced by parse(), parse_list(), read_life_form(), and read_psi_term().

psi_term read_psi_term (  ) 

Definition at line 429 of file parser.c.

References add_module1, add_module2, add_module3, alist, apply, wl_psi_term::attr_list, bad_psi_term(), wl_keyword::combined_name, wl_psi_term::coref, current_module, disjunction, eof, equ_tok, equ_tokch, equal_types, error_psi_term, FALSE, featcmp(), feature_insert(), find(), functor, heap_copy_string(), integer, wl_definition::keyword, wl_module::module_name, NULL, parse_list(), parse_ok, wl_keyword::private_feature, put_back_token(), quoted_string, read_life_form(), read_token(), REAL, wl_psi_term::resid, stack_copy_psi_term(), stack_insert(), stack_psi_term(), stringparse, wl_keyword::symbol, Syntaxerrorline(), TRUE, two, wl_psi_term::type, wl_psi_term::value, variable, and wl_const.

Referenced by read_life_form().

void show ( long  limit  ) 

Definition at line 83 of file parser.c.

References display_psi_stdout(), fx, int_stack, nop, parser_stack_index, xf, and xfx.

ptr_psi_term stack_copy_psi_term ( psi_term  t  ) 

Definition at line 214 of file parser.c.

References global_time_stamp, STACK_ALLOC, and wl_psi_term::time_stamp.

Referenced by c_parse(), c_read(), check_func(), feature_insert(), load_aim(), main(), make_life_form(), parse_list(), put_back_token(), read_psi_term(), WFInput(), and what_next_aim().


Variable Documentation

long int_stack[PARSER_STACK_SIZE]

Definition at line 30 of file parser.c.

Referenced by look(), pop(), push(), and show().

long no_var_tree

Definition at line 36 of file parser.c.

operator op_stack[PARSER_STACK_SIZE]

Definition at line 31 of file parser.c.

long parse_ok

Definition at line 33 of file parser.c.

Referenced by crunch(), parse(), parse_list(), pop(), psi_term_error(), read_life_form(), read_psi_term(), and read_string_error().

long parser_stack_index

Definition at line 34 of file parser.c.

Referenced by crunch(), look(), parse(), pop(), push(), read_life_form(), and show().

psi_term psi_term_stack[PARSER_STACK_SIZE]

Definition at line 29 of file parser.c.

ptr_node var_tree

Definition at line 35 of file parser.c.

Referenced by c_read(), check(), display_couple(), init_system(), load_aim(), main_display_psi_term(), main_pred_write(), print_resid_message(), print_variables(), read_name(), unique_name(), and WFGetVar().

char vcid[] = "$Id: parser.c,v 1.2 1994/12/08 23:32:03 duchier Exp $" [static]

Definition at line 12 of file parser.c.


Generated on Sat Jan 26 08:48:09 2008 for WildLife by  doxygen 1.5.4