]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - EdkCompatibilityPkg/Other/Maintained/Tools/Pccts/sorcerer/lib/errsupport.c
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Other / Maintained / Tools / Pccts / sorcerer / lib / errsupport.c
... / ...
CommitLineData
1/*\r
2 * errsupport.c -- error support code for SORCERER output\r
3 *\r
4 * Define your own or compile and link this in.\r
5 *\r
6 * Terence Parr\r
7 * U of MN, AHPCRC\r
8 * February 1994\r
9 */\r
10#include "sorcerer.h"\r
11\r
12void\r
13#ifdef __USE_PROTOS\r
14mismatched_range( STreeParser *_parser, int looking_for, int upper_token, SORAST *found )\r
15#else\r
16mismatched_range( _parser, looking_for, upper_token, found )\r
17int looking_for;\r
18int upper_token;\r
19SORAST *found;\r
20STreeParser *_parser;\r
21#endif\r
22{\r
23 if ( found!=NULL ) {\r
24 fprintf(stderr,\r
25 "parse error: expected token range %d..%d found token %d\n",\r
26 looking_for, upper_token,\r
27 found->token);\r
28 }\r
29 else {\r
30 fprintf(stderr,\r
31 "parse error: expected token range %d..%d found NULL tree\n",\r
32 looking_for, upper_token);\r
33 }\r
34}\r
35\r
36void\r
37#ifdef __USE_PROTOS\r
38missing_wildcard(STreeParser *_parser)\r
39#else\r
40missing_wildcard(_parser)\r
41STreeParser *_parser;\r
42#endif\r
43{\r
44 fprintf(stderr, "parse error: expected any token/tree found found NULL tree\n");\r
45}\r
46\r
47void\r
48#ifdef __USE_PROTOS\r
49mismatched_token( STreeParser *_parser, int looking_for, SORAST *found )\r
50#else\r
51mismatched_token( _parser, looking_for, found )\r
52int looking_for;\r
53SORAST *found;\r
54STreeParser *_parser;\r
55#endif\r
56{\r
57 if ( found!=NULL ) {\r
58 fprintf(stderr,\r
59 "parse error: expected token %d found token %d\n",\r
60 looking_for,\r
61 found->token);\r
62 }\r
63 else {\r
64 fprintf(stderr,\r
65 "parse error: expected token %d found NULL tree\n",\r
66 looking_for);\r
67 }\r
68}\r
69\r
70void\r
71#ifdef __USE_PROTOS\r
72no_viable_alt( STreeParser *_parser, char *rulename, SORAST *root )\r
73#else\r
74no_viable_alt( _parser, rulename, root )\r
75char *rulename;\r
76SORAST *root;\r
77STreeParser *_parser;\r
78#endif\r
79{\r
80 if ( root==NULL )\r
81 fprintf(stderr,\r
82 "parse error: in rule %s, no viable alternative for NULL tree\n",\r
83 rulename);\r
84 else\r
85 fprintf(stderr,\r
86 "parse error: in rule %s, no viable alternative for tree\n",\r
87 rulename);\r
88}\r
89\r
90void\r
91#ifdef __USE_PROTOS\r
92sorcerer_panic(char *err)\r
93#else\r
94sorcerer_panic(err)\r
95char *err;\r
96#endif\r
97{\r
98 fprintf(stderr, "panic: %s\n", err);\r
99 exit(-1);\r
100}\r