Logo Search packages:      
Sourcecode: eli version File versions

treecon.c

/* implementation of tree construction functions */

#include "node.h"

#include "nodecode.h"

#include "attrpredef.h"

#include "visitmap.h"

#include "treeact.h"

#ifdef MONITOR
#include "attr_mon_dapto.h"
#endif

#include <stdlib.h>

#define _USE_OBSTACK 1

/* use of obstack: */

#if _USE_OBSTACK

#include "obstack.h"
static struct obstack TreeSpace;
static void *_TreeBase;

#ifdef __cplusplus
void* NODEPTR_struct::operator new(size_t size)
{
      return obstack_alloc(&TreeSpace, size);
}
#else
#if defined(__STDC__) || defined(__cplusplus)
char* TreeNodeAlloc(int size)
#else
char* TreeNodeAlloc(size) int size;
#endif
{
      return (char *)(obstack_alloc(&TreeSpace, size));
}
#endif

void InitTree()
{
      obstack_init(&TreeSpace);
      _TreeBase=obstack_alloc(&TreeSpace,0);
}

void FreeTree()
{
      obstack_free(&TreeSpace, _TreeBase);
      _TreeBase=obstack_alloc(&TreeSpace,0);
}

#else

#include <stdio.h>

#ifdef __cplusplus
void* NODEPTR_struct::operator new(size_t size)
{
      void *retval = malloc(size);
      if (retval) return retval;
      fprintf(stderr, "*** DEADLY: No more memory.\n");
      exit(1);
}
#else
#if defined(__STDC__) || defined(__cplusplus)
char* TreeNodeAlloc(int size)
#else
char* TreeNodeAlloc(size) int size;
#endif
{
      char *retval = (char *) malloc(size);
      if (retval) return retval;
      fprintf(stderr, "*** DEADLY: No more memory.\n");
      exit(1);
}
#endif

void InitTree() { }

void FreeTree() { }

#endif

#ifdef MONITOR
#define _SETCOORD(node) \
        node->_coord = _coordref ? *_coordref : NoCoord;
#define _COPYCOORD(node) \
        node->_coord = _currn->_desc1->_coord;
