Blame bc/proto.h

Packit 70b277
/*  This file is part of GNU bc.
Packit 70b277
Packit 70b277
    Copyright (C) 1991-1994, 1997, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
Packit 70b277
Packit 70b277
    This program is free software; you can redistribute it and/or modify
Packit 70b277
    it under the terms of the GNU General Public License as published by
Packit 70b277
    the Free Software Foundation; either version 3 of the License , or
Packit 70b277
    (at your option) any later version.
Packit 70b277
Packit 70b277
    This program is distributed in the hope that it will be useful,
Packit 70b277
    but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 70b277
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit 70b277
    GNU General Public License for more details.
Packit 70b277
Packit 70b277
    You should have received a copy of the GNU General Public License
Packit 70b277
    along with this program; see the file COPYING.  If not, see
Packit 70b277
    <http://www.gnu.org/licenses>.
Packit 70b277
Packit 70b277
    You may contact the author by:
Packit 70b277
       e-mail:  philnelson@acm.org
Packit 70b277
      us-mail:  Philip A. Nelson
Packit 70b277
                Computer Science Department, 9062
Packit 70b277
                Western Washington University
Packit 70b277
                Bellingham, WA 98226-9062
Packit 70b277
       
Packit 70b277
*************************************************************************/
Packit 70b277
Packit 70b277
/* proto.h: Prototype function definitions for "external" functions. */
Packit 70b277
Packit 70b277
/* For the pc version using k&r ACK. (minix1.5 and earlier.) */
Packit 70b277
#ifdef SHORTNAMES
Packit 70b277
#define init_numbers i_numbers
Packit 70b277
#define push_constant push__constant
Packit 70b277
#define load_const in_load_const
Packit 70b277
#define yy_get_next_buffer yyget_next_buffer
Packit 70b277
#define yy_init_buffer yyinit_buffer
Packit 70b277
#define yy_last_accepting_state yylast_accepting_state
Packit 70b277
#define arglist1 arg1list
Packit 70b277
#endif
Packit 70b277
Packit 70b277
/* Include the standard library header files. */
Packit 70b277
#ifdef HAVE_UNISTD_H
Packit 70b277
#include <unistd.h>
Packit 70b277
#endif
Packit 70b277
#ifdef HAVE_STDLIB_H
Packit 70b277
#include <stdlib.h>
Packit 70b277
#endif
Packit 70b277
Packit 70b277
/* From execute.c */
Packit 70b277
void stop_execution (int);
Packit 70b277
unsigned char byte (program_counter *pc_);
Packit 70b277
void execute (void);
Packit 70b277
int prog_char (void);
Packit 70b277
int input_char (void);
Packit 70b277
void push_constant (int (*in_char)(void), int conv_base);
Packit 70b277
void push_b10_const (program_counter *pc_);
Packit 70b277
void assign (char code);
Packit 70b277
Packit 70b277
/* From util.c */
Packit 70b277
char *strcopyof (const char *str);
Packit 70b277
arg_list *nextarg (arg_list *args, int val, int is_var);
Packit 70b277
char *arg_str (arg_list *args);
Packit 70b277
char *call_str (arg_list *args);
Packit 70b277
void free_args (arg_list *args);
Packit 70b277
void check_params (arg_list *params, arg_list *autos);
Packit 70b277
void set_genstr_size (int);
Packit 70b277
void init_gen (void);
Packit 70b277
void generate (const char *str);
Packit 70b277
void run_code (void);
Packit 70b277
void out_char (int ch);
Packit 70b277
void out_schar (int ch);
Packit 70b277
id_rec *find_id (id_rec *tree, const char *id);
Packit 70b277
int insert_id_rec (id_rec **root, id_rec *new_id);
Packit 70b277
void init_tree (void);
Packit 70b277
int lookup (char *name, int namekind);
Packit 70b277
void *bc_malloc (size_t);
Packit 70b277
void out_of_memory (void);
Packit 70b277
void welcome (void);
Packit 70b277
void warranty (const char *);
Packit 70b277
void show_bc_version (void);
Packit 70b277
void limits (void);
Packit 70b277
void yyerror (const char *str ,...);
Packit 70b277
void ct_warn (const char *mesg ,...);
Packit 70b277
void rt_error (const char *mesg ,...);
Packit 70b277
void rt_warn (const char *mesg ,...);
Packit 70b277
void bc_exit (int);
Packit 70b277
Packit 70b277
/* From load.c */
Packit 70b277
void init_load (void);
Packit 70b277
void addbyte (unsigned char thebyte);
Packit 70b277
void def_label (unsigned long lab);
Packit 70b277
long long_val (const char **str);
Packit 70b277
void load_code (const char *code);
Packit 70b277
Packit 70b277
/* From main.c */
Packit 70b277
int open_new_file (void);
Packit 70b277
void new_yy_file (FILE *file);
Packit 70b277
void use_quit (int);
Packit 70b277
Packit 70b277
/* From storage.c */
Packit 70b277
void init_storage (void);
Packit 70b277
void more_functions (void);
Packit 70b277
void more_variables (void);
Packit 70b277
void more_arrays (void);
Packit 70b277
void clear_func (int func);
Packit 70b277
int fpop (void);
Packit 70b277
void fpush (int val);
Packit 70b277
void pop (void);
Packit 70b277
void push_copy (bc_num num);
Packit 70b277
void push_num (bc_num num);
Packit 70b277
char check_stack (int depth);
Packit 70b277
bc_var *get_var (int var_name);
Packit 70b277
bc_num *get_array_num (int var_index, unsigned long _index_);
Packit 70b277
void store_var (int var_name);
Packit 70b277
void store_array (int var_name);
Packit 70b277
void load_var (int var_name);
Packit 70b277
void load_array (int var_name);
Packit 70b277
void decr_var (int var_name);
Packit 70b277
void decr_array (int var_name);
Packit 70b277
void incr_var (int var_name);
Packit 70b277
void incr_array (int var_name);
Packit 70b277
void auto_var (int name);
Packit 70b277
void free_a_tree (bc_array_node *root, int depth);
Packit 70b277
void pop_vars (arg_list *list);
Packit 70b277
void process_params (program_counter *_pc_, int func);
Packit 70b277
Packit 70b277
/* For the scanner and parser.... */
Packit 70b277
int yyparse (void);
Packit 70b277
int yylex (void);
Packit 70b277
Packit 70b277
#if defined(LIBEDIT)
Packit 70b277
/* The *?*&^ prompt function */
Packit 70b277
char *null_prompt (EditLine *);
Packit 70b277
#endif
Packit 70b277
Packit 70b277
/* Other things... */
Packit 70b277
#ifndef HAVE_UNISTD_H
Packit 70b277
(int getopt (int, char *[], CONST char *);
Packit 70b277
#endif