BAM
Abstract Machine for Bottom-Up Evaluation with the Push Method
syn.h
Go to the documentation of this file.
1 // ============================================================================
2 // Project: Deductive Database
3 // Filename: syn.h
4 // Purpose: Syntax Error Messages
5 // Last Change: 04.08.2017
6 // Language: C++
7 // EMail: brass@informatik.uni-halle.de
8 // WWW: http://www.informatik.uni-halle.de/~brass/
9 // Address: Feldschloesschen 15, D-06120 Halle (Saale), GERMANY
10 // Copyright: (c) 2015-2017 by Stefan Brass
11 // License: See file "LICENSE" for copying conditions.
12 // Note: There is no warranty at all - this code may contain bugs.
13 // ============================================================================
14 
15 
22 //=============================================================================
23 // Include File Frame:
24 //=============================================================================
25 
26 #ifndef SYN_INCLUDED
27 #define SYN_INCLUDED
28 
29 //=============================================================================
30 // Used Types and Macros:
31 //=============================================================================
32 
33 #ifndef VER_INCLUDED
34 #include "../base/ver.h"
35 #endif
36 
37 #ifndef STR_INCLUDED
38 #include "../base/str.h"
39 #endif
40 
41 #ifndef CHECK_INCLUDED
42 #include "../base/check.h"
43 #endif
44 
45 //=============================================================================
46 // Exported Types:
47 //=============================================================================
48 
49 //-----------------------------------------------------------------------------
50 // syn_t: Syntax error messages.
51 //-----------------------------------------------------------------------------
52 
57 typedef enum syn_enum {
58  SYN_PRED_EXPECTED,
59  SYN_UNKNOWN_PRED,
60  SYN_LPAREN_EXPECTED,
61  SYN_RPAREN_EXPECTED,
62  SYN_COMMA_EXPECTED,
63  SYN_FULLSTOP_EXPECTED,
64  SYN_ARG_MUST_BE_STR,
65  SYN_ARG_MUST_BE_ATOM,
66  SYN_ARG_MUST_BE_ATOM_OR_STR,
67  SYN_ARG_MUST_BE_INT,
68  SYN_ARG_CANNOT_BE_NEGATIVE,
69  SYN_INVALID_ARG_TYPE,
70  SYN_ILLEGAL_CHAR,
71  SYN_MISSINGQ,
72  SYN_NOSPACE,
73  SYN_INT_OVERFLOW,
74  SYN_BAD_ESCAPE_SEQ
75 } syn_t;
76 
77 //=============================================================================
78 // Exported Functions:
79 //=============================================================================
80 
81 //-----------------------------------------------------------------------------
82 // syn_valid: Is the parameter a valid element of the enumeration type?
83 //-----------------------------------------------------------------------------
84 
85 #if VER_DEBUG
86 bool syn_valid(syn_t syn);
87 #endif
88 
89 //-----------------------------------------------------------------------------
90 // syn_text: Text of the error message.
91 //-----------------------------------------------------------------------------
92 
93 str_t syn_text(syn_t syn);
94 
95 //=============================================================================
96 // End of File:
97 //=============================================================================
98 
99 #endif
100 
enum syn_enum syn_t
const char * str_t
Definition: str.h:41
syn_enum
Definition: syn.h:57