install

来自「这是一个简易的basic语言解释器, 可供我们学习和改进.」· 代码 · 共 159 行

TXT
159
字号
Some Notes on Installation of the Bywater BASIC Interpreter:-----------------------------------------------------------0. Quick-Start Guide For Compiling   To use the default configuration (which is reasonable for most situations):   On Unix, type "configure; make".   On MS-DOS using QuickC, type "nmake -f makefile.qcl".   You can skip the rest of this file unless you want to customize the   BASIC dialect that is supported, or something goes wrong in the   above commands.1. Compiler Requirements   Although earlier versions of bwBASIC would compile only with   ANSI C compilers, versions 2.10 and higher can be compiled   with "stock" C compilers, i.e., compilers that comply with   the older Kernighan and Ritchie C standard.   Section I-B of bwbasic.h allows you to specify some compiler   features.  If you have an ANSI C compiler, you needn't worry   with this.  For stock C compilers, the default configuration   presumes that your compiler supports signal() and raise()   with the signal.h header, supports setjmp() and longjmp()   with the setjmp.h header, and has a separate string.h   header.  If your compiler does not have these features   and the related header files, you can indicate this in   section I-B by setting appropriate flags to FALSE.   2. Configuration of header files   You may need to examine file "bwbasic.h" to make important   changes for specific hardware and compiler configurations.   You may also need to change "bwx_tty.h" if you are using the   TTY implementation or "bwx_iqc.h" if you are using the version   for PCs with Microsoft QuickC (see below on "implementations").   If you want to redefine messages or even the BASIC command   names, you will need to edit "bwb_mes.h".3. Makefiles   Several makefiles are provided: "makefile.qcl" will compile   the program utilizing the Microsoft QuickC (tm) line-oriented   compiler on DOS-based p.c.'s, and "makefile" will compile the   program on Unix-based computers utilizing either a stock C    compiler or Gnu C++. I have also compiled the program utilizing    Borland's Turbo C++ (tm) on DOS-based machines, although I have    not supplied a makefile for Turbo C++.   If you try the "IQC" implementation, you will need to alter   makefile.qcl to include bwx_iqc.c (and bqx_iqc.obj) instead   of bwx_tty.*.   4. Implementations   The present status of bwBASIC allows two major implementations   controlled by the IMP_TTY and IMP_IQC flags in bwbasic.h.   IMP_TTY is the base implementation and presumes a simple   TTY-style environment, with all keyboard and screen input   and output directed through stdin and stdout. If IMP_TTY is   defined as TRUE, then the file bwx_tty.h will be included,   and a makefile should include compilation of bwx_tty.c.   IMP_IQC is a somewhat more elaborate implementation for   the IBM PC and compatible microcomputers utilizing the   Microsoft QuickC compiler.  This allows some more elaborate   commands (CLS and LOCATE) and the INKEY$ function, and   allows greater control over output.  If IMP_IQC is defined   as TRUE in bwbasic.h, then bwx_iqc.h will be included and   bwx_iqc.c should be compiled in the makefile.   Only one of the flags IMP_TTY or IMP_IQC should be set   to TRUE.   5. Flags Controlling Groups of Commands and Functions    There are a number of flags which control groups of commands   and functions to be implemented.     (core)		Commands and Functions in any implementation of   			bwBASIC; these are the ANSI Minimal BASIC core   INTERACTIVE		Commands supporting the interactive programming   			environment   COMMON_CMDS		Commands beyond ANSI Minimal BASIC which are common   			to Full ANSI BASIC and Microsoft BASICs   COMMON_FUNCS		Functions beyond the ANSI Mimimal BASIC core, but   			common to both ANSI Full BASIC and Microsoft-style   			BASIC varieties   UNIX_CMDS		Commands which require Unix-style directory and   			environment routines not specified in ANSI C   STRUCT_CMDS		Commands related to structured programming; all   			of these are part of the Full ANSI BASIC standard   ANSI_FUNCS		Functions unique to ANSI Full BASIC   MS_CMDS		Commands unique to Microsoft BASICs   MS_FUNCS		Functions unique to Microsoft BASICs6. Configurations   The file bwbasic.h includes a number of configuration options   that will automatically select groups of commands and functions   according to predetermined patterns.  These are:   CFG_ANSIMINIMAL	Conforms to ANSI Minimal BASIC standard X3.60-1978.   CFG_COMMON      	Small implementation with commands and functions                        common to GWBASIC (tm) and ANSI full BASIC.   CFG_MSTYPE      	Configuration similar to Microsoft line-oriented                        BASICs.   CFG_ANSIFULL		Conforms to ANSI Full BASIC standard X3.113-1987                        (subset at present).   CFG_CUSTOM		Custom Configuration specified by user.   Only one of these flags should be set to TRUE.7. Adding Commands and Functions   In order to add a new command to bwBASIC, follow the following   procedure:      (a) Write the command body using function bwb_null() in bwb_cmd.c      as a template.  The command-body function (in C) must receive a      pointer to a bwb_line structure, and must pass on a pointer to      a bwb_line structure.  The preferred method for returning from      a command-body function is: return bwb_zline( l ); this will      discriminate between MULTISEG_LINES programs which advance to      the next segment and those which advance to the next line.      (b) Add prototypes for the command-body function in bwbasic.h;      you'll need one prototype with arguments in the ANSI_C section      and one prototype without arguments in the non-ANSI_C section.      (c) Add the command to the command table in bwb_tbl.c in the      group you have selected for it.      (d) Increment the number of commands for the group in which      you have placed your command.     The procedure for adding a new function is parallel to this, except that   you should use fnc_null() in bwb_fnc.c as the template, and the   function name must be added to the function table in bwb_tbl.c. 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?