Imported Upstream version 0.1beta
[debian/yforth] / coree.h
1 /* yForth? - Written by Luca Padovani (C) 1996/97
2  * ------------------------------------------------------------------------
3  * This software is FreeWare as long as it comes with this header in each
4  * source file, anyway you can use it or any part of it whatever
5  * you want. It comes without any warranty, so use it at your own risk.
6  * ------------------------------------------------------------------------
7  * Module name:     coree.h
8  * Abstract:        Include file for "core-extension" word set
9  */
10
11 #ifdef DECLARE_WORDS
12 #       ifdef PROTOTYPES
13 #               undef PROTOTYPES
14 #       endif
15 #       undef __COREE_H__
16 #else
17 #       ifndef PROTOTYPES
18 #               define PROTOTYPES
19 #       endif
20 #endif
21
22 #ifndef __COREE_H__
23 #define __COREE_H__
24
25 #include "yforth.h"
26 #include "macro.h"
27
28 /**************************************************************************/
29 /* VARIABLES **************************************************************/
30 /**************************************************************************/
31
32 variable(Char *, pad,                   "pad")
33 variable(Cell, source_id,               "source-id")
34
35 /**************************************************************************/
36 /* PROTOTYPES *************************************************************/
37 /**************************************************************************/
38
39 code(dot_paren,                     ".(",                   IMMEDIATE)
40 code(dot_r,                                                     ".r",                                   0)
41 code(zero_not_equals,               "0<>",                  0)
42 code(zero_greater,                  "0>",                   0)
43 code(two_to_r,                      "2>r",                  COMP_ONLY)
44 code(two_r_from,                    "2r>",                  COMP_ONLY)
45 code(two_r_fetch,                   "2r@",                  COMP_ONLY)
46 code(colon_no_name,                 ":noname",              0)
47 code(not_equals,                    "<>",                   0)
48 code(question_do,                   "?do",                  COMP_ONLY | IMMEDIATE)
49 code(again,                         "again",                COMP_ONLY | IMMEDIATE)
50 code(c_quote,                       "c\"",                  COMP_ONLY | IMMEDIATE)
51 code(compile_comma,                 "compile,",             COMP_ONLY)
52 code(erase,                         "erase",                0)
53 code(false,                         "false",                0)
54 code(hex,                           "hex",                  0)
55 code(marker,                        "marker",               0)
56 code(nip,                           "nip",                  0)
57 code(parse,                         "parse",                0)
58 code(pick,                          "pick",                 0)
59 code(refill,                        "refill",               0)
60 code(restore_input,                 "restore-input",        0)
61 code(roll,                          "roll",                 0)
62 code(save_input,                    "save-input",           0)
63 code(true,                          "true",                 0)
64 code(tuck,                          "tuck",                 0)
65 code(u_dot_r,                                           "u.r",                                  0)
66 code(u_greater_than,                "u>",                   0)
67 code(unused,                        "unused",               0)
68 code(within,                        "within",               0)
69 code(backslash,                     "\\",                   IMMEDIATE)
70 code(bracket_compile,               "[compile]",            COMP_ONLY)
71 code(value,                                                     "value",                                0)
72 code(to,                                                        "to",                                   IMMEDIATE)
73
74 code(paren_question_do_paren,       "(?do)",                0)
75 code(paren_write_value_paren,           "(wValue)",                             0)
76 code(paren_marker_paren,                        "(marker)",                             0)
77
78 #ifdef PROTOTYPES
79
80 /**************************************************************************/
81 /* AUXILIARY FUNCTIONS PROTOTYPES *****************************************/
82 /**************************************************************************/
83
84 void exec_marker(struct voc_marker *vm);
85
86 #endif
87
88 #endif
89