Commit | Line | Data |
---|---|---|
8e9db35f PB |
1 | /* @(#) pfcompil.h 96/12/18 1.11 */ |
2 | ||
3 | #ifndef _pforth_compile_h | |
4 | #define _pforth_compile_h | |
5 | ||
6 | /*************************************************************** | |
7 | ** Include file for PForth Compiler | |
8 | ** | |
9 | ** Author: Phil Burk | |
10 | ** Copyright 1994 3DO, Phil Burk, Larry Polansky, David Rosenboom | |
11 | ** | |
1f99f95d S |
12 | ** Permission to use, copy, modify, and/or distribute this |
13 | ** software for any purpose with or without fee is hereby granted. | |
14 | ** | |
15 | ** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL | |
16 | ** WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED | |
17 | ** WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL | |
18 | ** THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR | |
19 | ** CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING | |
20 | ** FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF | |
21 | ** CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
22 | ** OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
8e9db35f PB |
23 | ** |
24 | ***************************************************************/ | |
25 | ||
26 | #ifdef __cplusplus | |
27 | extern "C" { | |
28 | #endif | |
29 | ||
30 | Err ffPushInputStream( FileStream *InputFile ); | |
31 | ExecToken NameToToken( const ForthString *NFA ); | |
32 | FileStream * ffConvertSourceIDToStream( cell_t id ); | |
33 | FileStream *ffPopInputStream( void ); | |
34 | cell_t ffConvertStreamToSourceID( FileStream *Stream ); | |
35 | cell_t ffFind( const ForthString *WordName, ExecToken *pXT ); | |
36 | cell_t ffFindC( const char *WordName, ExecToken *pXT ); | |
37 | cell_t ffFindNFA( const ForthString *WordName, const ForthString **NFAPtr ); | |
38 | cell_t ffNumberQ( const char *FWord, cell_t *Num ); | |
39 | cell_t ffRefill( void ); | |
40 | cell_t ffTokenToName( ExecToken XT, const ForthString **NFAPtr ); | |
41 | cell_t *NameToCode( ForthString *NFA ); | |
42 | PForthDictionary pfBuildDictionary( cell_t HeaderSize, cell_t CodeSize ); | |
43 | char *ffWord( char c ); | |
f7548536 | 44 | char *ffLWord( char c ); |
8e9db35f PB |
45 | const ForthString *NameToPrevious( const ForthString *NFA ); |
46 | cell_t FindSpecialCFAs( void ); | |
47 | cell_t FindSpecialXTs( void ); | |
48 | cell_t NotCompiled( const char *FunctionName ); | |
49 | void CreateDicEntry( ExecToken XT, const ForthStringPtr FName, ucell_t Flags ); | |
50 | void CreateDicEntryC( ExecToken XT, const char *CName, ucell_t Flags ); | |
51 | void ff2Literal( cell_t dHi, cell_t dLo ); | |
52 | void ffALiteral( cell_t Num ); | |
53 | void ffColon( void ); | |
54 | void ffCreate( void ); | |
55 | void ffCreateSecondaryHeader( const ForthStringPtr FName); | |
56 | void ffDefer( void ); | |
57 | void ffFinishSecondary( void ); | |
58 | void ffLiteral( cell_t Num ); | |
59 | void ffStringCreate( ForthStringPtr FName); | |
60 | void ffStringDefer( const ForthStringPtr FName, ExecToken DefaultXT ); | |
61 | void pfHandleIncludeError( void ); | |
62 | ||
63 | ThrowCode ffSemiColon( void ); | |
64 | ThrowCode ffOK( void ); | |
65 | ThrowCode ffInterpret( void ); | |
66 | ThrowCode ffOuterInterpreterLoop( void ); | |
67 | ThrowCode ffIncludeFile( FileStream *InputFile ); | |
68 | ||
69 | #ifdef PF_SUPPORT_FP | |
70 | void ffFPLiteral( PF_FLOAT fnum ); | |
71 | #endif | |
72 | ||
73 | #ifdef __cplusplus | |
74 | } | |
75 | #endif | |
76 | ||
77 | #endif /* _pforth_compile_h */ |