1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
|
/* file generated by oo2c -- do not edit */
#include "Scanner.h"
#include "Channel.h"
#include "Config.h"
#include "Data.h"
#include "Error.h"
#include "Files.h"
#include "IntStr.h"
#include "LRealStr.h"
#include "ParamPaths.h"
#include "RealStr.h"
#include "StdTypes.h"
#include "Strings.h"
#include "Termination.h"
#include "RCS.h"
/* local definitions */
ParamOptions__IntegerOption Scanner__stringLength;
ParamOptions__IntegerOption Scanner__identLength;
unsigned char Scanner__allowUnderscore;
unsigned char Scanner__moduleIdent;
static unsigned char Scanner__kwStr[2560];
static signed char Scanner__kwSym[256];
static unsigned char Scanner__incrementalRead;
static unsigned char* Scanner__buf;
static int Scanner__pos;
static int Scanner__fileLen;
static int Scanner__currLen;
static Files__File Scanner__inFile;
static Channel__Reader Scanner__inReader;
signed char Scanner__sym;
int Scanner__currSymPos;
int Scanner__lastSymEnd;
Parameter__String Scanner__str;
signed char Scanner__numType;
int Scanner__intVal;
double Scanner__realVal;
static unsigned char Scanner__finished;
int Scanner__sourceTotal;
int Scanner__sourceLines;
typedef int* Scanner__PosArray;
static Scanner__PosArray Scanner__eolArray;
static int Scanner__eolCounter;
static Scanner__ConditionStack Scanner__condStack;
static signed char Scanner__scanStatus;
typedef struct Scanner__ParsePragma_Value {
signed char type;
unsigned char boolean;
char _2pad, _3pad;
int integer;
Parameter__String string;
int pos;
} Scanner__ParsePragma_Value;
/* function prototypes */
void Scanner__EndOfLine(void);
int Scanner__FindLine(int pos);
void Scanner__PopCond(void);
void Scanner__ParsePragma_CheckName(unsigned char* name, int name_0d);
void Scanner__ParsePragma_CheckBoolean(unsigned char eval, Scanner__ParsePragma_Value *value, _Type value__tag);
void Scanner__ParsePragma_Expression_SimpleExpr_Term_Factor(unsigned char eval, Scanner__ParsePragma_Value *value, _Type value__tag);
void Scanner__ParsePragma_Expression_SimpleExpr_Term(unsigned char eval, Scanner__ParsePragma_Value *value, _Type value__tag);
void Scanner__ParsePragma_Expression_SimpleExpr(unsigned char eval, Scanner__ParsePragma_Value *value, _Type value__tag);
void Scanner__ParsePragma_Expression(unsigned char eval, Scanner__ParsePragma_Value *value, _Type value__tag);
unsigned char Scanner__ParsePragma_BoolExpression(unsigned char eval);
void Scanner__ParsePragma_PushCond(unsigned char *Scanner__ParsePragma_evalText);
void Scanner__ParsePragma_CheckForIf(unsigned char noElse, unsigned char *Scanner__ParsePragma_evalText);
void Scanner__ParsePragma_Assignment(unsigned char define, unsigned char eval, unsigned char *Scanner__ParsePragma_err, unsigned char Scanner__ParsePragma_ins[16]);
void Scanner__ParsePragma(void);
void Scanner__ReadBlock(void);
void Scanner__Comment(void);
void Scanner__StoreString(int from, int to);
void Scanner__GetString(unsigned char end);
unsigned char Scanner__Ident_CompareIdent(unsigned char* kw, int kw_0d, int *Scanner__Ident_start);
unsigned char Scanner__Ident_IsChar(unsigned char inclDigit);
void Scanner__Ident_SkipWord(int *Scanner__Ident_sum);
void Scanner__Ident(void);
short int Scanner__Number_ConvertHex_GetCypher(unsigned char c);
int Scanner__Number_ConvertHex(int spos, int epos, int *Scanner__Number_start);
void Scanner__Number(void);
Scanner__ConditionStack Scanner__SaveScanPos_Copy(Scanner__ConditionStack cond);
void Scanner__InitKeywords_KW(const unsigned char* ident__ref, int ident_0d, signed char sym);
/* module and type descriptors */
static const struct {
int length;
void* pad;
const char name[8];
} _n0 = {8, NULL, {"Scanner"}};
static struct _MD Scanner_md = {
NULL,
&Kernel__ModuleDesc_td.td,
{
NULL,
(const unsigned char*)_n0.name,
-1,
NULL
}
};
static const struct {
int length;
void* pad;
const char name[19];
} _n1 = {19, NULL, {"ConditionStackDesc"}};
static const struct {
int length;
void* pad;
_Type btypes[1];
} Scanner__ConditionStackDesc_tdb = {
1,
NULL,
{
&Scanner__ConditionStackDesc_td.td
}
};
static const struct {
int length;
void* pad;
const void* tbprocs[1];
} _tb0 = {0, NULL, {
NULL
}};
struct _TD Scanner__ConditionStackDesc_td = {
NULL,
&Types__TypeDesc_td.td,
{
Scanner__ConditionStackDesc_tdb.btypes,
_tb0.tbprocs,
(const unsigned char*)_n1.name,
&Scanner_md.md,
0,
'0', '1',
sizeof(Scanner__ConditionStackDesc),
NULL
}
};
static const struct {
int length;
void* pad;
const char name[10];
} _n2 = {10, NULL, {"ScanState"}};
static const struct {
int length;
void* pad;
_Type btypes[1];
} Scanner__ScanState_tdb = {
1,
NULL,
{
&Scanner__ScanState_td.td
}
};
static const struct {
int length;
void* pad;
const void* tbprocs[1];
} _tb1 = {0, NULL, {
NULL
}};
struct _TD Scanner__ScanState_td = {
NULL,
&Types__TypeDesc_td.td,
{
Scanner__ScanState_tdb.btypes,
_tb1.tbprocs,
(const unsigned char*)_n2.name,
&Scanner_md.md,
0,
'0', '1',
sizeof(Scanner__ScanState),
&Scanner__ConditionStackDesc_td.td
}
};
static const struct {
int length;
void* pad;
_Type btypes[1];
} Scanner__ParsePragma_Value_tdb = {
1,
NULL,
{
&Scanner__ParsePragma_Value_td.td
}
};
static const struct {
int length;
void* pad;
const void* tbprocs[1];
} _tb2 = {0, NULL, {
NULL
}};
struct _TD Scanner__ParsePragma_Value_td = {
NULL,
&Types__TypeDesc_td.td,
{
Scanner__ParsePragma_Value_tdb.btypes,
_tb2.tbprocs,
NULL,
&Scanner_md.md,
0,
'0', '1',
sizeof(Scanner__ParsePragma_Value),
&Scanner__ScanState_td.td
}
};
/* local strings */
static const unsigned char _c47[] = "IdentLength";
static const unsigned char _c46[] = "StringLength";
static const unsigned char _c45[] = "WITH";
static const unsigned char _c44[] = "WHILE";
static const unsigned char _c43[] = "VAR";
static const unsigned char _c42[] = "UNTIL";
static const unsigned char _c41[] = "TYPE";
static const unsigned char _c40[] = "TO";
static const unsigned char _c39[] = "THEN";
static const unsigned char _c38[] = "RETURN";
static const unsigned char _c37[] = "REPEAT";
static const unsigned char _c36[] = "RECORD";
static const unsigned char _c35[] = "PROCEDURE";
static const unsigned char _c34[] = "POINTER";
static const unsigned char _c33[] = "OR";
static const unsigned char _c32[] = "OF";
static const unsigned char _c31[] = "NIL";
static const unsigned char _c30[] = "MODULE";
static const unsigned char _c29[] = "MOD";
static const unsigned char _c28[] = "LOOP";
static const unsigned char _c27[] = "IS";
static const unsigned char _c26[] = "IN";
static const unsigned char _c25[] = "IMPORT";
static const unsigned char _c24[] = "IF";
static const unsigned char _c23[] = "FOR";
static const unsigned char _c22[] = "EXIT";
static const unsigned char _c21[] = "END";
static const unsigned char _c20[] = "ELSIF";
static const unsigned char _c19[] = "ELSE";
static const unsigned char _c18[] = "DO";
static const unsigned char _c17[] = "DIV";
static const unsigned char _c16[] = "CONST";
static const unsigned char _c15[] = "CASE";
static const unsigned char _c14[] = "BY";
static const unsigned char _c13[] = "BEGIN";
static const unsigned char _c12[] = "ARRAY";
static const unsigned char _c11[] = " not found";
static const unsigned char _c10[] = "File ";
static const unsigned char _c9[] = "Read error in file ";
static const unsigned char _c8[] = "integer";
static const unsigned char _c7[] = "string";
static const unsigned char _c6[] = "";
static const unsigned char _c5[] = "boolean";
static const unsigned char _c4[] = "DEFINE";
static const unsigned char _c3[] = "POP";
static const unsigned char _c2[] = "PUSH";
static const unsigned char _c1[] = "FALSE";
static const unsigned char _c0[] = "TRUE";
|