Austin Schuh | dace2a6 | 2020-08-18 10:56:48 -0700 | [diff] [blame] | 1 | Copyright 2001 Free Software Foundation, Inc. |
| 2 | |
| 3 | This file is part of the GNU MP Library. |
| 4 | |
| 5 | This program is free software; you can redistribute it and/or modify it under |
| 6 | the terms of the GNU General Public License as published by the Free Software |
| 7 | Foundation; either version 3 of the License, or (at your option) any later |
| 8 | version. |
| 9 | |
| 10 | This program is distributed in the hope that it will be useful, but WITHOUT ANY |
| 11 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
| 12 | PARTICULAR PURPOSE. See the GNU General Public License for more details. |
| 13 | |
| 14 | You should have received a copy of the GNU General Public License along with |
| 15 | this program. If not, see https://www.gnu.org/licenses/. |
| 16 | |
| 17 | |
| 18 | |
| 19 | |
| 20 | DEMONSTRATION CALCULATOR PROGRAM |
| 21 | |
| 22 | |
| 23 | This is a simple program, meant only to show one way to use GMP with yacc |
| 24 | and lex to make a calculator. Usage and comments on the implementation can |
| 25 | be found in calc.y. |
| 26 | |
| 27 | Within a GMP build tree, the generated Makefile can be used to build the |
| 28 | program, |
| 29 | |
| 30 | make calc |
| 31 | |
| 32 | (or on a DOS system, "make calc.exe"). |
| 33 | |
| 34 | Elsewhere, once GMP has been installed, the program can be compiled with for |
| 35 | instance |
| 36 | |
| 37 | gcc calc.c calclex.c -lgmp -o calc |
| 38 | |
| 39 | Or if GNU readline is used then |
| 40 | |
| 41 | gcc calc.c calclex.c calcread.c -lgmp -lreadline -o calc |
| 42 | |
| 43 | (again, on a DOS system "-o calc.exe"). |
| 44 | |
| 45 | Readline support can be enabled or disabled in calc-config.h. That file is |
| 46 | created by the GMP ./configure based on the --with-readline option. The |
| 47 | default is --with-readline=detect, which means to use readline if available. |
| 48 | "yes" can be used to force it to be used, or "no" to not use it. |
| 49 | |
| 50 | The supplied calc.c was generated by GNU bison, but a standard yacc should |
| 51 | work too. |
| 52 | |
| 53 | The supplied calclex.c was generated by GNU flex, but a standard lex should |
| 54 | work too. The readline support may or may not work with a standard lex (see |
| 55 | comments with input() in calcread.c). Note also that a standard lex will |
| 56 | require its library "-ll" on the compile command line. "./configure" sets |
| 57 | this up in the GMP build tree Makefile. |
| 58 | |
| 59 | |
| 60 | |
| 61 | ---------------- |
| 62 | Local variables: |
| 63 | mode: text |
| 64 | fill-column: 76 |
| 65 | End: |