30 s=t->type->keyword->symbol;
63 switch (op_stack[i]) {
97 perr(
"*** Parser error ");
99 perr(
": stack full.\n");
346 perr(
": bad symbol for end of list '");
357 perr(
": bad symbol in list '");
404 long count=0,f=
TRUE,f2,v;
465 (
void)snprintf(s,10,
"%ld",v);
477 (void)snprintf(s,10,
"%ld",count);
572 if (
equ_tokch((*tok),
':') && arg1 && arg2) {
659 printf(
"*** Parser: ooops, NOP expected.\n");
671 printf(
"*** Parser: ugh, NOP expected.\n");
678 printf(
"*** Parser: yuck, weirdo operator.\n");
704 long limit,pr_op,pr_1,pr_2,start=0;
935 while((c=
read_char()) && c!=EOF && c!=
'.' && c!=
'?' && c!=
EOLN) {}
944 else if (c<0 || c>32) {
948 }
while(c && c!=EOF);
ptr_psi_term heap_copy_psi_term(psi_term t)
#define PARSER_STACK_SIZE
void put_back_char(long c)
void read_token(ptr_psi_term tok)
ptr_module current_module
void push_psi_ptr_value(ptr_psi_term q, GENERIC *p)
void push(psi_term tok, long prec, long op)
void mark_nonstrict(ptr_psi_term t)
void display_psi_stdout(ptr_psi_term t)
long precedence(psi_term tok, long typ)
psi_term parse_list(ptr_definition typ, char e, char s)
void display_psi_stderr(ptr_psi_term t)
void put_back_token(psi_term t)
ptr_definition minus_symbol
ptr_definition add_module3
char * heap_copy_string(char *s)
psi_term read_life_form(char ch1, char ch2)
void feature_insert(char *keystr, ptr_node *tree, ptr_psi_term psi)
ptr_node stack_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
void Syntaxerrorline(char *format,...)
long pop(ptr_psi_term tok, long *op)
void crunch(long prec, long limit)
ptr_psi_term error_psi_term
int bad_psi_term(ptr_psi_term t)
ptr_definition quoted_string
ptr_psi_term stack_psi_term(long stat)
ptr_psi_term stack_copy_psi_term(psi_term t)
ptr_definition disjunction
#define equal_types(A, B)
ptr_definition add_module2
ptr_node find(long comp, char *keystr, ptr_node tree)
ptr_definition final_question
ptr_psi_term saved_psi_term
psi_term list_nil(ptr_definition type)
ptr_definition add_module1
psi_term make_life_form(ptr_psi_term tok, ptr_psi_term arg1, ptr_psi_term arg2)
unsigned long global_time_stamp
GENERIC heap_alloc(long s)
void stack_insert_copystr(char *keystr, ptr_node *tree, GENERIC info)
long int_stack[PARSER_STACK_SIZE]
psi_term psi_term_stack[PARSER_STACK_SIZE]