1 /* @(#) pfcompil.h 96/12/18 1.11 */
\r
3 #ifndef _pforth_compile_h
\r
4 #define _pforth_compile_h
\r
6 /***************************************************************
\r
7 ** Include file for PForth Compiler
\r
10 ** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom
\r
12 ** The pForth software code is dedicated to the public domain,
\r
13 ** and any third party may reproduce, distribute and modify
\r
14 ** the pForth software code or any derivative works thereof
\r
15 ** without any compensation or license. The pForth software
\r
16 ** code is provided on an "as is" basis without any warranty
\r
17 ** of any kind, including, without limitation, the implied
\r
18 ** warranties of merchantability and fitness for a particular
\r
19 ** purpose and their equivalents under the laws of any jurisdiction.
\r
21 ***************************************************************/
\r
27 Err ffPushInputStream( FileStream *InputFile );
\r
28 ExecToken NameToToken( const ForthString *NFA );
\r
29 FileStream * ffConvertSourceIDToStream( cell_t id );
\r
30 FileStream *ffPopInputStream( void );
\r
31 cell_t ffConvertStreamToSourceID( FileStream *Stream );
\r
32 cell_t ffFind( const ForthString *WordName, ExecToken *pXT );
\r
33 cell_t ffFindC( const char *WordName, ExecToken *pXT );
\r
34 cell_t ffFindNFA( const ForthString *WordName, const ForthString **NFAPtr );
\r
35 cell_t ffNumberQ( const char *FWord, cell_t *Num );
\r
36 cell_t ffRefill( void );
\r
37 cell_t ffTokenToName( ExecToken XT, const ForthString **NFAPtr );
\r
38 cell_t *NameToCode( ForthString *NFA );
\r
39 PForthDictionary pfBuildDictionary( cell_t HeaderSize, cell_t CodeSize );
\r
40 char *ffWord( char c );
\r
41 const ForthString *NameToPrevious( const ForthString *NFA );
\r
42 cell_t FindSpecialCFAs( void );
\r
43 cell_t FindSpecialXTs( void );
\r
44 cell_t NotCompiled( const char *FunctionName );
\r
45 void CreateDicEntry( ExecToken XT, const ForthStringPtr FName, ucell_t Flags );
\r
46 void CreateDicEntryC( ExecToken XT, const char *CName, ucell_t Flags );
\r
47 void ff2Literal( cell_t dHi, cell_t dLo );
\r
48 void ffALiteral( cell_t Num );
\r
49 void ffColon( void );
\r
50 void ffCreate( void );
\r
51 void ffCreateSecondaryHeader( const ForthStringPtr FName);
\r
52 void ffDefer( void );
\r
53 void ffFinishSecondary( void );
\r
54 void ffLiteral( cell_t Num );
\r
55 void ffStringCreate( ForthStringPtr FName);
\r
56 void ffStringDefer( const ForthStringPtr FName, ExecToken DefaultXT );
\r
57 void pfHandleIncludeError( void );
\r
59 ThrowCode ffSemiColon( void );
\r
60 ThrowCode ffOK( void );
\r
61 ThrowCode ffInterpret( void );
\r
62 ThrowCode ffOuterInterpreterLoop( void );
\r
63 ThrowCode ffIncludeFile( FileStream *InputFile );
\r
65 #ifdef PF_SUPPORT_FP
\r
66 void ffFPLiteral( PF_FLOAT fnum );
\r
73 #endif /* _pforth_compile_h */
\r