a68g-nil.h
1 //! @file a68g-nil.h
2 //! @author J. Marcel van der Veer
3
4 //! @section Copyright
5 //!
6 //! This file is part of Algol68G - an Algol 68 compiler-interpreter.
7 //! Copyright 2001-2024 J. Marcel van der Veer [algol68g@xs4all.nl].
8
9 //! @section License
10 //!
11 //! This program is free software; you can redistribute it and/or modify it
12 //! under the terms of the GNU General Public License as published by the
13 //! Free Software Foundation; either version 3 of the License, or
14 //! (at your option) any later version.
15 //!
16 //! This program is distributed in the hope that it will be useful, but
17 //! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
18 //! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
19 //! more details. You should have received a copy of the GNU General Public
20 //! License along with this program. If not, see [http://www.gnu.org/licenses/].
21
22 //! @section Synopsis
23 //!
24 //! Various forms of NIL.
25
26 #if !defined (__A68G_NIL_H__)
27 #define __A68G_NIL_H__
28
29 #define NO_A68_REF ((A68_REF *) NULL)
30 #define NO_ARRAY ((A68_ARRAY *) NULL)
31 #define NO_BOOK ((BOOK_T *) NULL)
32 #define NO_BOOL ((BOOL_T *) NULL)
33 #define NO_BYTE ((BYTE_T *) NULL)
34 #define NO_CONSTANT ((void *) NULL)
35 #define NO_DEC ((DEC_T *) NULL)
36 #define NO_DIAGNOSTIC ((DIAGNOSTIC_T *) NULL)
37 #define NO_EDLIN ((EDLIN_T *) NULL)
38 #define NO_FILE ((FILE *) NULL)
39 #define NO_FORMAT ((A68_FORMAT *) NULL)
40 #define NO_GINFO ((GINFO_T *) NULL)
41 #define NO_GPROC ((void (*) (NODE_T *)) NULL)
42 #define NO_HANDLE ((A68_HANDLE *) NULL)
43 #define NO_INT ((int *) NULL)
44 #define NO_JMP_BUF ((jmp_buf *) NULL)
45 #define NO_KEYWORD ((KEYWORD_T *) NULL)
46 #define NO_NINFO ((NODE_INFO_T *) NULL)
47 #define NO_NOTE ((void (*) (NODE_T *)) NULL)
48 #define NO_OPTION_LIST ((OPTION_LIST_T *) NULL)
49 #define NO_PACK ((PACK_T *) NULL)
50 #define NO_POSTULATE ((POSTULATE_T *) NULL)
51 #define NO_PPROC ((PROP_T (*) (NODE_T *)) NULL)
52 #define NO_PROCEDURE ((A68_PROCEDURE *) NULL)
53 #define NO_REAL ((REAL_T *) NULL)
54 #define NO_REFINEMENT ((REFINEMENT_T *) NULL)
55 #define NO_REGMATCH ((regmatch_t *) NULL)
56 #define NO_SCOPE ((SCOPE_T *) NULL)
57 #define NO_SOID ((SOID_T *) NULL)
58 #define NO_SOUND ((A68_SOUND *) NULL)
59 #define NO_STREAM NO_FILE
60 #define NO_TEXT ((char *) NULL)
61 #define NO_TICK ((BOOL_T *) NULL)
62 #define NO_TOKEN ((TOKEN_T *) NULL)
63 #define NO_TUPLE ((A68_TUPLE *) NULL)
64 #define NO_VAR (NULL)
65
66 static const A68_FORMAT nil_format = {
67 INIT_MASK, NULL, 0
68 };
69
70 static const A68_HANDLE nil_handle = {
71 INIT_MASK,
72 NO_BYTE,
73 0,
74 NO_MOID,
75 NO_HANDLE,
76 NO_HANDLE
77 };
78
79 static const A68_REF nil_ref = {
80 (STATUS_MASK_T) (INIT_MASK | NIL_MASK),
81 0,
82 0,
83 NO_HANDLE
84 };
85
86 #endif
© 2002-2024 J.M. van der Veer (jmvdveer@xs4all.nl)
|