util.c File Reference

#include "bcdefs.h"
#include <stdarg.h>
#include "global.h"
#include "proto.h"

Include dependency graph for util.c:

Go to the source code of this file.

Functions

char * strcopyof (char *str)
arg_listnextarg (arg_list *args, char val)
 _PROTOTYPE (static char *make_arg_str,(arg_list *args, int len, int commas))
static char * make_arg_str (arg_list *args, int len, int commas)
char * arg_str (arg_list *args, int commas)
void free_args (arg_list *args)
void check_params (arg_list *params, arg_list *autos)
void init_gen ()
void generate (char *str)
void run_code ()
void out_char (char ch)
id_recfind_id (id_rec *tree, char *id)
int insert_id_rec (id_rec **root, id_rec *new_id)
void init_tree ()
int lookup (char *name, int namekind)
void welcome ()
void warranty (char *prefix)
void limits ()
char * bc_malloc (int size)
void out_of_memory ()
void yyerror (char *str)
void warn (char *mesg)
void rt_error (char *mesg)
void rt_warn (char *mesg)

Variables

static char * arglist1 = NULL
static char * arglist2 = NULL


Function Documentation

_PROTOTYPE static char *  make_arg_str,
(arg_list *args, int len, int commas) 
 

char* arg_str arg_list args,
int  commas
 

Definition at line 114 of file util.c.

References arglist1, arglist2, free, make_arg_str(), and NULL.

char* bc_malloc int  size  ) 
 

Definition at line 616 of file util.c.

References malloc(), NULL, out_of_memory(), and ptr.

Referenced by addbyte(), auto_var(), def_label(), fpush(), get_array_num(), get_var(), lookup(), make_arg_str(), more_arrays(), more_functions(), more_variables(), nextarg(), process_params(), push_copy(), push_num(), and strcopyof().

void check_params arg_list params,
arg_list autos
 

Definition at line 149 of file util.c.

References arg_list::av_name, arg_list::next, NULL, warn, and yyerror().

id_rec* find_id id_rec tree,
char *  id
 

Definition at line 308 of file util.c.

References NULL, and strcmp.

Referenced by lookup().

void free_args arg_list args  ) 
 

Definition at line 129 of file util.c.

References free, arg_list::next, and NULL.

void generate char *  str  ) 
 

Definition at line 231 of file util.c.

References compile_only, did_gen, load_code(), out_count, printf, strlen(), and TRUE.

Referenced by globname().

void init_gen  ) 
 

Definition at line 212 of file util.c.

References break_label, compile_only, continue_label, did_gen, FALSE, had_error, init_load(), next_label, out_count, and printf.

Referenced by main(), and run_code().

void init_tree  ) 
 

Definition at line 467 of file util.c.

References name_tree, next_array, next_func, next_var, and NULL.

Referenced by main().

int insert_id_rec id_rec **  root,
id_rec new_id
 

Definition at line 334 of file util.c.

References A, B, FALSE, new_id(), NULL, strcmp, and TRUE.

Referenced by lookup().

void limits  ) 
 

Definition at line 597 of file util.c.

References BC_BASE_MAX, BC_DIM_MAX, BC_MAX_SEGS, BC_SCALE_MAX, BC_SEG_SIZE, BC_STRING_MAX, LONG_MAX, MAX_STORE, and printf.

int lookup char *  name,
int  namekind
 

Definition at line 479 of file util.c.

References a_count, id_rec::a_name, a_names, ARRAY, bc_malloc(), exit(), f_count, id_rec::f_name, f_names, find_id(), free, FUNCT, insert_id_rec(), MAX_STORE, more_arrays(), more_functions(), more_variables(), name_tree, next_array, next_func, next_var, NULL, SIMPLE, strcopyof(), strlen(), v_count, id_rec::v_name, v_names, warn, and yyerror().

static char* make_arg_str arg_list args,
int  len,
int  commas
[static]
 

Definition at line 86 of file util.c.

References bc_malloc(), NULL, sprintf(), and strcat().

Referenced by arg_str().

arg_list* nextarg arg_list args,
char  val
 

Definition at line 57 of file util.c.

References arg_list::av_name, bc_malloc(), and arg_list::next.

Referenced by load_code(), and main().

void out_char char  ch  ) 
 

Definition at line 280 of file util.c.

References out_col, and putchar.

Referenced by cons_echo(), cons_putk(), cons_write(), execute(), out_long(), and out_num().

void out_of_memory  ) 
 

Definition at line 634 of file util.c.

References exit(), fprintf(), and stderr.

Referenced by bc_divide(), bc_malloc(), new_num(), and out_num().

void rt_error char *  mesg  ) 
 

Definition at line 738 of file util.c.

References args, f_names, fprintf(), pc, program_counter::pc_addr, program_counter::pc_func, runtime_error, stderr, TRUE, va_end, va_start, and vsprintf().

Referenced by bc_raise(), check_stack(), decr_array(), execute(), incr_array(), load_array(), process_params(), stop_execution(), and store_array().

void rt_warn char *  mesg  ) 
 

Definition at line 774 of file util.c.

References args, f_names, fprintf(), pc, program_counter::pc_addr, program_counter::pc_func, stderr, va_end, va_start, and vsprintf().

Referenced by bc_raise(), decr_var(), incr_var(), and store_var().

void run_code  ) 
 

Definition at line 253 of file util.c.

References compile_only, did_gen, execute(), FALSE, had_error, init_gen(), out_count, and printf.

char* strcopyof char *  str  ) 
 

Definition at line 44 of file util.c.

References bc_malloc(), strcpy(), and strlen().

Referenced by lookup().

void warn char *  mesg  ) 
 

Definition at line 688 of file util.c.

References args, fprintf(), g_argv, had_error, is_std_in, line_no, optind, std_only, stderr, TRUE, va_end, va_start, vfprintf(), and warn_not_std.

void warranty char *  prefix  ) 
 

Definition at line 576 of file util.c.

References BC_VERSION, and printf.

void welcome  ) 
 

Definition at line 564 of file util.c.

References printf.

void yyerror char *  str  ) 
 

Definition at line 650 of file util.c.

References args, fprintf(), g_argv, had_error, is_std_in, line_no, optind, stderr, TRUE, va_end, va_start, and vfprintf().

Referenced by addbyte(), check_params(), collect(), lookup(), yyparse(), and zzerr().


Variable Documentation

char* arglist1 = NULL [static]
 

Definition at line 75 of file util.c.

Referenced by arg_str().

char * arglist2 = NULL [static]
 

Definition at line 75 of file util.c.

Referenced by arg_str().


Generated on Fri Apr 14 22:59:50 2006 for minix by  doxygen 1.4.6