Fix +loop on 64-bit machines
[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 );
41const ForthString *NameToPrevious( const ForthString *NFA );
42cell_t FindSpecialCFAs( void );
43cell_t FindSpecialXTs( void );
44cell_t NotCompiled( const char *FunctionName );
45void CreateDicEntry( ExecToken XT, const ForthStringPtr FName, ucell_t Flags );
46void CreateDicEntryC( ExecToken XT, const char *CName, ucell_t Flags );
47void ff2Literal( cell_t dHi, cell_t dLo );
48void ffALiteral( cell_t Num );
49void ffColon( void );
50void ffCreate( void );
51void ffCreateSecondaryHeader( const ForthStringPtr FName);
52void ffDefer( void );
53void ffFinishSecondary( void );
54void ffLiteral( cell_t Num );
55void ffStringCreate( ForthStringPtr FName);
56void ffStringDefer( const ForthStringPtr FName, ExecToken DefaultXT );
57void pfHandleIncludeError( void );
58
59ThrowCode ffSemiColon( void );
60ThrowCode ffOK( void );
61ThrowCode ffInterpret( void );
62ThrowCode ffOuterInterpreterLoop( void );
63ThrowCode ffIncludeFile( FileStream *InputFile );
64
65#ifdef PF_SUPPORT_FP
66void ffFPLiteral( PF_FLOAT fnum );
67#endif
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif /* _pforth_compile_h */