X-Git-Url: http://git.subgeniuskitty.com/pforth/.git/blobdiff_plain/a80283a747da0ca5a791dcfc5fe1a6261feecc5c..1f99f95d6a7eecc05cae8fb357f9b7bf564c2725:/csrc/pf_main.c diff --git a/csrc/pf_main.c b/csrc/pf_main.c index 71defbc..1d9fa08 100644 --- a/csrc/pf_main.c +++ b/csrc/pf_main.c @@ -1,140 +1,151 @@ -/* @(#) pf_main.c 98/01/26 1.2 */ -/*************************************************************** -** Forth based on 'C' -** -** main() routine that demonstrates how to call PForth as -** a module from 'C' based application. -** Customize this as needed for your application. -** -** Author: Phil Burk -** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom -** -** The pForth software code is dedicated to the public domain, -** and any third party may reproduce, distribute and modify -** the pForth software code or any derivative works thereof -** without any compensation or license. The pForth software -** code is provided on an "as is" basis without any warranty -** of any kind, including, without limitation, the implied -** warranties of merchantability and fitness for a particular -** purpose and their equivalents under the laws of any jurisdiction. -** -***************************************************************/ - -#if (defined(PF_NO_STDIO) || defined(PF_EMBEDDED)) - #define NULL ((void *) 0) - #define ERR(msg) /* { printf msg; } */ -#else - #include - #define ERR(msg) { printf msg; } -#endif - -#include "pforth.h" - -#ifndef PF_DEFAULT_DICTIONARY -#define PF_DEFAULT_DICTIONARY "pforth.dic" -#endif - -#ifdef __MWERKS__ - #include - #include -#endif - -#ifndef TRUE -#define TRUE (1) -#define FALSE (0) -#endif - -#ifdef PF_EMBEDDED -int main( void ) -{ - char IfInit = 0; - const char *DicName = NULL; - const char *SourceName = NULL; - pfMessage("\npForth Embedded\n"); - return pfDoForth( DicName, SourceName, IfInit); -} -#else - -int main( int argc, char **argv ) -{ -#ifdef PF_STATIC_DIC - const char *DicName = NULL; -#else /* PF_STATIC_DIC */ - const char *DicName = PF_DEFAULT_DICTIONARY; -#endif /* !PF_STATIC_DIC */ - - const char *SourceName = NULL; - char IfInit = FALSE; - char *s; - cell_t i; - int Result; - -/* For Metroworks on Mac */ -#ifdef __MWERKS__ - argc = ccommand(&argv); -#endif - - pfSetQuiet( FALSE ); -/* Parse command line. */ - for( i=1; i + #define ERR(msg) { printf msg; } +#endif + +#include "pforth.h" + +#ifndef PF_DEFAULT_DICTIONARY +#define PF_DEFAULT_DICTIONARY "pforth.dic" +#endif + +#ifdef __MWERKS__ + #include + #include +#endif + +#ifndef TRUE +#define TRUE (1) +#define FALSE (0) +#endif + +#ifdef PF_EMBEDDED +int main( void ) +{ + char IfInit = 0; + const char *DicName = NULL; + const char *SourceName = NULL; + pfMessage("\npForth Embedded\n"); + return pfDoForth( DicName, SourceName, IfInit); +} +#else + +int main( int argc, char **argv ) +{ +#ifdef PF_STATIC_DIC + const char *DicName = NULL; +#else /* PF_STATIC_DIC */ + const char *DicName = PF_DEFAULT_DICTIONARY; +#endif /* !PF_STATIC_DIC */ + + const char *SourceName = NULL; + char IfInit = FALSE; + char *s; + cell_t i; + ThrowCode Result; + +/* For Metroworks on Mac */ +#ifdef __MWERKS__ + argc = ccommand(&argv); +#endif + + pfSetQuiet( FALSE ); +/* Parse command line. */ + for( i=1; i