home *** CD-ROM | disk | FTP | other *** search
- /* global.h: The global variables for bc. */
-
- /* This file is part of bc written for MINIX.
- Copyright (C) 1991, 1992 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License , or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; see the file COPYING. If not, write to
- the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
- You may contact the author by:
- e-mail: phil@cs.wwu.edu
- us-mail: Philip A. Nelson
- Computer Science Department, 9062
- Western Washington University
- Bellingham, WA 98226-9062
-
- *************************************************************************/
-
-
- /* For the current "break level" and if statements. */
- EXTERN int break_label;
- EXTERN int if_label;
- EXTERN int continue_label;
-
- /* Label numbers. */
- EXTERN int next_label;
-
- /* Used for "code" generation. */
- EXTERN char genstr[80];
- EXTERN int out_count;
- EXTERN char did_gen;
-
- /* Interactive and other flags. */
- EXTERN char interactive;
- EXTERN char compile_only;
- EXTERN char use_math;
- EXTERN char warn_not_std;
- EXTERN char std_only;
-
- /* global variables for the bc machine. All will be dynamic in size.*/
- /* Function storage. main is (0) and functions (1-f_count) */
-
- EXTERN bc_function *functions;
- EXTERN char **f_names;
- EXTERN int f_count;
-
- /* Variable stoarge and reverse names. */
-
- EXTERN bc_var **variables;
- EXTERN char **v_names;
- EXTERN int v_count;
-
- /* Array Variable storage and reverse names. */
-
- EXTERN bc_var_array **arrays;
- EXTERN char **a_names;
- EXTERN int a_count;
-
- /* Execution stack. */
- EXTERN estack_rec *ex_stack;
-
- /* Function return stack. */
- EXTERN fstack_rec *fn_stack;
-
- /* Other "storage". */
- EXTERN int i_base;
- EXTERN int o_base;
- EXTERN int scale;
- EXTERN char c_code;
- EXTERN int out_col;
- EXTERN char runtime_error;
- EXTERN program_counter pc;
-
- /* Input Line numbers and other error information. */
- EXTERN int line_no;
- EXTERN int had_error;
-
- /* For larger identifiers, a tree, and how many "storage" locations
- have been allocated. */
-
- EXTERN int next_array;
- EXTERN int next_func;
- EXTERN int next_var;
-
- EXTERN id_rec *name_tree;
-
- /* For error message production */
- EXTERN char **g_argv;
- EXTERN int g_argc;
- EXTERN char is_std_in;
-
- /* defined in number.c */
- extern bc_num _zero_;
- extern bc_num _one_;
-
- /* For use with getopt. Do not declare them here.*/
- extern int optind;
-
-