bb6b2dcd |
1 | /* @(#) pfcompil.h 96/12/18 1.11 */\r |
2 | \r |
3 | #ifndef _pforth_compile_h\r |
4 | #define _pforth_compile_h\r |
5 | \r |
6 | /***************************************************************\r |
7 | ** Include file for PForth Compiler\r |
8 | **\r |
9 | ** Author: Phil Burk\r |
10 | ** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom\r |
11 | **\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 |
20 | **\r |
21 | ***************************************************************/\r |
22 | \r |
23 | #ifdef __cplusplus\r |
24 | extern "C" {\r |
25 | #endif\r |
26 | \r |
27 | Err ffPushInputStream( FileStream *InputFile );\r |
28 | ExecToken NameToToken( const ForthString *NFA );\r |
29 | FileStream * ffConvertSourceIDToStream( cell id );\r |
30 | FileStream *ffPopInputStream( void );\r |
31 | cell ffConvertStreamToSourceID( FileStream *Stream );\r |
32 | cell ffFind( const ForthString *WordName, ExecToken *pXT );\r |
33 | cell ffFindC( const char *WordName, ExecToken *pXT );\r |
34 | cell ffFindNFA( const ForthString *WordName, const ForthString **NFAPtr );\r |
35 | cell ffNumberQ( const char *FWord, cell *Num );\r |
36 | cell ffRefill( void );\r |
37 | cell ffTokenToName( ExecToken XT, const ForthString **NFAPtr );\r |
38 | cell *NameToCode( ForthString *NFA );\r |
39 | PForthDictionary pfBuildDictionary( int32 HeaderSize, int32 CodeSize );\r |
40 | char *ffWord( char c );\r |
41 | const ForthString *NameToPrevious( const ForthString *NFA );\r |
42 | int32 FindSpecialCFAs( void );\r |
43 | int32 FindSpecialXTs( void );\r |
44 | int32 NotCompiled( const char *FunctionName );\r |
45 | void CreateDicEntry( ExecToken XT, const ForthStringPtr FName, uint32 Flags );\r |
46 | void CreateDicEntryC( ExecToken XT, const char *CName, uint32 Flags );\r |
47 | void ff2Literal( cell dHi, cell dLo );\r |
48 | void ffALiteral( cell 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 Num );\r |
55 | void ffStringCreate( ForthStringPtr FName);\r |
56 | void ffStringDefer( const ForthStringPtr FName, ExecToken DefaultXT );\r |
57 | void pfHandleIncludeError( void );\r |
58 | \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 |
64 | \r |
65 | #ifdef PF_SUPPORT_FP\r |
66 | void ffFPLiteral( PF_FLOAT fnum );\r |
67 | #endif\r |
68 | \r |
69 | #ifdef __cplusplus\r |
70 | } \r |
71 | #endif\r |
72 | \r |
73 | #endif /* _pforth_compile_h */\r |