--- gforth/vmgen-ex2/support.c 2002/06/02 15:46:18 1.1 +++ gforth/vmgen-ex2/support.c 2007/12/31 18:40:26 1.6 @@ -1,12 +1,12 @@ /* support functions and main() for vmgen example - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001,2003 Free Software Foundation, Inc. This file is part of Gforth. Gforth 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 + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,13 +15,14 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + along with this program; if not, see http://www.gnu.org/licenses/. */ #include #include #include +extern int optind; + #include #include "mini.h" @@ -154,9 +155,9 @@ int main(int argc, char **argv) int disassembling = 0; int profiling = 0; int c; - Inst vm_code[CODE_SIZE]; + Inst *vm_code=(Inst *)calloc(CODE_SIZE,sizeof(Inst)); Inst *start; - Cell stack[STACK_SIZE]; + Cell *stack=(Cell *)calloc(STACK_SIZE,sizeof(Cell)); engine_t runvm=engine; while ((c = getopt(argc, argv, "hdpt")) != -1) { @@ -164,14 +165,7 @@ int main(int argc, char **argv) default: case 'h': help: - fprintf(stderr, "\ -Usage: %s [options] file\n -Options:\n --h Print this message and exit\n\ --d disassemble VM program before execution\n\ --p profile VM code sequences (output on stderr)\n\ --t trace VM code execution (output on stderr)\n\ -", + fprintf(stderr, "Usage: %s [options] file\nOptions:\n-h Print this message and exit\n-d disassemble VM program before execution\n-p profile VM code sequences (output on stderr)\n-t trace VM code execution (output on stderr)\n", argv[0]); exit(1); case 'd': @@ -179,6 +173,7 @@ Options:\n break; case 'p': profiling=1; + use_super=0; /* we don't want superinstructions in the profile */ runvm = engine_debug; break; case 't':