dlg_p.c revision 4fd606d1f5abe38e1f42c38de1d2e895166bd0f4
/*
* A n t l r T r a n s l a t i o n H e a d e r
*
* Terence Parr, Will Cohen, and Hank Dietz: 1989-2001
* Purdue University Electrical Engineering
* With AHPCRC, University of Minnesota
* ANTLR Version 1.33MR33
*
* ..\bin\antlr dlg_p.g -gh
*
*/
#define ANTLR_VERSION 13333
#include "pcctscfg.h"
#include "pccts_stdio.h"
#include <ctype.h>
#include "dlg.h"
#define zzSET_SIZE 8
#include "antlr.h"
#include "tokens.h"
#include "dlgdef.h"
#include "mode.h"
/* MR23 In order to remove calls to PURIFY use the antlr -nopurify option */
#ifndef PCCTS_PURIFY
#endif
/* MR20 G. Hobbelt
Fix for Borland C++ 4.x & 5.x compiling with ALL warnings enabled
*/
#ifdef __TURBOC__
#endif
int action_no = 0; /* keep track of actions outputed */
int nfa_allocated = 0; /* keeps track of number of nfa nodes */
in set */
int flag_paren = FALSE;
int flag_brace = FALSE;
int mode_counter = 0; /* keep track of number of %%names */
void
#ifdef __USE_PROTOS
grammar(void)
#else
grammar()
#endif
{
{
{
{
{
{
}
else {
}
else {
}
else {
}
else {
}
}
}
}
}
}
}
}
}
}
if ( gen_cpp ) p_includes();
start_states();
{
{
}
}
}
zzmatch(1);
if (firstLexMember != 0) p_class_def1();
return;
fail:
}
}
void
#ifdef __USE_PROTOS
start_states(void)
#else
#endif
{
{
{
{
}
else {
{
{
}
}
}
}
}
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
do_conversion(void)
#else
#endif
{
{
rule_list();
if (comp_level)
++mode_counter;
func_action = FALSE;
#ifdef HASH_STAT
#endif
return;
fail:
}
}
void
#ifdef __USE_PROTOS
rule_list(void)
#else
#endif
{
{
rule();
{
{
rule();
t1 = new_nfa_node();
/* all accept nodes "dead ends" */
}
}
}
}
}
else {
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
rule(void)
#else
rule()
#endif
{
{
reg_expr();
zzaRet.l=zzaArg(zztasp1,1 ).l; zzaRet.r=zzaArg(zztasp1,1 ).r; (zzaArg(zztasp1,1 ).r)->accept=action_no;
}
}
else {
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
reg_expr(void)
#else
reg_expr()
#endif
{
{
and_expr();
{
{
and_expr();
}
}
}
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
and_expr(void)
#else
and_expr()
#endif
{
{
repeat_expr();
{
{
repeat_expr();
}
}
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
repeat_expr(void)
#else
#endif
{
{
expr();
{
{
}
}
else {
}
else {
}
}
}
}
}
}
else {
}
else {
}
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
expr(void)
#else
expr()
#endif
{
{
zzaRet.l = new_nfa_node();
zzaRet.r = new_nfa_node();
atom_list();
}
}
else {
atom_list();
}
}
else {
reg_expr();
}
}
}
else {
reg_expr();
}
}
}
else {
atom();
}
}
}
}
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
atom_list(void)
#else
#endif
{
{
{
{
near_atom();
}
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
near_atom(void)
#else
#endif
{
{
register int i;
register int i_prime;
anychar();
{
{
anychar();
if (case_insensitive){
}
/* check to see if range okay */
{
}
}
}
}
else {
}
}
}
}
return;
fail:
}
}
void
#ifdef __USE_PROTOS
atom(void)
#else
atom()
#endif
{
{
register int i_prime;
anychar();
return;
fail:
}
}
void
#ifdef __USE_PROTOS
anychar(void)
#else
anychar()
#endif
{
{
}
else {
}
else {
}
else {
}
else {
}
else {
}
else {
}
else {
}
else {
}
else {
}
}
}
}
}
}
}
}
}
}
return;
fail:
/* empty action */
}
}
/* adds a new nfa to the binary tree and returns a pointer to it */
nfa_node *
#ifdef __USE_PROTOS
new_nfa_node(void)
#else
#endif
{
register nfa_node *t;
static int nfa_size=0; /* elements nfa_array[] can hold */
if (nfa_size<=nfa_allocated){
/* need to redo array */
if (!nfa_array){
/* need some to do inital allocation */
nfa_size);
}else{
/* need more space */
}
}
/* fill out entry in array */
nfa_array[nfa_allocated] = t;
*t = nfa_model_node;
t->node_no = nfa_allocated;
return t;
}
/* initialize the model node used to fill in newly made nfa_nodes */
void
#ifdef __USE_PROTOS
make_nfa_model_node(void)
#else
#endif
{
nfa_model_node.nfa_set = 0;
}
/* print out the pointer value and the node_number */
void
#ifdef __USE_PROTOS
#else
fprint_dfa_pair(f, p)
FILE *f;
nfa_node *p;
#endif
{
if (p){
}else{
fprintf(f, "(nil)");
}
}
/* print out interest information on a set */
void
#ifdef __USE_PROTOS
#else
fprint_set(f,s)
FILE *f;
set s;
#endif
{
unsigned int *x;
fprintf(f, "n = %d,", s.n);
if (s.setword){
/* print out all the elements in the set */
x = set_pdq(s);
while (*x!=nil){
fprintf(f, "%d ", *x);
++x;
}
}else{
fprintf(f, "setword = (nil)");
}
}
/* code to be able to dump out the nfas
return 0 if okay dump
return 1 if screwed up
*/
int
#ifdef __USE_PROTOS
#else
int first_node;
int last_node;
#endif
{
register int i;
nfa_node *t;
for (i=first_node; i<=last_node; ++i){
t = NFA(i);
if (!t) break;
}
return 0;
}
#endif
/* DLG-specific syntax error message generator
* (define USER_ZZSYN when compiling so don't get 2 definitions)
*/
void
#ifdef __USE_PROTOS
#else
int tok;
int etok;
int k;
#endif
{
else
{
}
}