Merge pull request #70 from philburk/ignoreds
[pforth] / csrc / pfcompil.h
CommitLineData
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**
12** The pForth software code is dedicated to the public domain,
13** and any third party may reproduce, distribute and modify
14** the pForth software code or any derivative works thereof
15** without any compensation or license. The pForth software
16** code is provided on an "as is" basis without any warranty
17** of any kind, including, without limitation, the implied
18** warranties of merchantability and fitness for a particular
19** purpose and their equivalents under the laws of any jurisdiction.
20**
21***************************************************************/
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27Err ffPushInputStream( FileStream *InputFile );
28ExecToken NameToToken( const ForthString *NFA );
29FileStream * ffConvertSourceIDToStream( cell_t id );
30FileStream *ffPopInputStream( void );
31cell_t ffConvertStreamToSourceID( FileStream *Stream );
32cell_t ffFind( const ForthString *WordName, ExecToken *pXT );
33cell_t ffFindC( const char *WordName, ExecToken *pXT );
34cell_t ffFindNFA( const ForthString *WordName, const ForthString **NFAPtr );
35cell_t ffNumberQ( const char *FWord, cell_t *Num );
36cell_t ffRefill( void );
37cell_t ffTokenToName( ExecToken XT, const ForthString **NFAPtr );
38cell_t *NameToCode( ForthString *NFA );
39PForthDictionary pfBuildDictionary( cell_t HeaderSize, cell_t CodeSize );
40char *ffWord( char c );
f7548536 41char *ffLWord( char c );
8e9db35f
PB
42const ForthString *NameToPrevious( const ForthString *NFA );
43cell_t FindSpecialCFAs( void );
44cell_t FindSpecialXTs( void );
45cell_t NotCompiled( const char *FunctionName );
46void CreateDicEntry( ExecToken XT, const ForthStringPtr FName, ucell_t Flags );
47void CreateDicEntryC( ExecToken XT, const char *CName, ucell_t Flags );
48void ff2Literal( cell_t dHi, cell_t dLo );
49void ffALiteral( cell_t Num );
50void ffColon( void );
51void ffCreate( void );
52void ffCreateSecondaryHeader( const ForthStringPtr FName);
53void ffDefer( void );
54void ffFinishSecondary( void );
55void ffLiteral( cell_t Num );
56void ffStringCreate( ForthStringPtr FName);
57void ffStringDefer( const ForthStringPtr FName, ExecToken DefaultXT );
58void pfHandleIncludeError( void );
59
60ThrowCode ffSemiColon( void );
61ThrowCode ffOK( void );
62ThrowCode ffInterpret( void );
63ThrowCode ffOuterInterpreterLoop( void );
64ThrowCode ffIncludeFile( FileStream *InputFile );
65
66#ifdef PF_SUPPORT_FP
67void ffFPLiteral( PF_FLOAT fnum );
68#endif
69
70#ifdef __cplusplus
71}
72#endif
73
74#endif /* _pforth_compile_h */