#else
#define _SETCOORD(node)
#define _COPYCOORD(node)
#endif
#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkgrammar_part (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkgrammar_part (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBgrammar_part)) return (_currn);
return(NULLNODEPTR);
}/* Mkgrammar_part */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkgrammarname (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkgrammarname (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBgrammarname)) return (_currn);
return(NULLNODEPTR);
}/* Mkgrammarname */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkstart (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkstart (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBstart)) return (_currn);
return(NULLNODEPTR);
}/* Mkstart */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_list (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkrule_list (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBrule_list)) return (_currn);
if (IsSymb (_currn, SYMBG3)) return (Mkrule_013(_coordref, _currn));
return(NULLNODEPTR);
}/* Mkrule_list */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkrule (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBrule)) return (_currn);
return(NULLNODEPTR);
}/* Mkrule */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrulename (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkrulename (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBrulename)) return (_currn);
return(NULLNODEPTR);
}/* Mkrulename */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mknonterminal (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mknonterminal (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBnonterminal)) return (_currn);
return(NULLNODEPTR);
}/* Mknonterminal */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mksep_op (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mksep_op (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBsep_op)) return (_currn);
return(NULLNODEPTR);
}/* Mksep_op */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrhs (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkrhs (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBrhs)) return (_currn);
if (IsSymb (_currn, SYMBelem_list)) return (Mkrule_016(_coordref, _currn));
if (IsSymb (_currn, SYMBG5)) return (Mkrule_016(_coordref, _currn));
return(NULLNODEPTR);
}/* Mkrhs */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkstop_part (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkstop_part (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBstop_part)) return (_currn);
return(NULLNODEPTR);
}/* Mkstop_part */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkterminal (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkterminal (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBterminal)) return (_currn);
if (IsSymb (_currn, SYMBliteral)) return (Mkrule_027(_coordref, _currn));
if (IsSymb (_currn, SYMBnonliteral)) return (Mkrule_026(_coordref, _currn));
return(NULLNODEPTR);
}/* Mkterminal */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkt_or_nt (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkt_or_nt (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBt_or_nt)) return (_currn);
if (IsSymb (_currn, SYMBliteral)) return (Mkrule_7(_coordref, _currn));
if (IsSymb (_currn, SYMBnonliteral)) return (Mkrule_6(_coordref, _currn));
return(NULLNODEPTR);
}/* Mkt_or_nt */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mknonliteral (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mknonliteral (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBnonliteral)) return (_currn);
return(NULLNODEPTR);
}/* Mknonliteral */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkliteral (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkliteral (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBliteral)) return (_currn);
return(NULLNODEPTR);
}/* Mkliteral */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkelem (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkelem (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBelem)) return (_currn);
if (IsSymb (_currn, SYMBt_or_nt)) return (Mkrule_29(_coordref, _currn));
if (IsSymb (_currn, SYMBliteral)) return (Mkrule_29(_coordref, _currn));
if (IsSymb (_currn, SYMBnonliteral)) return (Mkrule_29(_coordref, _currn));
if (IsSymb (_currn, SYMBoptelem)) return (Mkrule_9(_coordref, _currn));
return(NULLNODEPTR);
}/* Mkelem */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkoptelem (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkoptelem (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBoptelem)) return (_currn);
return(NULLNODEPTR);
}/* Mkoptelem */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkcode_part (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkcode_part (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBcode_part)) return (_currn);
return(NULLNODEPTR);
}/* Mkcode_part */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkcode_def_list (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkcode_def_list (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBcode_def_list)) return (_currn);
if (IsSymb (_currn, SYMBG1)) return (Mkrule_003(_coordref, _currn));
return(NULLNODEPTR);
}/* Mkcode_def_list */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mksepa_part (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mksepa_part (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBsepa_part)) return (_currn);
return(NULLNODEPTR);
}/* Mksepa_part */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkterm_def_list (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkterm_def_list (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBterm_def_list)) return (_currn);
if (IsSymb (_currn, SYMBG2)) return (Mkrule_009(_coordref, _currn));
return(NULLNODEPTR);
}/* Mkterm_def_list */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkbracket_part (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkbracket_part (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBbracket_part)) return (_currn);
return(NULLNODEPTR);
}/* Mkbracket_part */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkskip_part (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkskip_part (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBskip_part)) return (_currn);
return(NULLNODEPTR);
}/* Mkskip_part */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkmod_op (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkmod_op (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBmod_op)) return (_currn);
return(NULLNODEPTR);
}/* Mkmod_op */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkdel_op (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkdel_op (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBdel_op)) return (_currn);
return(NULLNODEPTR);
}/* Mkdel_op */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkalt_op (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkalt_op (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBalt_op)) return (_currn);
return(NULLNODEPTR);
}/* Mkalt_op */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkelem_list (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkelem_list (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBelem_list)) return (_currn);
if (IsSymb (_currn, SYMBG5)) return (Mkrule_017(_coordref, _currn));
return(NULLNODEPTR);
}/* Mkelem_list */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrep_op (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkrep_op (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBrep_op)) return (_currn);
return(NULLNODEPTR);
}/* Mkrep_op */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkcode_def (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkcode_def (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBcode_def)) return (_currn);
return(NULLNODEPTR);
}/* Mkcode_def */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkmodification (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkmodification (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBmodification)) return (_currn);
return(NULLNODEPTR);
}/* Mkmodification */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkterm_def (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkterm_def (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBterm_def)) return (_currn);
return(NULLNODEPTR);
}/* Mkterm_def */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkroot (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkroot (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBroot)) return (_currn);
return(NULLNODEPTR);
}/* Mkroot */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkpgs_root (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkpgs_root (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBpgs_root)) return (_currn);
return(NULLNODEPTR);
}/* Mkpgs_root */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkactpts_root (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkactpts_root (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBactpts_root)) return (_currn);
return(NULLNODEPTR);
}/* Mkactpts_root */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkerr_part (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkerr_part (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBerr_part)) return (_currn);
return(NULLNODEPTR);
}/* Mkerr_part */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR MkG1 (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR MkG1 (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBG1)) return (_currn);
return(NULLNODEPTR);
}/* MkG1 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR MkG2 (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR MkG2 (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBG2)) return (_currn);
return(NULLNODEPTR);
}/* MkG2 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR MkG3 (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR MkG3 (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBG3)) return (_currn);
return(NULLNODEPTR);
}/* MkG3 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR MkG5 (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR MkG5 (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBG5)) return (_currn);
return(NULLNODEPTR);
}/* MkG5 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR MkG4 (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR MkG4 (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBG4)) return (_currn);
if (IsSymb (_currn, SYMBmodification)) return (Mkrule_020(_coordref, _currn));
if (IsSymb (_currn, SYMBconnection)) return (Mkrule_019(_coordref, _currn));
if (IsSymb (_currn, SYMBelem)) return (Mkrule_018(_coordref, _currn));
if (IsSymb (_currn, SYMBt_or_nt)) return (Mkrule_018(_coordref, _currn));
if (IsSymb (_currn, SYMBliteral)) return (Mkrule_018(_coordref, _currn));
if (IsSymb (_currn, SYMBnonliteral)) return (Mkrule_018(_coordref, _currn));
if (IsSymb (_currn, SYMBoptelem)) return (Mkrule_018(_coordref, _currn));
return(NULLNODEPTR);
}/* MkG4 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkconnection (POSITION *_coordref, NODEPTR _currn)
#else
NODEPTR Mkconnection (_coordref, _currn)
      POSITION *_coordref; NODEPTR _currn;
#endif
{
if (_currn == NULLNODEPTR) return NULLNODEPTR;
if (IsSymb (_currn, SYMBconnection)) return (_currn);
return(NULLNODEPTR);
}/* Mkconnection */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR MkRmod_op1 (POSITION *_coordref)
#else
NODEPTR MkRmod_op1 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPRmod_op1 _currn;
#ifdef __cplusplus
_currn = new _TPRmod_op1;
#else
_currn = (_TPPRmod_op1) TreeNodeAlloc (sizeof (struct _TPRmod_op1));
#endif
_currn->_prod = RULERmod_op1;
_SETCOORD(_currn)
_TERMACT_Rmod_op1;
return ( (NODEPTR) _currn);
}/* MkRmod_op1 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_000 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_000 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_000 _currn;
#ifdef __cplusplus
_currn = new _TPrule_000;
#else
_currn = (_TPPrule_000) TreeNodeAlloc (sizeof (struct _TPrule_000));
#endif
_currn->_prod = RULErule_000;
_currn->_desc1 = (_TSPpgs_root) Mkpgs_root (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_000: root of subtree no. 1 can not be made a pgs_root node ", 0, _coordref);
_currn->_desc2 = (_TSPactpts_root) Mkactpts_root (_coordref, _desc2);   
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_000: root of subtree no. 2 can not be made a actpts_root node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_000;
return ( (NODEPTR) _currn);
}/* Mkrule_000 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_001 (POSITION *_coordref)
#else
NODEPTR Mkrule_001 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_001 _currn;
#ifdef __cplusplus
_currn = new _TPrule_001;
#else
_currn = (_TPPrule_001) TreeNodeAlloc (sizeof (struct _TPrule_001));
#endif
_currn->_prod = RULErule_001;
_SETCOORD(_currn)
_TERMACT_rule_001;
return ( (NODEPTR) _currn);
}/* Mkrule_001 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_002 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2, NODEPTR _desc3, NODEPTR _desc4)
#else
NODEPTR Mkrule_002 (_coordref,_desc1,_desc2,_desc3,_desc4)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
      NODEPTR _desc3;
      NODEPTR _desc4;
#endif
{     _TPPrule_002 _currn;
#ifdef __cplusplus
_currn = new _TPrule_002;
#else
_currn = (_TPPrule_002) TreeNodeAlloc (sizeof (struct _TPrule_002));
#endif
_currn->_prod = RULErule_002;
_currn->_desc1 = (_TSPcode_part) Mkcode_part (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_002: root of subtree no. 1 can not be made a code_part node ", 0, _coordref);
_currn->_desc2 = (_TSPstop_part) Mkstop_part (_coordref, _desc2); 
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_002: root of subtree no. 2 can not be made a stop_part node ", 0, _coordref);
_currn->_desc3 = (_TSPerr_part) Mkerr_part (_coordref, _desc3);   
if (((NODEPTR)_currn->_desc3) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_002: root of subtree no. 3 can not be made a err_part node ", 0, _coordref);
_currn->_desc4 = (_TSPgrammar_part) Mkgrammar_part (_coordref, _desc4); 
if (((NODEPTR)_currn->_desc4) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_002: root of subtree no. 4 can not be made a grammar_part node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_002;
return ( (NODEPTR) _currn);
}/* Mkrule_002 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_003 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_003 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_003 _currn;
#ifdef __cplusplus
_currn = new _TPrule_003;
#else
_currn = (_TPPrule_003) TreeNodeAlloc (sizeof (struct _TPrule_003));
#endif
_currn->_prod = RULErule_003;
_currn->_desc1 = (_TSPG1) MkG1 (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_003: root of subtree no. 1 can not be made a G1 node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_003;
return ( (NODEPTR) _currn);
}/* Mkrule_003 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_004 (POSITION *_coordref)
#else
NODEPTR Mkrule_004 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_004 _currn;
#ifdef __cplusplus
_currn = new _TPrule_004;
#else
_currn = (_TPPrule_004) TreeNodeAlloc (sizeof (struct _TPrule_004));
#endif
_currn->_prod = RULErule_004;
_SETCOORD(_currn)
_TERMACT_rule_004;
return ( (NODEPTR) _currn);
}/* Mkrule_004 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_005 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_005 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_005 _currn;
#ifdef __cplusplus
_currn = new _TPrule_005;
#else
_currn = (_TPPrule_005) TreeNodeAlloc (sizeof (struct _TPrule_005));
#endif
_currn->_prod = RULErule_005;
_currn->_desc1 = (_TSPG1) MkG1 (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_005: root of subtree no. 1 can not be made a G1 node ", 0, _coordref);
_currn->_desc2 = (_TSPcode_def) Mkcode_def (_coordref, _desc2);   
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_005: root of subtree no. 2 can not be made a code_def node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_005;
return ( (NODEPTR) _currn);
}/* Mkrule_005 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_006 (POSITION *_coordref)
#else
NODEPTR Mkrule_006 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_006 _currn;
#ifdef __cplusplus
_currn = new _TPrule_006;
#else
_currn = (_TPPrule_006) TreeNodeAlloc (sizeof (struct _TPrule_006));
#endif
_currn->_prod = RULErule_006;
_SETCOORD(_currn)
_TERMACT_rule_006;
return ( (NODEPTR) _currn);
}/* Mkrule_006 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_007 (POSITION *_coordref)
#else
NODEPTR Mkrule_007 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_007 _currn;
#ifdef __cplusplus
_currn = new _TPrule_007;
#else
_currn = (_TPPrule_007) TreeNodeAlloc (sizeof (struct _TPrule_007));
#endif
_currn->_prod = RULErule_007;
_SETCOORD(_currn)
_TERMACT_rule_007;
return ( (NODEPTR) _currn);
}/* Mkrule_007 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_008 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2, NODEPTR _desc3)
#else
NODEPTR Mkrule_008 (_coordref,_desc1,_desc2,_desc3)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
      NODEPTR _desc3;
#endif
{     _TPPrule_008 _currn;
#ifdef __cplusplus
_currn = new _TPrule_008;
#else
_currn = (_TPPrule_008) TreeNodeAlloc (sizeof (struct _TPrule_008));
#endif
_currn->_prod = RULErule_008;
_currn->_desc1 = (_TSPsepa_part) Mksepa_part (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_008: root of subtree no. 1 can not be made a sepa_part node ", 0, _coordref);
_currn->_desc2 = (_TSPbracket_part) Mkbracket_part (_coordref, _desc2); 
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_008: root of subtree no. 2 can not be made a bracket_part node ", 0, _coordref);
_currn->_desc3 = (_TSPskip_part) Mkskip_part (_coordref, _desc3); 
if (((NODEPTR)_currn->_desc3) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_008: root of subtree no. 3 can not be made a skip_part node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_008;
return ( (NODEPTR) _currn);
}/* Mkrule_008 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_009 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_009 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_009 _currn;
#ifdef __cplusplus
_currn = new _TPrule_009;
#else
_currn = (_TPPrule_009) TreeNodeAlloc (sizeof (struct _TPrule_009));
#endif
_currn->_prod = RULErule_009;
_currn->_desc1 = (_TSPG2) MkG2 (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_009: root of subtree no. 1 can not be made a G2 node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_009;
return ( (NODEPTR) _currn);
}/* Mkrule_009 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_010 (POSITION *_coordref)
#else
NODEPTR Mkrule_010 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_010 _currn;
#ifdef __cplusplus
_currn = new _TPrule_010;
#else
_currn = (_TPPrule_010) TreeNodeAlloc (sizeof (struct _TPrule_010));
#endif
_currn->_prod = RULErule_010;
_SETCOORD(_currn)
_TERMACT_rule_010;
return ( (NODEPTR) _currn);
}/* Mkrule_010 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_011 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_011 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_011 _currn;
#ifdef __cplusplus
_currn = new _TPrule_011;
#else
_currn = (_TPPrule_011) TreeNodeAlloc (sizeof (struct _TPrule_011));
#endif
_currn->_prod = RULErule_011;
_currn->_desc1 = (_TSPG2) MkG2 (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_011: root of subtree no. 1 can not be made a G2 node ", 0, _coordref);
_currn->_desc2 = (_TSPterm_def) Mkterm_def (_coordref, _desc2);   
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_011: root of subtree no. 2 can not be made a term_def node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_011;
return ( (NODEPTR) _currn);
}/* Mkrule_011 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_012 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_012 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_012 _currn;
#ifdef __cplusplus
_currn = new _TPrule_012;
#else
_currn = (_TPPrule_012) TreeNodeAlloc (sizeof (struct _TPrule_012));
#endif
_currn->_prod = RULErule_012;
_currn->_desc1 = (_TSPstart) Mkstart (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_012: root of subtree no. 1 can not be made a start node ", 0, _coordref);
_currn->_desc2 = (_TSPrule_list) Mkrule_list (_coordref, _desc2); 
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_012: root of subtree no. 2 can not be made a rule_list node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_012;
return ( (NODEPTR) _currn);
}/* Mkrule_012 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_013 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_013 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_013 _currn;
#ifdef __cplusplus
_currn = new _TPrule_013;
#else
_currn = (_TPPrule_013) TreeNodeAlloc (sizeof (struct _TPrule_013));
#endif
_currn->_prod = RULErule_013;
_currn->_desc1 = (_TSPG3) MkG3 (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_013: root of subtree no. 1 can not be made a G3 node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_013;
return ( (NODEPTR) _currn);
}/* Mkrule_013 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_014 (POSITION *_coordref)
#else
NODEPTR Mkrule_014 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_014 _currn;
#ifdef __cplusplus
_currn = new _TPrule_014;
#else
_currn = (_TPPrule_014) TreeNodeAlloc (sizeof (struct _TPrule_014));
#endif
_currn->_prod = RULErule_014;
_SETCOORD(_currn)
_TERMACT_rule_014;
return ( (NODEPTR) _currn);
}/* Mkrule_014 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_015 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_015 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_015 _currn;
#ifdef __cplusplus
_currn = new _TPrule_015;
#else
_currn = (_TPPrule_015) TreeNodeAlloc (sizeof (struct _TPrule_015));
#endif
_currn->_prod = RULErule_015;
_currn->_desc1 = (_TSPG3) MkG3 (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_015: root of subtree no. 1 can not be made a G3 node ", 0, _coordref);
_currn->_desc2 = (_TSPrule) Mkrule (_coordref, _desc2);     
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_015: root of subtree no. 2 can not be made a rule node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_015;
return ( (NODEPTR) _currn);
}/* Mkrule_015 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_016 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_016 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_016 _currn;
#ifdef __cplusplus
_currn = new _TPrule_016;
#else
_currn = (_TPPrule_016) TreeNodeAlloc (sizeof (struct _TPrule_016));
#endif
_currn->_prod = RULErule_016;
_currn->_desc1 = (_TSPelem_list) Mkelem_list (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_016: root of subtree no. 1 can not be made a elem_list node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_016;
return ( (NODEPTR) _currn);
}/* Mkrule_016 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_017 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_017 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_017 _currn;
#ifdef __cplusplus
_currn = new _TPrule_017;
#else
_currn = (_TPPrule_017) TreeNodeAlloc (sizeof (struct _TPrule_017));
#endif
_currn->_prod = RULErule_017;
_currn->_desc1 = (_TSPG5) MkG5 (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_017: root of subtree no. 1 can not be made a G5 node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_017;
return ( (NODEPTR) _currn);
}/* Mkrule_017 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_018 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_018 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_018 _currn;
#ifdef __cplusplus
_currn = new _TPrule_018;
#else
_currn = (_TPPrule_018) TreeNodeAlloc (sizeof (struct _TPrule_018));
#endif
_currn->_prod = RULErule_018;
_currn->_desc1 = (_TSPelem) Mkelem (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_018: root of subtree no. 1 can not be made a elem node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_018;
return ( (NODEPTR) _currn);
}/* Mkrule_018 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_019 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_019 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_019 _currn;
#ifdef __cplusplus
_currn = new _TPrule_019;
#else
_currn = (_TPPrule_019) TreeNodeAlloc (sizeof (struct _TPrule_019));
#endif
_currn->_prod = RULErule_019;
_currn->_desc1 = (_TSPconnection) Mkconnection (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_019: root of subtree no. 1 can not be made a connection node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_019;
return ( (NODEPTR) _currn);
}/* Mkrule_019 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_020 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_020 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_020 _currn;
#ifdef __cplusplus
_currn = new _TPrule_020;
#else
_currn = (_TPPrule_020) TreeNodeAlloc (sizeof (struct _TPrule_020));
#endif
_currn->_prod = RULErule_020;
_currn->_desc1 = (_TSPmodification) Mkmodification (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_020: root of subtree no. 1 can not be made a modification node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_020;
return ( (NODEPTR) _currn);
}/* Mkrule_020 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_021 (POSITION *_coordref)
#else
NODEPTR Mkrule_021 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_021 _currn;
#ifdef __cplusplus
_currn = new _TPrule_021;
#else
_currn = (_TPPrule_021) TreeNodeAlloc (sizeof (struct _TPrule_021));
#endif
_currn->_prod = RULErule_021;
_SETCOORD(_currn)
_TERMACT_rule_021;
return ( (NODEPTR) _currn);
}/* Mkrule_021 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_022 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_022 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_022 _currn;
#ifdef __cplusplus
_currn = new _TPrule_022;
#else
_currn = (_TPPrule_022) TreeNodeAlloc (sizeof (struct _TPrule_022));
#endif
_currn->_prod = RULErule_022;
_currn->_desc1 = (_TSPG5) MkG5 (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_022: root of subtree no. 1 can not be made a G5 node ", 0, _coordref);
_currn->_desc2 = (_TSPG4) MkG4 (_coordref, _desc2);   
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_022: root of subtree no. 2 can not be made a G4 node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_022;
return ( (NODEPTR) _currn);
}/* Mkrule_022 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_023 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_023 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_023 _currn;
#ifdef __cplusplus
_currn = new _TPrule_023;
#else
_currn = (_TPPrule_023) TreeNodeAlloc (sizeof (struct _TPrule_023));
#endif
_currn->_prod = RULErule_023;
_currn->_desc1 = (_TSPrhs) Mkrhs (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_023: root of subtree no. 1 can not be made a rhs node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_023;
return ( (NODEPTR) _currn);
}/* Mkrule_023 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_024 (POSITION *_coordref, int _TERM1)
#else
NODEPTR Mkrule_024 (_coordref, _TERM1)
      POSITION *_coordref;
      int _TERM1;
#endif
{     _TPPrule_024 _currn;
#ifdef __cplusplus
_currn = new _TPrule_024;
#else
_currn = (_TPPrule_024) TreeNodeAlloc (sizeof (struct _TPrule_024));
#endif
_currn->_prod = RULErule_024;
_SETCOORD(_currn)
_TERMACT_rule_024;
#ifdef MONITOR
_dapto_term_int(((NODEPTR)_currn), "STRING", _TERM1);
#endif

return ( (NODEPTR) _currn);
}/* Mkrule_024 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_025 (POSITION *_coordref, int _TERM1)
#else
NODEPTR Mkrule_025 (_coordref, _TERM1)
      POSITION *_coordref;
      int _TERM1;
#endif
{     _TPPrule_025 _currn;
#ifdef __cplusplus
_currn = new _TPrule_025;
#else
_currn = (_TPPrule_025) TreeNodeAlloc (sizeof (struct _TPrule_025));
#endif
_currn->_prod = RULErule_025;
_SETCOORD(_currn)
_TERMACT_rule_025;
#ifdef MONITOR
_dapto_term_int(((NODEPTR)_currn), "NAME", _TERM1);
#endif

return ( (NODEPTR) _currn);
}/* Mkrule_025 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_026 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_026 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_026 _currn;
#ifdef __cplusplus
_currn = new _TPrule_026;
#else
_currn = (_TPPrule_026) TreeNodeAlloc (sizeof (struct _TPrule_026));
#endif
_currn->_prod = RULErule_026;
_currn->_desc1 = (_TSPnonliteral) Mknonliteral (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_026: root of subtree no. 1 can not be made a nonliteral node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_026;
return ( (NODEPTR) _currn);
}/* Mkrule_026 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_027 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_027 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_027 _currn;
#ifdef __cplusplus
_currn = new _TPrule_027;
#else
_currn = (_TPPrule_027) TreeNodeAlloc (sizeof (struct _TPrule_027));
#endif
_currn->_prod = RULErule_027;
_currn->_desc1 = (_TSPliteral) Mkliteral (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_027: root of subtree no. 1 can not be made a literal node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_027;
return ( (NODEPTR) _currn);
}/* Mkrule_027 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_028 (POSITION *_coordref, int _TERM1)
#else
NODEPTR Mkrule_028 (_coordref, _TERM1)
      POSITION *_coordref;
      int _TERM1;
#endif
{     _TPPrule_028 _currn;
#ifdef __cplusplus
_currn = new _TPrule_028;
#else
_currn = (_TPPrule_028) TreeNodeAlloc (sizeof (struct _TPrule_028));
#endif
_currn->_prod = RULErule_028;
_SETCOORD(_currn)
_TERMACT_rule_028;
#ifdef MONITOR
_dapto_term_int(((NODEPTR)_currn), "NAME", _TERM1);
#endif

return ( (NODEPTR) _currn);
}/* Mkrule_028 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_029 (POSITION *_coordref, int _TERM1)
#else
NODEPTR Mkrule_029 (_coordref, _TERM1)
      POSITION *_coordref;
      int _TERM1;
#endif
{     _TPPrule_029 _currn;
#ifdef __cplusplus
_currn = new _TPrule_029;
#else
_currn = (_TPPrule_029) TreeNodeAlloc (sizeof (struct _TPrule_029));
#endif
_currn->_prod = RULErule_029;
_SETCOORD(_currn)
_TERMACT_rule_029;
#ifdef MONITOR
_dapto_term_int(((NODEPTR)_currn), "STRING", _TERM1);
#endif

return ( (NODEPTR) _currn);
}/* Mkrule_029 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_030 (POSITION *_coordref)
#else
NODEPTR Mkrule_030 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_030 _currn;
#ifdef __cplusplus
_currn = new _TPrule_030;
#else
_currn = (_TPPrule_030) TreeNodeAlloc (sizeof (struct _TPrule_030));
#endif
_currn->_prod = RULErule_030;
_SETCOORD(_currn)
_TERMACT_rule_030;
return ( (NODEPTR) _currn);
}/* Mkrule_030 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_031 (POSITION *_coordref)
#else
NODEPTR Mkrule_031 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_031 _currn;
#ifdef __cplusplus
_currn = new _TPrule_031;
#else
_currn = (_TPPrule_031) TreeNodeAlloc (sizeof (struct _TPrule_031));
#endif
_currn->_prod = RULErule_031;
_SETCOORD(_currn)
_TERMACT_rule_031;
return ( (NODEPTR) _currn);
}/* Mkrule_031 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_032 (POSITION *_coordref)
#else
NODEPTR Mkrule_032 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_032 _currn;
#ifdef __cplusplus
_currn = new _TPrule_032;
#else
_currn = (_TPPrule_032) TreeNodeAlloc (sizeof (struct _TPrule_032));
#endif
_currn->_prod = RULErule_032;
_SETCOORD(_currn)
_TERMACT_rule_032;
return ( (NODEPTR) _currn);
}/* Mkrule_032 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_033 (POSITION *_coordref)
#else
NODEPTR Mkrule_033 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_033 _currn;
#ifdef __cplusplus
_currn = new _TPrule_033;
#else
_currn = (_TPPrule_033) TreeNodeAlloc (sizeof (struct _TPrule_033));
#endif
_currn->_prod = RULErule_033;
_SETCOORD(_currn)
_TERMACT_rule_033;
return ( (NODEPTR) _currn);
}/* Mkrule_033 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_034 (POSITION *_coordref)
#else
NODEPTR Mkrule_034 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_034 _currn;
#ifdef __cplusplus
_currn = new _TPrule_034;
#else
_currn = (_TPPrule_034) TreeNodeAlloc (sizeof (struct _TPrule_034));
#endif
_currn->_prod = RULErule_034;
_SETCOORD(_currn)
_TERMACT_rule_034;
return ( (NODEPTR) _currn);
}/* Mkrule_034 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_035 (POSITION *_coordref)
#else
NODEPTR Mkrule_035 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_035 _currn;
#ifdef __cplusplus
_currn = new _TPrule_035;
#else
_currn = (_TPPrule_035) TreeNodeAlloc (sizeof (struct _TPrule_035));
#endif
_currn->_prod = RULErule_035;
_SETCOORD(_currn)
_TERMACT_rule_035;
return ( (NODEPTR) _currn);
}/* Mkrule_035 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_1 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2, NODEPTR _desc3)
#else
NODEPTR Mkrule_1 (_coordref,_desc1,_desc2,_desc3)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
      NODEPTR _desc3;
#endif
{     _TPPrule_1 _currn;
#ifdef __cplusplus
_currn = new _TPrule_1;
#else
_currn = (_TPPrule_1) TreeNodeAlloc (sizeof (struct _TPrule_1));
#endif
_currn->_prod = RULErule_1;
_currn->_desc1 = (_TSPgrammarname) Mkgrammarname (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_1: root of subtree no. 1 can not be made a grammarname node ", 0, _coordref);
_currn->_desc2 = (_TSPstart) Mkstart (_coordref, _desc2);   
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_1: root of subtree no. 2 can not be made a start node ", 0, _coordref);
_currn->_desc3 = (_TSPrule_list) Mkrule_list (_coordref, _desc3); 
if (((NODEPTR)_currn->_desc3) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_1: root of subtree no. 3 can not be made a rule_list node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_1;
return ( (NODEPTR) _currn);
}/* Mkrule_1 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_2 (POSITION *_coordref, int _TERM1)
#else
NODEPTR Mkrule_2 (_coordref, _TERM1)
      POSITION *_coordref;
      int _TERM1;
#endif
{     _TPPrule_2 _currn;
#ifdef __cplusplus
_currn = new _TPrule_2;
#else
_currn = (_TPPrule_2) TreeNodeAlloc (sizeof (struct _TPrule_2));
#endif
_currn->_prod = RULErule_2;
_SETCOORD(_currn)
_TERMACT_rule_2;
#ifdef MONITOR
_dapto_term_int(((NODEPTR)_currn), "NAME", _TERM1);
#endif

return ( (NODEPTR) _currn);
}/* Mkrule_2 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_3 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2, NODEPTR _desc3, NODEPTR _desc4)
#else
NODEPTR Mkrule_3 (_coordref,_desc1,_desc2,_desc3,_desc4)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
      NODEPTR _desc3;
      NODEPTR _desc4;
#endif
{     _TPPrule_3 _currn;
#ifdef __cplusplus
_currn = new _TPrule_3;
#else
_currn = (_TPPrule_3) TreeNodeAlloc (sizeof (struct _TPrule_3));
#endif
_currn->_prod = RULErule_3;
_currn->_desc1 = (_TSPrulename) Mkrulename (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_3: root of subtree no. 1 can not be made a rulename node ", 0, _coordref);
_currn->_desc2 = (_TSPnonterminal) Mknonterminal (_coordref, _desc2);   
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_3: root of subtree no. 2 can not be made a nonterminal node ", 0, _coordref);
_currn->_desc3 = (_TSPsep_op) Mksep_op (_coordref, _desc3); 
if (((NODEPTR)_currn->_desc3) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_3: root of subtree no. 3 can not be made a sep_op node ", 0, _coordref);
_currn->_desc4 = (_TSPrhs) Mkrhs (_coordref, _desc4); 
if (((NODEPTR)_currn->_desc4) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_3: root of subtree no. 4 can not be made a rhs node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_3;
return ( (NODEPTR) _currn);
}/* Mkrule_3 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_4 (POSITION *_coordref, int _TERM1)
#else
NODEPTR Mkrule_4 (_coordref, _TERM1)
      POSITION *_coordref;
      int _TERM1;
#endif
{     _TPPrule_4 _currn;
#ifdef __cplusplus
_currn = new _TPrule_4;
#else
_currn = (_TPPrule_4) TreeNodeAlloc (sizeof (struct _TPrule_4));
#endif
_currn->_prod = RULErule_4;
_SETCOORD(_currn)
_TERMACT_rule_4;
#ifdef MONITOR
_dapto_term_int(((NODEPTR)_currn), "NAME", _TERM1);
#endif

return ( (NODEPTR) _currn);
}/* Mkrule_4 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_5 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_5 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_5 _currn;
#ifdef __cplusplus
_currn = new _TPrule_5;
#else
_currn = (_TPPrule_5) TreeNodeAlloc (sizeof (struct _TPrule_5));
#endif
_currn->_prod = RULErule_5;
_currn->_desc1 = (_TSPterminal) Mkterminal (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_5: root of subtree no. 1 can not be made a terminal node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_5;
return ( (NODEPTR) _currn);
}/* Mkrule_5 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_6 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_6 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_6 _currn;
#ifdef __cplusplus
_currn = new _TPrule_6;
#else
_currn = (_TPPrule_6) TreeNodeAlloc (sizeof (struct _TPrule_6));
#endif
_currn->_prod = RULErule_6;
_currn->_desc1 = (_TSPnonliteral) Mknonliteral (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_6: root of subtree no. 1 can not be made a nonliteral node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_6;
return ( (NODEPTR) _currn);
}/* Mkrule_6 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_7 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_7 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_7 _currn;
#ifdef __cplusplus
_currn = new _TPrule_7;
#else
_currn = (_TPPrule_7) TreeNodeAlloc (sizeof (struct _TPrule_7));
#endif
_currn->_prod = RULErule_7;
_currn->_desc1 = (_TSPliteral) Mkliteral (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_7: root of subtree no. 1 can not be made a literal node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_7;
return ( (NODEPTR) _currn);
}/* Mkrule_7 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_8 (POSITION *_coordref)
#else
NODEPTR Mkrule_8 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_8 _currn;
#ifdef __cplusplus
_currn = new _TPrule_8;
#else
_currn = (_TPPrule_8) TreeNodeAlloc (sizeof (struct _TPrule_8));
#endif
_currn->_prod = RULErule_8;
_SETCOORD(_currn)
_TERMACT_rule_8;
return ( (NODEPTR) _currn);
}/* Mkrule_8 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_9 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_9 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_9 _currn;
#ifdef __cplusplus
_currn = new _TPrule_9;
#else
_currn = (_TPPrule_9) TreeNodeAlloc (sizeof (struct _TPrule_9));
#endif
_currn->_prod = RULErule_9;
_currn->_desc1 = (_TSPoptelem) Mkoptelem (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_9: root of subtree no. 1 can not be made a optelem node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_9;
return ( (NODEPTR) _currn);
}/* Mkrule_9 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_10 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_10 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_10 _currn;
#ifdef __cplusplus
_currn = new _TPrule_10;
#else
_currn = (_TPPrule_10) TreeNodeAlloc (sizeof (struct _TPrule_10));
#endif
_currn->_prod = RULErule_10;
_currn->_desc1 = (_TSPrhs) Mkrhs (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_10: root of subtree no. 1 can not be made a rhs node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_10;
return ( (NODEPTR) _currn);
}/* Mkrule_10 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_11 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_11 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_11 _currn;
#ifdef __cplusplus
_currn = new _TPrule_11;
#else
_currn = (_TPPrule_11) TreeNodeAlloc (sizeof (struct _TPrule_11));
#endif
_currn->_prod = RULErule_11;
_currn->_desc1 = (_TSPcode_def_list) Mkcode_def_list (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_11: root of subtree no. 1 can not be made a code_def_list node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_11;
return ( (NODEPTR) _currn);
}/* Mkrule_11 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_12 (POSITION *_coordref)
#else
NODEPTR Mkrule_12 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_12 _currn;
#ifdef __cplusplus
_currn = new _TPrule_12;
#else
_currn = (_TPPrule_12) TreeNodeAlloc (sizeof (struct _TPrule_12));
#endif
_currn->_prod = RULErule_12;
_SETCOORD(_currn)
_TERMACT_rule_12;
return ( (NODEPTR) _currn);
}/* Mkrule_12 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_13 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_13 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_13 _currn;
#ifdef __cplusplus
_currn = new _TPrule_13;
#else
_currn = (_TPPrule_13) TreeNodeAlloc (sizeof (struct _TPrule_13));
#endif
_currn->_prod = RULErule_13;
_currn->_desc1 = (_TSPterm_def_list) Mkterm_def_list (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_13: root of subtree no. 1 can not be made a term_def_list node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_13;
return ( (NODEPTR) _currn);
}/* Mkrule_13 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_14 (POSITION *_coordref)
#else
NODEPTR Mkrule_14 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_14 _currn;
#ifdef __cplusplus
_currn = new _TPrule_14;
#else
_currn = (_TPPrule_14) TreeNodeAlloc (sizeof (struct _TPrule_14));
#endif
_currn->_prod = RULErule_14;
_SETCOORD(_currn)
_TERMACT_rule_14;
return ( (NODEPTR) _currn);
}/* Mkrule_14 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_15 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_15 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_15 _currn;
#ifdef __cplusplus
_currn = new _TPrule_15;
#else
_currn = (_TPPrule_15) TreeNodeAlloc (sizeof (struct _TPrule_15));
#endif
_currn->_prod = RULErule_15;
_currn->_desc1 = (_TSPterm_def_list) Mkterm_def_list (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_15: root of subtree no. 1 can not be made a term_def_list node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_15;
return ( (NODEPTR) _currn);
}/* Mkrule_15 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_16 (POSITION *_coordref)
#else
NODEPTR Mkrule_16 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_16 _currn;
#ifdef __cplusplus
_currn = new _TPrule_16;
#else
_currn = (_TPPrule_16) TreeNodeAlloc (sizeof (struct _TPrule_16));
#endif
_currn->_prod = RULErule_16;
_SETCOORD(_currn)
_TERMACT_rule_16;
return ( (NODEPTR) _currn);
}/* Mkrule_16 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_17 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_17 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_17 _currn;
#ifdef __cplusplus
_currn = new _TPrule_17;
#else
_currn = (_TPPrule_17) TreeNodeAlloc (sizeof (struct _TPrule_17));
#endif
_currn->_prod = RULErule_17;
_currn->_desc1 = (_TSPterm_def_list) Mkterm_def_list (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_17: root of subtree no. 1 can not be made a term_def_list node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_17;
return ( (NODEPTR) _currn);
}/* Mkrule_17 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_18 (POSITION *_coordref)
#else
NODEPTR Mkrule_18 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_18 _currn;
#ifdef __cplusplus
_currn = new _TPrule_18;
#else
_currn = (_TPPrule_18) TreeNodeAlloc (sizeof (struct _TPrule_18));
#endif
_currn->_prod = RULErule_18;
_SETCOORD(_currn)
_TERMACT_rule_18;
return ( (NODEPTR) _currn);
}/* Mkrule_18 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_19 (POSITION *_coordref)
#else
NODEPTR Mkrule_19 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_19 _currn;
#ifdef __cplusplus
_currn = new _TPrule_19;
#else
_currn = (_TPPrule_19) TreeNodeAlloc (sizeof (struct _TPrule_19));
#endif
_currn->_prod = RULErule_19;
_SETCOORD(_currn)
_TERMACT_rule_19;
return ( (NODEPTR) _currn);
}/* Mkrule_19 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_20 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2, NODEPTR _desc3)
#else
NODEPTR Mkrule_20 (_coordref,_desc1,_desc2,_desc3)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
      NODEPTR _desc3;
#endif
{     _TPPrule_20 _currn;
#ifdef __cplusplus
_currn = new _TPrule_20;
#else
_currn = (_TPPrule_20) TreeNodeAlloc (sizeof (struct _TPrule_20));
#endif
_currn->_prod = RULErule_20;
_currn->_desc1 = (_TSPnonterminal) Mknonterminal (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_20: root of subtree no. 1 can not be made a nonterminal node ", 0, _coordref);
_currn->_desc2 = (_TSPsep_op) Mksep_op (_coordref, _desc2); 
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_20: root of subtree no. 2 can not be made a sep_op node ", 0, _coordref);
_currn->_desc3 = (_TSPrhs) Mkrhs (_coordref, _desc3); 
if (((NODEPTR)_currn->_desc3) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_20: root of subtree no. 3 can not be made a rhs node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_20;
return ( (NODEPTR) _currn);
}/* Mkrule_20 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_21 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2, NODEPTR _desc3)
#else
NODEPTR Mkrule_21 (_coordref,_desc1,_desc2,_desc3)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
      NODEPTR _desc3;
#endif
{     _TPPrule_21 _currn;
#ifdef __cplusplus
_currn = new _TPrule_21;
#else
_currn = (_TPPrule_21) TreeNodeAlloc (sizeof (struct _TPrule_21));
#endif
_currn->_prod = RULErule_21;
_currn->_desc1 = (_TSPrhs) Mkrhs (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_21: root of subtree no. 1 can not be made a rhs node ", 0, _coordref);
_currn->_desc2 = (_TSPdel_op) Mkdel_op (_coordref, _desc2); 
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_21: root of subtree no. 2 can not be made a del_op node ", 0, _coordref);
_currn->_desc3 = (_TSPterminal) Mkterminal (_coordref, _desc3);   
if (((NODEPTR)_currn->_desc3) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_21: root of subtree no. 3 can not be made a terminal node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_21;
return ( (NODEPTR) _currn);
}/* Mkrule_21 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_22 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2, NODEPTR _desc3)
#else
NODEPTR Mkrule_22 (_coordref,_desc1,_desc2,_desc3)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
      NODEPTR _desc3;
#endif
{     _TPPrule_22 _currn;
#ifdef __cplusplus
_currn = new _TPrule_22;
#else
_currn = (_TPPrule_22) TreeNodeAlloc (sizeof (struct _TPrule_22));
#endif
_currn->_prod = RULErule_22;
_currn->_desc1 = (_TSPrhs) Mkrhs (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_22: root of subtree no. 1 can not be made a rhs node ", 0, _coordref);
_currn->_desc2 = (_TSPalt_op) Mkalt_op (_coordref, _desc2); 
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_22: root of subtree no. 2 can not be made a alt_op node ", 0, _coordref);
_currn->_desc3 = (_TSPelem_list) Mkelem_list (_coordref, _desc3); 
if (((NODEPTR)_currn->_desc3) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_22: root of subtree no. 3 can not be made a elem_list node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_22;
return ( (NODEPTR) _currn);
}/* Mkrule_22 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_23 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_23 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_23 _currn;
#ifdef __cplusplus
_currn = new _TPrule_23;
#else
_currn = (_TPPrule_23) TreeNodeAlloc (sizeof (struct _TPrule_23));
#endif
_currn->_prod = RULErule_23;
_currn->_desc1 = (_TSPelem) Mkelem (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_23: root of subtree no. 1 can not be made a elem node ", 0, _coordref);
_currn->_desc2 = (_TSPrep_op) Mkrep_op (_coordref, _desc2); 
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_23: root of subtree no. 2 can not be made a rep_op node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_23;
return ( (NODEPTR) _currn);
}/* Mkrule_23 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_24 (POSITION *_coordref)
#else
NODEPTR Mkrule_24 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_24 _currn;
#ifdef __cplusplus
_currn = new _TPrule_24;
#else
_currn = (_TPPrule_24) TreeNodeAlloc (sizeof (struct _TPrule_24));
#endif
_currn->_prod = RULErule_24;
_SETCOORD(_currn)
_TERMACT_rule_24;
return ( (NODEPTR) _currn);
}/* Mkrule_24 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_25 (POSITION *_coordref)
#else
NODEPTR Mkrule_25 (_coordref)
      POSITION *_coordref;
#endif
{     _TPPrule_25 _currn;
#ifdef __cplusplus
_currn = new _TPrule_25;
#else
_currn = (_TPPrule_25) TreeNodeAlloc (sizeof (struct _TPrule_25));
#endif
_currn->_prod = RULErule_25;
_SETCOORD(_currn)
_TERMACT_rule_25;
return ( (NODEPTR) _currn);
}/* Mkrule_25 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_26 (POSITION *_coordref, NODEPTR _desc1, int _TERM1)
#else
NODEPTR Mkrule_26 (_coordref,_desc1, _TERM1)
      POSITION *_coordref;
      NODEPTR _desc1;
      int _TERM1;
#endif
{     _TPPrule_26 _currn;
#ifdef __cplusplus
_currn = new _TPrule_26;
#else
_currn = (_TPPrule_26) TreeNodeAlloc (sizeof (struct _TPrule_26));
#endif
_currn->_prod = RULErule_26;
_currn->_desc1 = (_TSPterminal) Mkterminal (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_26: root of subtree no. 1 can not be made a terminal node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_26;
#ifdef MONITOR
_dapto_term_int(((NODEPTR)_currn), "CARDINAL", _TERM1);
#endif

return ( (NODEPTR) _currn);
}/* Mkrule_26 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_27 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_27 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_27 _currn;
#ifdef __cplusplus
_currn = new _TPrule_27;
#else
_currn = (_TPPrule_27) TreeNodeAlloc (sizeof (struct _TPrule_27));
#endif
_currn->_prod = RULErule_27;
_currn->_desc1 = (_TSPmod_op) Mkmod_op (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_27: root of subtree no. 1 can not be made a mod_op node ", 0, _coordref);
_currn->_desc2 = (_TSPterminal) Mkterminal (_coordref, _desc2);   
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_27: root of subtree no. 2 can not be made a terminal node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_27;
return ( (NODEPTR) _currn);
}/* Mkrule_27 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_28 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_28 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_28 _currn;
#ifdef __cplusplus
_currn = new _TPrule_28;
#else
_currn = (_TPPrule_28) TreeNodeAlloc (sizeof (struct _TPrule_28));
#endif
_currn->_prod = RULErule_28;
_currn->_desc1 = (_TSPterminal) Mkterminal (_coordref, _desc1);   
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_28: root of subtree no. 1 can not be made a terminal node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_28;
return ( (NODEPTR) _currn);
}/* Mkrule_28 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_29 (POSITION *_coordref, NODEPTR _desc1)
#else
NODEPTR Mkrule_29 (_coordref,_desc1)
      POSITION *_coordref;
      NODEPTR _desc1;
#endif
{     _TPPrule_29 _currn;
#ifdef __cplusplus
_currn = new _TPrule_29;
#else
_currn = (_TPPrule_29) TreeNodeAlloc (sizeof (struct _TPrule_29));
#endif
_currn->_prod = RULErule_29;
_currn->_desc1 = (_TSPt_or_nt) Mkt_or_nt (_coordref, _desc1);     
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_29: root of subtree no. 1 can not be made a t_or_nt node ", 0, _coordref);
_COPYCOORD(_currn)
_TERMACT_rule_29;
return ( (NODEPTR) _currn);
}/* Mkrule_29 */

