errsupport.c
来自「SRI international 发布的OAA框架软件」· C语言 代码 · 共 101 行
C
101 行
/*
* errsupport.c -- error support code for SORCERER output
*
* Define your own or compile and link this in.
*
* Terence Parr
* U of MN, AHPCRC
* February 1994
*/
#include "sorcerer.h"
void
#ifdef __USE_PROTOS
mismatched_range( STreeParser *_parser, int looking_for, int upper_token, SORAST *found )
#else
mismatched_range( _parser, looking_for, upper_token, found )
int looking_for;
int upper_token;
SORAST *found;
STreeParser *_parser;
#endif
{
if ( found!=NULL ) {
fprintf(stderr,
"parse error: expected token range %d..%d found token %d\n",
looking_for, upper_token,
found->token);
}
else {
fprintf(stderr,
"parse error: expected token range %d..%d found NULL tree\n",
looking_for, upper_token);
}
}
void
#ifdef __USE_PROTOS
missing_wildcard(STreeParser *_parser)
#else
missing_wildcard(_parser)
STreeParser *_parser;
#endif
{
fprintf(stderr, "parse error: expected any token/tree found found NULL tree\n");
}
void
#ifdef __USE_PROTOS
mismatched_token( STreeParser *_parser, int looking_for, SORAST *found )
#else
mismatched_token( _parser, looking_for, found )
int looking_for;
SORAST *found;
STreeParser *_parser;
#endif
{
if ( found!=NULL ) {
fprintf(stderr,
"parse error: expected token %d found token %d\n",
looking_for,
found->token);
}
else {
fprintf(stderr,
"parse error: expected token %d found NULL tree\n",
looking_for);
}
}
void
#ifdef __USE_PROTOS
no_viable_alt( STreeParser *_parser, char *rulename, SORAST *root )
#else
no_viable_alt( _parser, rulename, root )
char *rulename;
SORAST *root;
STreeParser *_parser;
#endif
{
if ( root==NULL )
fprintf(stderr,
"parse error: in rule %s, no viable alternative for NULL tree\n",
rulename);
else
fprintf(stderr,
"parse error: in rule %s, no viable alternative for tree\n",
rulename);
}
void
#ifdef __USE_PROTOS
sorcerer_panic(char *err)
#else
sorcerer_panic(err)
char *err;
#endif
{
fprintf(stderr, "panic: %s\n", err);
exit(-1);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?