#if defined(__STDC__) || defined(__cplusplus)
NODEPTR Mkrule_30 (POSITION *_coordref, NODEPTR _desc1, NODEPTR _desc2)
#else
NODEPTR Mkrule_30 (_coordref,_desc1,_desc2)
      POSITION *_coordref;
      NODEPTR _desc1;
      NODEPTR _desc2;
#endif
{     _TPPrule_30 _currn;
#ifdef __cplusplus
_currn = new _TPrule_30;
#else
_currn = (_TPPrule_30) TreeNodeAlloc (sizeof (struct _TPrule_30));
#endif
_currn->_prod = RULErule_30;
_currn->_desc1 = (_TSPsep_op) Mksep_op (_coordref, _desc1); 
if (((NODEPTR)_currn->_desc1) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_30: root of subtree no. 1 can not be made a sep_op node ", 0, _coordref);
_currn->_desc2 = (_TSPnonterminal) Mknonterminal (_coordref, _desc2);   
if (((NODEPTR)_currn->_desc2) == NULLNODEPTR)   
      message (DEADLY, "RULE rule_30: root of subtree no. 2 can not be made a nonterminal node ", 0, _coordref);
_SETCOORD(_currn)
_TERMACT_rule_30;
return ( (NODEPTR) _currn);
}/* Mkrule_30 */

Generated by  Doxygen 1.6.0   Back to index