#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#ifdef MEMDEBUG
#include <mnemosyn.h>
#endif
#define  TRUE (0==0)
#define  FALSE (0!=0)
#include "regexp.h"
#include "algolps9.h"

FILE *yyin;

#ifdef NO_MAIN

extern char **argv;
extern int argc;

extern char *yy_memptr;

extern char *yy_END_OF_FILE = NULL;
#else

char **argv = (char **)NULL;
int argc = 0;


char *yy_memptr = NULL;

char *yy_END_OF_FILE = NULL;
#endif /* MAIN */
#include "taccutil.h"


/* Main cheats - it invokes the parsing routines explicitly,
   in order to reduce the size of the parse tree for a whole
   file.  Also allows recovery of errors at useful boundaries */

 
  
int main_1(YYTYPE *__arg)
{
int __debug = SEEN_main_1 = debug_execute_enter("Executing procedure main_1 -- arg at %p", __arg);

    YYTYPE *subroot;
    void *stacktop;
    int i;

    if (strcmp(argv[argc-1], "-v") == 0) {
      argc -= 1;
      verbose = TRUE;
    }
    if (strcmp(argv[argc-1], "-d") == 0) {
      argc -= 1;
      _debug = TRUE;
    }
    if (strcmp(argv[argc-1], "-vd") == 0) {
      argc -= 1;
      _debug = TRUE;
      verbose = TRUE;
    }


    if (argc == 1) {
       yyin = fopen("test.ii", "r");
    } else if (argc != 2) {
       fprintf(stderr, "syntax: algolps9 infile.ii\n");
       /* Let's just resume for now... */
       yyin = fopen(argv[1], "r");
    } else {
       yyin = fopen(argv[1], "r");
    }
    if (yyin == NULL) {
       fprintf(stderr, "algolps9: cannot open input\n");
       exit(EXIT_FAILURE);
    }

    fprintf(stderr, "%s: processing %s\n", argv[0], argv[1] == NULL ? "test.ii" : argv[1]);

    if (verbose) fprintf(stderr, "Starting\n");
    fprintf(stdout, "<HTML><HEAD></HEAD><BODY><PRE>");
    for (;;) {
      stacktop = stackmark();
      if (SS_parse(&subroot)) {
          execute_parsetree(subroot);
      } else {
          fprintf(stdout, "</PRE></BODY>\n");
          return(FALSE);
      }
      stackrelease(stacktop);
      if (exit_flag) {
          return(TRUE);
      }
      printf("\n");
      ilev += delayed_ilev; delayed_ilev = 0;
    }
  
if (!_optimise) debug_execute_exit("main_1");
return(TRUE);
}


        
int DECLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_DECLIST_1 = debug_execute_enter("Executing procedure DECLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("DECLIST_1");
return(TRUE);
}

     
int RESTOFDECLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFDECLIST_1 = debug_execute_enter("Executing procedure RESTOFDECLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s%s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFDECLIST_1");
return(TRUE);
}
             
int RESTOFDECLIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFDECLIST_2 = debug_execute_enter("Executing procedure RESTOFDECLIST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFDECLIST_2");
return(TRUE);
}

      
int OPERAND_1(YYTYPE *__arg)
{
int __debug = SEEN_OPERAND_1 = debug_execute_enter("Executing procedure OPERAND_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("OPERAND_1");
return(TRUE);
}
             
int OPERAND_2(YYTYPE *__arg)
{
int __debug = SEEN_OPERAND_2 = debug_execute_enter("Executing procedure OPERAND_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("OPERAND_2");
return(TRUE);
}
             
int OPERAND_3(YYTYPE *__arg)
{
int __debug = SEEN_OPERAND_3 = debug_execute_enter("Executing procedure OPERAND_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("(%s)", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("OPERAND_3");
return(TRUE);
}

              
               
int EXPR_1(YYTYPE *__arg)
{
int __debug = SEEN_EXPR_1 = debug_execute_enter("Executing procedure EXPR_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>if</b></u> %s <u><b>then</b></u> %s%s%s <u><b>else</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[8]->execute.user_value)));

if (!_optimise) debug_execute_exit("EXPR_1");
return(TRUE);
}
               
int EXPR_2(YYTYPE *__arg)
{
int __debug = SEEN_EXPR_2 = debug_execute_enter("Executing procedure EXPR_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("EXPR_2");
return(TRUE);
}

     
int RESTOFEXPR_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFEXPR_1 = debug_execute_enter("Executing procedure RESTOFEXPR_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" %s %s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFEXPR_1");
return(TRUE);
}
             
int RESTOFEXPR_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFEXPR_2 = debug_execute_enter("Executing procedure RESTOFEXPR_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFEXPR_2");
return(TRUE);
}

              
int APP_1(YYTYPE *__arg)
{
int __debug = SEEN_APP_1 = debug_execute_enter("Executing procedure APP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s[%s%s]", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("APP_1");
return(TRUE);
}
                
int APP_2(YYTYPE *__arg)
{
int __debug = SEEN_APP_2 = debug_execute_enter("Executing procedure APP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("(%s%s)", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("APP_2");
return(TRUE);
}
             
int APP_3(YYTYPE *__arg)
{
int __debug = SEEN_APP_3 = debug_execute_enter("Executing procedure APP_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("APP_3");
return(TRUE);
}

      
int RESTOFAPP_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFAPP_1 = debug_execute_enter("Executing procedure RESTOFAPP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFAPP_1");
return(TRUE);
}
             
int RESTOFAPP_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFAPP_2 = debug_execute_enter("Executing procedure RESTOFAPP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFAPP_2");
return(TRUE);
}

          
int LABAPP_1(YYTYPE *__arg)
{
int __debug = SEEN_LABAPP_1 = debug_execute_enter("Executing procedure LABAPP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("[%s%s]", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("LABAPP_1");
return(TRUE);
}
                
int LABAPP_2(YYTYPE *__arg)
{
int __debug = SEEN_LABAPP_2 = debug_execute_enter("Executing procedure LABAPP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("(%s%s)", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("LABAPP_2");
return(TRUE);
}
             
int LABAPP_3(YYTYPE *__arg)
{
int __debug = SEEN_LABAPP_3 = debug_execute_enter("Executing procedure LABAPP_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("LABAPP_3");
return(TRUE);
}

       
int BCONST_1(YYTYPE *__arg)
{
int __debug = SEEN_BCONST_1 = debug_execute_enter("Executing procedure BCONST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>true</b></u>");

if (!_optimise) debug_execute_exit("BCONST_1");
return(TRUE);
}
             
int BCONST_2(YYTYPE *__arg)
{
int __debug = SEEN_BCONST_2 = debug_execute_enter("Executing procedure BCONST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>false</b></u>");

if (!_optimise) debug_execute_exit("BCONST_2");
return(TRUE);
}

          
int BOP_1(YYTYPE *__arg)
{
int __debug = SEEN_BOP_1 = debug_execute_enter("Executing procedure BOP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" %s ", (TRUE?"<IMG SRC=\"and.gif\" WIDTH=8 HEIGHT=9 ALT=\"IMPL\">":"<u><b>and</b></u>"));

if (!_optimise) debug_execute_exit("BOP_1");
return(TRUE);
}
             
int BOP_2(YYTYPE *__arg)
{
int __debug = SEEN_BOP_2 = debug_execute_enter("Executing procedure BOP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" %s ", (TRUE?"<IMG SRC=\"and.gif\" WIDTH=8 HEIGHT=9 ALT=\"IMPL\">":"&amp;"));

if (!_optimise) debug_execute_exit("BOP_2");
return(TRUE);
}
             
int BOP_3(YYTYPE *__arg)
{
int __debug = SEEN_BOP_3 = debug_execute_enter("Executing procedure BOP_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" %s ", (TRUE?"<IMG SRC=\"or.gif\" WIDTH=8 HEIGHT=9 ALT=\"OR\">":"<u><b>or</b></u>"));

if (!_optimise) debug_execute_exit("BOP_3");
return(TRUE);
}
             
int BOP_4(YYTYPE *__arg)
{
int __debug = SEEN_BOP_4 = debug_execute_enter("Executing procedure BOP_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" %s ", (TRUE?"<IMG SRC=\"impl.gif\" WIDTH=8 HEIGHT=9 ALT=\"IMPL\">":"<u><b>impl</b></u>"));

if (!_optimise) debug_execute_exit("BOP_4");
return(TRUE);
}
             
int BOP_5(YYTYPE *__arg)
{
int __debug = SEEN_BOP_5 = debug_execute_enter("Executing procedure BOP_5 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" %s ", (TRUE?"<IMG SRC=\"equiv.gif\" WIDTH=8 HEIGHT=9 ALT=\"EQUIV\">":"<u><b>eqv</b></u>"));

if (!_optimise) debug_execute_exit("BOP_5");
return(TRUE);
}
             
int BOP_6(YYTYPE *__arg)
{
int __debug = SEEN_BOP_6 = debug_execute_enter("Executing procedure BOP_6 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" %s ", (TRUE?"<IMG SRC=\"equiv.gif\" WIDTH=8 HEIGHT=9 ALT=\"EQUIV\">":"<u><b>eqv</b></u>"));

if (!_optimise) debug_execute_exit("BOP_6");
return(TRUE);
}

         
int BTERM_1(YYTYPE *__arg)
{
int __debug = SEEN_BTERM_1 = debug_execute_enter("Executing procedure BTERM_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", (TRUE?"&not;":"<u><b>not</b></u> "), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("BTERM_1");
return(TRUE);
}
             
int BTERM_2(YYTYPE *__arg)
{
int __debug = SEEN_BTERM_2 = debug_execute_enter("Executing procedure BTERM_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("BTERM_2");
return(TRUE);
}

        
int SBEXPR_1(YYTYPE *__arg)
{
int __debug = SEEN_SBEXPR_1 = debug_execute_enter("Executing procedure SBEXPR_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("SBEXPR_1");
return(TRUE);
}

    
int RESTOFSBEXPR_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFSBEXPR_1 = debug_execute_enter("Executing procedure RESTOFSBEXPR_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFSBEXPR_1");
return(TRUE);
}
              
int RESTOFSBEXPR_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFSBEXPR_2 = debug_execute_enter("Executing procedure RESTOFSBEXPR_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFSBEXPR_2");
return(TRUE);
}

              
int BEXPR_1(YYTYPE *__arg)
{
int __debug = SEEN_BEXPR_1 = debug_execute_enter("Executing procedure BEXPR_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>if</b></u> %s <u><b>then</b></u> %s <u><b>else</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)));

if (!_optimise) debug_execute_exit("BEXPR_1");
return(TRUE);
}
              
int BEXPR_2(YYTYPE *__arg)
{
int __debug = SEEN_BEXPR_2 = debug_execute_enter("Executing procedure BEXPR_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("BEXPR_2");
return(TRUE);
}

       
int BOPERAND_1(YYTYPE *__arg)
{
int __debug = SEEN_BOPERAND_1 = debug_execute_enter("Executing procedure BOPERAND_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s %s %s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("BOPERAND_1");
return(TRUE);
}
               
int BOPERAND_2(YYTYPE *__arg)
{
int __debug = SEEN_BOPERAND_2 = debug_execute_enter("Executing procedure BOPERAND_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("BOPERAND_2");
return(TRUE);
}
             
int BOPERAND_3(YYTYPE *__arg)
{
int __debug = SEEN_BOPERAND_3 = debug_execute_enter("Executing procedure BOPERAND_3 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("BOPERAND_3");
return(TRUE);
}
               
int BOPERAND_4(YYTYPE *__arg)
{
int __debug = SEEN_BOPERAND_4 = debug_execute_enter("Executing procedure BOPERAND_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("(%s)", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("BOPERAND_4");
return(TRUE);
}

     

int TYPEopt_1(YYTYPE *__arg)
{
int __debug = SEEN_TYPEopt_1 = debug_execute_enter("Executing procedure TYPEopt_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>integer</b></u> ");

if (!_optimise) debug_execute_exit("TYPEopt_1");
return(TRUE);
}
             
int TYPEopt_2(YYTYPE *__arg)
{
int __debug = SEEN_TYPEopt_2 = debug_execute_enter("Executing procedure TYPEopt_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>real</b></u> ");

if (!_optimise) debug_execute_exit("TYPEopt_2");
return(TRUE);
}
             
int TYPEopt_3(YYTYPE *__arg)
{
int __debug = SEEN_TYPEopt_3 = debug_execute_enter("Executing procedure TYPEopt_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>Boolean</b></u> ");

if (!_optimise) debug_execute_exit("TYPEopt_3");
return(TRUE);
}
             
int TYPEopt_4(YYTYPE *__arg)
{
int __debug = SEEN_TYPEopt_4 = debug_execute_enter("Executing procedure TYPEopt_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("TYPEopt_4");
return(TRUE);
}

            
int VALUEq_1(YYTYPE *__arg)
{
int __debug = SEEN_VALUEq_1 = debug_execute_enter("Executing procedure VALUEq_1 -- arg at %p", __arg);
 /* was * missing in grammar? */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("; %s\n  <u><b>value</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("VALUEq_1");
return(TRUE);
}
             
int VALUEq_2(YYTYPE *__arg)
{
int __debug = SEEN_VALUEq_2 = debug_execute_enter("Executing procedure VALUEq_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("VALUEq_2");
return(TRUE);
}

          
int FPDEL_1(YYTYPE *__arg)
{
int __debug = SEEN_FPDEL_1 = debug_execute_enter("Executing procedure FPDEL_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>label</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("FPDEL_1");
return(TRUE);
}
               
int FPDEL_2(YYTYPE *__arg)
{
int __debug = SEEN_FPDEL_2 = debug_execute_enter("Executing procedure FPDEL_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>switch</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("FPDEL_2");
return(TRUE);
}
               
int FPDEL_3(YYTYPE *__arg)
{
int __debug = SEEN_FPDEL_3 = debug_execute_enter("Executing procedure FPDEL_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>string</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("FPDEL_3");
return(TRUE);
}
              
int FPDEL_4(YYTYPE *__arg)
{
int __debug = SEEN_FPDEL_4 = debug_execute_enter("Executing procedure FPDEL_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("FPDEL_4");
return(TRUE);
}

         
int PDECLN_1(YYTYPE *__arg)
{
int __debug = SEEN_PDECLN_1 = debug_execute_enter("Executing procedure PDECLN_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>array</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("PDECLN_1");
return(TRUE);
}
                
int PDECLN_2(YYTYPE *__arg)
{
int __debug = SEEN_PDECLN_2 = debug_execute_enter("Executing procedure PDECLN_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>procedure</b></u> %s%s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("PDECLN_2");
return(TRUE);
}
                
int PDECLN_3(YYTYPE *__arg)
{
int __debug = SEEN_PDECLN_3 = debug_execute_enter("Executing procedure PDECLN_3 -- arg at %p", __arg);
 /* Added by GT to disambiguate I := I+1; from typless "I" decln. */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("PDECLN_3");
return(TRUE);
}

             
int FPP_1(YYTYPE *__arg)
{
int __debug = SEEN_FPP_1 = debug_execute_enter("Executing procedure FPP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("(%s%s)", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("FPP_1");
return(TRUE);
}
             
int FPP_2(YYTYPE *__arg)
{
int __debug = SEEN_FPP_2 = debug_execute_enter("Executing procedure FPP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("FPP_2");
return(TRUE);
}

    
int RESTOFFPLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFFPLIST_1 = debug_execute_enter("Executing procedure RESTOFFPLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFFPLIST_1");
return(TRUE);
}
             
int RESTOFFPLIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFFPLIST_2 = debug_execute_enter("Executing procedure RESTOFFPLIST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFFPLIST_2");
return(TRUE);
}

        
int FPSEP_1(YYTYPE *__arg)
{
int __debug = SEEN_FPSEP_1 = debug_execute_enter("Executing procedure FPSEP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", ");

if (!_optimise) debug_execute_exit("FPSEP_1");
return(TRUE);
}
               
int FPSEP_2(YYTYPE *__arg)
{
int __debug = SEEN_FPSEP_2 = debug_execute_enter("Executing procedure FPSEP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", "); /* SIMPLIFY FOR NOW */

if (!_optimise) debug_execute_exit("FPSEP_2");
return(TRUE);
}

         
int OPTCOM_1(YYTYPE *__arg)
{
int __debug = SEEN_OPTCOM_1 = debug_execute_enter("Executing procedure OPTCOM_1 -- arg at %p", __arg);
 // Not sure about the * here...
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>comment</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("OPTCOM_1");
return(TRUE);
}
             
int OPTCOM_2(YYTYPE *__arg)
{
int __debug = SEEN_OPTCOM_2 = debug_execute_enter("Executing procedure OPTCOM_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("OPTCOM_2");
return(TRUE);
}

           
int FPSPEC_1(YYTYPE *__arg)
{
int __debug = SEEN_FPSPEC_1 = debug_execute_enter("Executing procedure FPSPEC_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(";\n  %s%s%s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("FPSPEC_1");
return(TRUE);
}
             
int FPSPEC_2(YYTYPE *__arg)
{
int __debug = SEEN_FPSPEC_2 = debug_execute_enter("Executing procedure FPSPEC_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("FPSPEC_2");
return(TRUE);
}

           
                      
int PARCOM_1(YYTYPE *__arg)
{
int __debug = SEEN_PARCOM_1 = debug_execute_enter("Executing procedure PARCOM_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(";\n  <u><b>comment</b></u> (%s%s)%s%s%s", ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[7]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[8]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[9]->execute.user_value)));

if (!_optimise) debug_execute_exit("PARCOM_1");
return(TRUE);
}
             
int PARCOM_2(YYTYPE *__arg)
{
int __debug = SEEN_PARCOM_2 = debug_execute_enter("Executing procedure PARCOM_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("PARCOM_2");
return(TRUE);
}

       
int COLONq_1(YYTYPE *__arg)
{
int __debug = SEEN_COLONq_1 = debug_execute_enter("Executing procedure COLONq_1 -- arg at %p", __arg);
 /* One orthography allows ".." for ":"  */
                   /* (also ".=" for ":=" and ".," for ";" */
                   /*  - the latter causing problems in comments) */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(": ");

if (!_optimise) debug_execute_exit("COLONq_1");
return(TRUE);
}
             
int COLONq_2(YYTYPE *__arg)
{
int __debug = SEEN_COLONq_2 = debug_execute_enter("Executing procedure COLONq_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("COLONq_2");
return(TRUE);
}

          
int COMVAL_1(YYTYPE *__arg)
{
int __debug = SEEN_COMVAL_1 = debug_execute_enter("Executing procedure COMVAL_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s<u><b>value</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value))); /* Is <NOTELINE> a dummy? */

if (!_optimise) debug_execute_exit("COMVAL_1");
return(TRUE);
}
             
int COMVAL_2(YYTYPE *__arg)
{
int __debug = SEEN_COMVAL_2 = debug_execute_enter("Executing procedure COMVAL_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("COMVAL_2");
return(TRUE);
}

           
int COMFP_1(YYTYPE *__arg)
{
int __debug = SEEN_COMFP_1 = debug_execute_enter("Executing procedure COMFP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value))); /* Is <NOTELINE> a dummy? */

if (!_optimise) debug_execute_exit("COMFP_1");
return(TRUE);
}
             
int COMFP_2(YYTYPE *__arg)
{
int __debug = SEEN_COMFP_2 = debug_execute_enter("Executing procedure COMFP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("COMFP_2");
return(TRUE);
}

        
int COMDEL_1(YYTYPE *__arg)
{
int __debug = SEEN_COMDEL_1 = debug_execute_enter("Executing procedure COMDEL_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>label</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("COMDEL_1");
return(TRUE);
}
              
int COMDEL_2(YYTYPE *__arg)
{
int __debug = SEEN_COMDEL_2 = debug_execute_enter("Executing procedure COMDEL_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>switch</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("COMDEL_2");
return(TRUE);
}
              
int COMDEL_3(YYTYPE *__arg)
{
int __debug = SEEN_COMDEL_3 = debug_execute_enter("Executing procedure COMDEL_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>string</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("COMDEL_3");
return(TRUE);
}
              
int COMDEL_4(YYTYPE *__arg)
{
int __debug = SEEN_COMDEL_4 = debug_execute_enter("Executing procedure COMDEL_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("COMDEL_4");
return(TRUE);
}

      
int COMDECLN_1(YYTYPE *__arg)
{
int __debug = SEEN_COMDECLN_1 = debug_execute_enter("Executing procedure COMDECLN_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>array</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("COMDECLN_1");
return(TRUE);
}
              
int COMDECLN_2(YYTYPE *__arg)
{
int __debug = SEEN_COMDECLN_2 = debug_execute_enter("Executing procedure COMDECLN_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>procedure</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("COMDECLN_2");
return(TRUE);
}
               
int COMDECLN_3(YYTYPE *__arg)
{
int __debug = SEEN_COMDECLN_3 = debug_execute_enter("Executing procedure COMDECLN_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("COMDECLN_3");
return(TRUE);
}

        
int CNLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_CNLIST_1 = debug_execute_enter("Executing procedure CNLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("CNLIST_1");
return(TRUE);
}

    
int RESTOFCNLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFCNLIST_1 = debug_execute_enter("Executing procedure RESTOFCNLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFCNLIST_1");
return(TRUE);
}
             
int RESTOFCNLIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFCNLIST_2 = debug_execute_enter("Executing procedure RESTOFCNLIST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFCNLIST_2");
return(TRUE);
}

        
int GENSDE_1(YYTYPE *__arg)
{
int __debug = SEEN_GENSDE_1 = debug_execute_enter("Executing procedure GENSDE_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("GENSDE_1");
return(TRUE);
}
               
int GENSDE_2(YYTYPE *__arg)
{
int __debug = SEEN_GENSDE_2 = debug_execute_enter("Executing procedure GENSDE_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("(%s)", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("GENSDE_2");
return(TRUE);
}

             
int GENDE_1(YYTYPE *__arg)
{
int __debug = SEEN_GENDE_1 = debug_execute_enter("Executing procedure GENDE_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>if</b></u> %s <u><b>then</b></u> %s <u><b>else</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)));

if (!_optimise) debug_execute_exit("GENDE_1");
return(TRUE);
}
             
int GENDE_2(YYTYPE *__arg)
{
int __debug = SEEN_GENDE_2 = debug_execute_enter("Executing procedure GENDE_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("GENDE_2");
return(TRUE);
}

           
int SDE_1(YYTYPE *__arg)
{
int __debug = SEEN_SDE_1 = debug_execute_enter("Executing procedure SDE_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("SDE_1");
return(TRUE);
}
               
int SDE_2(YYTYPE *__arg)
{
int __debug = SEEN_SDE_2 = debug_execute_enter("Executing procedure SDE_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("(%s)", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("SDE_2");
return(TRUE);
}

                
int DE_1(YYTYPE *__arg)
{
int __debug = SEEN_DE_1 = debug_execute_enter("Executing procedure DE_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>if</b></u> %s <u><b>then</b></u> %s <u><b>else</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)));

if (!_optimise) debug_execute_exit("DE_1");
return(TRUE);
}
             
int DE_2(YYTYPE *__arg)
{
int __debug = SEEN_DE_2 = debug_execute_enter("Executing procedure DE_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("DE_2");
return(TRUE);
}

    
int RESTOFGENDELIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFGENDELIST_1 = debug_execute_enter("Executing procedure RESTOFGENDELIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFGENDELIST_1");
return(TRUE);
}
             
int RESTOFGENDELIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFGENDELIST_2 = debug_execute_enter("Executing procedure RESTOFGENDELIST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFGENDELIST_2");
return(TRUE);
}

          
int RTP_1(YYTYPE *__arg)
{
int __debug = SEEN_RTP_1 = debug_execute_enter("Executing procedure RTP_1 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("RTP_1");
return(TRUE);
}
               
int RTP_2(YYTYPE *__arg)
{
int __debug = SEEN_RTP_2 = debug_execute_enter("Executing procedure RTP_2 -- arg at %p", __arg);
 /* Nomore is true if next char is , or ) */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("RTP_2");
return(TRUE);
}
              
int RTP_3(YYTYPE *__arg)
{
int __debug = SEEN_RTP_3 = debug_execute_enter("Executing procedure RTP_3 -- arg at %p", __arg);
/* <NOMORE> */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)));

if (!_optimise) debug_execute_exit("RTP_3");
return(TRUE);
}
              
int RTP_4(YYTYPE *__arg)
{
int __debug = SEEN_RTP_4 = debug_execute_enter("Executing procedure RTP_4 -- arg at %p", __arg);
/* <NOMORE> */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)));

if (!_optimise) debug_execute_exit("RTP_4");
return(TRUE);
}
              
int RTP_5(YYTYPE *__arg)
{
int __debug = SEEN_RTP_5 = debug_execute_enter("Executing procedure RTP_5 -- arg at %p", __arg);
/* <NOMORE> */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)));

if (!_optimise) debug_execute_exit("RTP_5");
return(TRUE);
}

    
int RESTOFRTPLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFRTPLIST_1 = debug_execute_enter("Executing procedure RESTOFRTPLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFRTPLIST_1");
return(TRUE);
}
             
int RESTOFRTPLIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFRTPLIST_2 = debug_execute_enter("Executing procedure RESTOFRTPLIST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFRTPLIST_2");
return(TRUE);
}

       
int RESTOFASS_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFASS_1 = debug_execute_enter("Executing procedure RESTOFASS_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s := %s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFASS_1");
return(TRUE);
}

        
int abEXPR_1(YYTYPE *__arg)
{
int __debug = SEEN_abEXPR_1 = debug_execute_enter("Executing procedure abEXPR_1 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("abEXPR_1");
return(TRUE);
}
              
int abEXPR_2(YYTYPE *__arg)
{
int __debug = SEEN_abEXPR_2 = debug_execute_enter("Executing procedure abEXPR_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("abEXPR_2");
return(TRUE);
}

        
int RESTOFABLP_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFABLP_1 = debug_execute_enter("Executing procedure RESTOFABLP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s := %s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFABLP_1");
return(TRUE);
}
             
int RESTOFABLP_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFABLP_2 = debug_execute_enter("Executing procedure RESTOFABLP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFABLP_2");
return(TRUE);
}


        
int oldRESTOFASS_1(YYTYPE *__arg)
{
int __debug = SEEN_oldRESTOFASS_1 = debug_execute_enter("Executing procedure oldRESTOFASS_1 -- arg at %p", __arg);


/* problem with the parsing algorithm: if we get a successful parse
   here, e.g I := I, then this returns TRUE and does not try the
   second alternative of I := I+1 because the PARENT of this
   phrase moves on to *his* second alternative.  The semantic
   guard here from the original parser would have avoided that
   trap, but at this stage I do not know if my variable is a Boolean
   or not because I have not been building a symbol table.  In
   order to do it properly I either need a symbol table, *or*
   a major revamp of the parser to retry from the last successful
   option rather than the last failed one. :-/
   In the mean time, parsing the Arithmetic assignment first seems
   to succeed more often than parsing the Boolean one, so I
   have swapped the order of the two phrases below.  Originally
   it was Boolean then Arithmetic.
 */

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s := %s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("oldRESTOFASS_1");
return(TRUE);
}
                 
int oldRESTOFASS_2(YYTYPE *__arg)
{
int __debug = SEEN_oldRESTOFASS_2 = debug_execute_enter("Executing procedure oldRESTOFASS_2 -- arg at %p", __arg);
 /* ORDER SWAPPED TO TEST A HYPOTHESIS */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s := %s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("oldRESTOFASS_2");
return(TRUE);
}

         
int oldRESTOFBLP_1(YYTYPE *__arg)
{
int __debug = SEEN_oldRESTOFBLP_1 = debug_execute_enter("Executing procedure oldRESTOFBLP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s%s := %s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)));

if (!_optimise) debug_execute_exit("oldRESTOFBLP_1");
return(TRUE);
}
             
int oldRESTOFBLP_2(YYTYPE *__arg)
{
int __debug = SEEN_oldRESTOFBLP_2 = debug_execute_enter("Executing procedure oldRESTOFBLP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("oldRESTOFBLP_2");
return(TRUE);
}

         
int oldRESTOFALP_1(YYTYPE *__arg)
{
int __debug = SEEN_oldRESTOFALP_1 = debug_execute_enter("Executing procedure oldRESTOFALP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s%s := %s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)));

if (!_optimise) debug_execute_exit("oldRESTOFALP_1");
return(TRUE);
}
             
int oldRESTOFALP_2(YYTYPE *__arg)
{
int __debug = SEEN_oldRESTOFALP_2 = debug_execute_enter("Executing procedure oldRESTOFALP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("oldRESTOFALP_2");
return(TRUE);
}

       
int RESTOFFLE_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFFLE_1 = debug_execute_enter("Executing procedure RESTOFFLE_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" <u><b>step</b></u> %s <u><b>until</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFFLE_1");
return(TRUE);
}
              
int RESTOFFLE_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFFLE_2 = debug_execute_enter("Executing procedure RESTOFFLE_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" <u><b>while</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFFLE_2");
return(TRUE);
}
             
int RESTOFFLE_3(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFFLE_3 = debug_execute_enter("Executing procedure RESTOFFLE_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFFLE_3");
return(TRUE);
}

     
int RESTOFFORLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFFORLIST_1 = debug_execute_enter("Executing procedure RESTOFFORLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(",\n      %s%s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFFORLIST_1");
return(TRUE);
}
             
int RESTOFFORLIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFFORLIST_2 = debug_execute_enter("Executing procedure RESTOFFORLIST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFFORLIST_2");
return(TRUE);
}

      
int RESTOFBPLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFBPLIST_1 = debug_execute_enter("Executing procedure RESTOFBPLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s : %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFBPLIST_1");
return(TRUE);
}
             
int RESTOFBPLIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFBPLIST_2 = debug_execute_enter("Executing procedure RESTOFBPLIST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFBPLIST_2");
return(TRUE);
}

         
int DECLN_1(YYTYPE *__arg)
{
int __debug = SEEN_DECLN_1 = debug_execute_enter("Executing procedure DECLN_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("DECLN_1");
return(TRUE);
}
               
int DECLN_2(YYTYPE *__arg)
{
int __debug = SEEN_DECLN_2 = debug_execute_enter("Executing procedure DECLN_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>array</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("DECLN_2");
return(TRUE);
}

         
int ADECLN_1(YYTYPE *__arg)
{
int __debug = SEEN_ADECLN_1 = debug_execute_enter("Executing procedure ADECLN_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("ADECLN_1");
return(TRUE);
}

   
int RESTOFARRAYLIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFARRAYLIST_1 = debug_execute_enter("Executing procedure RESTOFARRAYLIST_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFARRAYLIST_1");
return(TRUE);
}
             
int RESTOFARRAYLIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFARRAYLIST_2 = debug_execute_enter("Executing procedure RESTOFARRAYLIST_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFARRAYLIST_2");
return(TRUE);
}

        
int BPAIR_1(YYTYPE *__arg)
{
int __debug = SEEN_BPAIR_1 = debug_execute_enter("Executing procedure BPAIR_1 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("BPAIR_1");
return(TRUE);
}
                  
int BPAIR_2(YYTYPE *__arg)
{
int __debug = SEEN_BPAIR_2 = debug_execute_enter("Executing procedure BPAIR_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("[%s : %s%s]", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("BPAIR_2");
return(TRUE);
}

         
                          
int CBPAIR_1(YYTYPE *__arg)
{
int __debug = SEEN_CBPAIR_1 = debug_execute_enter("Executing procedure CBPAIR_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("[%s%s : %s%s%s]", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[7]->execute.user_value)));

if (!_optimise) debug_execute_exit("CBPAIR_1");
return(TRUE);
}

          
int RESTOFCBP_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFCBP_1 = debug_execute_enter("Executing procedure RESTOFCBP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s%s : %s%s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[7]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFCBP_1");
return(TRUE);
}
             
int RESTOFCBP_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFCBP_2 = debug_execute_enter("Executing procedure RESTOFCBP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFCBP_2");
return(TRUE);
}

        
int OADECLN_1(YYTYPE *__arg)
{
int __debug = SEEN_OADECLN_1 = debug_execute_enter("Executing procedure OADECLN_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("OADECLN_1");
return(TRUE);
}

   
int RESTOFOADEC_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFOADEC_1 = debug_execute_enter("Executing procedure RESTOFOADEC_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("RESTOFOADEC_1");
return(TRUE);
}
             
int RESTOFOADEC_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFOADEC_2 = debug_execute_enter("Executing procedure RESTOFOADEC_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("RESTOFOADEC_2");
return(TRUE);
}

            
int VDECLNa_1(YYTYPE *__arg)
{
int __debug = SEEN_VDECLNa_1 = debug_execute_enter("Executing procedure VDECLNa_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>procedure</b></u> %s%s%s%s%s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[7]->execute.user_value))); /* NOTENAME and DOWN are dummies? */

if (!_optimise) debug_execute_exit("VDECLNa_1");
return(TRUE);
}

           
int VDECLNb_1(YYTYPE *__arg)
{
int __debug = SEEN_VDECLNb_1 = debug_execute_enter("Executing procedure VDECLNb_1 -- arg at %p", __arg);
 /* params, then procedure body */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s;\n%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)));

if (!_optimise) debug_execute_exit("VDECLNb_1");
return(TRUE);
}

       
int VDECLN_1(YYTYPE *__arg)
{
int __debug = SEEN_VDECLN_1 = debug_execute_enter("Executing procedure VDECLN_1 -- arg at %p", __arg);
 /* tacc limitation of $0-$9 */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("VDECLN_1");
return(TRUE);
}
                
int VDECLN_2(YYTYPE *__arg)
{
int __debug = SEEN_VDECLN_2 = debug_execute_enter("Executing procedure VDECLN_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>array</b></u> %s%s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("VDECLN_2");
return(TRUE);
}
               
int VDECLN_3(YYTYPE *__arg)
{
int __debug = SEEN_VDECLN_3 = debug_execute_enter("Executing procedure VDECLN_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("VDECLN_3");
return(TRUE);
}

         
int COMP_1(YYTYPE *__arg)
{
int __debug = SEEN_COMP_1 = debug_execute_enter("Executing procedure COMP_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text);

if (!_optimise) debug_execute_exit("COMP_1");
return(TRUE);
}
             
int COMP_2(YYTYPE *__arg)
{
int __debug = SEEN_COMP_2 = debug_execute_enter("Executing procedure COMP_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"ge.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTLESS\">":"&gt;="));

if (!_optimise) debug_execute_exit("COMP_2");
return(TRUE);
}
             
int COMP_3(YYTYPE *__arg)
{
int __debug = SEEN_COMP_3 = debug_execute_enter("Executing procedure COMP_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("&gt;");

if (!_optimise) debug_execute_exit("COMP_3");
return(TRUE);
}
             
int COMP_4(YYTYPE *__arg)
{
int __debug = SEEN_COMP_4 = debug_execute_enter("Executing procedure COMP_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"ne.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTEQUAL\">":"&lt;&gt;"));

if (!_optimise) debug_execute_exit("COMP_4");
return(TRUE);
}
             
int COMP_5(YYTYPE *__arg)
{
int __debug = SEEN_COMP_5 = debug_execute_enter("Executing procedure COMP_5 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"le.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTLESS\">":"&lt;="));

if (!_optimise) debug_execute_exit("COMP_5");
return(TRUE);
}
             
int COMP_6(YYTYPE *__arg)
{
int __debug = SEEN_COMP_6 = debug_execute_enter("Executing procedure COMP_6 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("&lt;");

if (!_optimise) debug_execute_exit("COMP_6");
return(TRUE);
}
             
int COMP_7(YYTYPE *__arg)
{
int __debug = SEEN_COMP_7 = debug_execute_enter("Executing procedure COMP_7 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"ne.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTEQUAL\">":"#"));

if (!_optimise) debug_execute_exit("COMP_7");
return(TRUE);
}
             
int COMP_8(YYTYPE *__arg)
{
int __debug = SEEN_COMP_8 = debug_execute_enter("Executing procedure COMP_8 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"=":"<u><b>equal</b></u>"));

if (!_optimise) debug_execute_exit("COMP_8");
return(TRUE);
}
             
int COMP_9(YYTYPE *__arg)
{
int __debug = SEEN_COMP_9 = debug_execute_enter("Executing procedure COMP_9 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"=":"<u><b>eq</b></u>"));

if (!_optimise) debug_execute_exit("COMP_9");
return(TRUE);
}
             
int COMP_10(YYTYPE *__arg)
{
int __debug = SEEN_COMP_10 = debug_execute_enter("Executing procedure COMP_10 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"ge.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTLESS\">":"<u><b>ge</b></u>"));

if (!_optimise) debug_execute_exit("COMP_10");
return(TRUE);
}
             
int COMP_11(YYTYPE *__arg)
{
int __debug = SEEN_COMP_11 = debug_execute_enter("Executing procedure COMP_11 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"&gt;":"<u><b>gt/em>"));

if (!_optimise) debug_execute_exit("COMP_11");
return(TRUE);
}
             
int COMP_12(YYTYPE *__arg)
{
int __debug = SEEN_COMP_12 = debug_execute_enter("Executing procedure COMP_12 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"ne.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTEQUAL\">":"<u><b>ne</b></u>"));

if (!_optimise) debug_execute_exit("COMP_12");
return(TRUE);
}
             
int COMP_13(YYTYPE *__arg)
{
int __debug = SEEN_COMP_13 = debug_execute_enter("Executing procedure COMP_13 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"ne.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTEQUAL\">":"<u><b>notequal</b></u>"));

if (!_optimise) debug_execute_exit("COMP_13");
return(TRUE);
}
             
int COMP_14(YYTYPE *__arg)
{
int __debug = SEEN_COMP_14 = debug_execute_enter("Executing procedure COMP_14 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"&lt;":"<u><b>lt</b></u>" /* alternative orthography */));

if (!_optimise) debug_execute_exit("COMP_14");
return(TRUE);
}
             
int COMP_15(YYTYPE *__arg)
{
int __debug = SEEN_COMP_15 = debug_execute_enter("Executing procedure COMP_15 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"le.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTLESS\">":"<u><b>le</b></u>"));

if (!_optimise) debug_execute_exit("COMP_15");
return(TRUE);
}
             
int COMP_16(YYTYPE *__arg)
{
int __debug = SEEN_COMP_16 = debug_execute_enter("Executing procedure COMP_16 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"le.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTLESS\">":"<u><b>notgreater</b></u>"));

if (!_optimise) debug_execute_exit("COMP_16");
return(TRUE);
}
             
int COMP_17(YYTYPE *__arg)
{
int __debug = SEEN_COMP_17 = debug_execute_enter("Executing procedure COMP_17 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"&lt;":"<u><b>lt</b></u>"));

if (!_optimise) debug_execute_exit("COMP_17");
return(TRUE);
}
             
int COMP_18(YYTYPE *__arg)
{
int __debug = SEEN_COMP_18 = debug_execute_enter("Executing procedure COMP_18 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"ne.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTEQUAL\">":__arg->execute.arg[1]->execute.text));

if (!_optimise) debug_execute_exit("COMP_18");
return(TRUE);
}
             
int COMP_19(YYTYPE *__arg)
{
int __debug = SEEN_COMP_19 = debug_execute_enter("Executing procedure COMP_19 -- arg at %p", __arg);
 // escaped \
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"ne.gif\" WIDTH=9 HEIGHT=9 ALT=\"NOTEQUAL\">":__arg->execute.arg[1]->execute.text));

if (!_optimise) debug_execute_exit("COMP_19");
return(TRUE);
}

            
int OLABEL_1(YYTYPE *__arg)
{
int __debug = SEEN_OLABEL_1 = debug_execute_enter("Executing procedure OLABEL_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s: %s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)));

if (!_optimise) debug_execute_exit("OLABEL_1");
return(TRUE);
}
             
int OLABEL_2(YYTYPE *__arg)
{
int __debug = SEEN_OLABEL_2 = debug_execute_enter("Executing procedure OLABEL_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("OLABEL_2");
return(TRUE);
}

        
int NSTMT_1(YYTYPE *__arg)
{
int __debug = SEEN_NSTMT_1 = debug_execute_enter("Executing procedure NSTMT_1 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("NSTMT_1");
return(TRUE);
}
              
int NSTMT_2(YYTYPE *__arg)
{
int __debug = SEEN_NSTMT_2 = debug_execute_enter("Executing procedure NSTMT_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>for</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("NSTMT_2");
return(TRUE);
}
                 
int NSTMT_3(YYTYPE *__arg)
{
int __debug = SEEN_NSTMT_3 = debug_execute_enter("Executing procedure NSTMT_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>if</b></u> %s <u><b>then</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("NSTMT_3");
return(TRUE);
}
             
int NSTMT_4(YYTYPE *__arg)
{
int __debug = SEEN_NSTMT_4 = debug_execute_enter("Executing procedure NSTMT_4 -- arg at %p", __arg);
 /* Is this perhaps 'check semi'? replacable by <?semi>  ??? */
               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("NSTMT_4");
return(TRUE);
}

        
                   
int FORSTMNT_1(YYTYPE *__arg)
{
int __debug = SEEN_FORSTMNT_1 = debug_execute_enter("Executing procedure FORSTMNT_1 -- arg at %p", __arg);

               if ((strlen(((USERTYPE)(__arg->execute.arg[8]->execute.user_value)))+strlen(((USERTYPE)(__arg->execute.arg[9]->execute.user_value)))) > 10) {
                 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s := %s%s%s <u><b>do</b></u>\n  %s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)), 
                              ((USERTYPE)(__arg->execute.arg[8]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[9]->execute.user_value)));
               } else {
                 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s := %s%s%s <u><b>do</b></u>%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[6]->execute.user_value)), 
                              ((((*((USERTYPE)(__arg->execute.arg[8]->execute.user_value))) == '\0') && ((*((USERTYPE)(__arg->execute.arg[9]->execute.user_value))) == ';')) ? "" : " "),
                              ((USERTYPE)(__arg->execute.arg[8]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[9]->execute.user_value)));
               }

if (!_optimise) debug_execute_exit("FORSTMNT_1");
return(TRUE);
}

         
int STMT_1(YYTYPE *__arg)
{
int __debug = SEEN_STMT_1 = debug_execute_enter("Executing procedure STMT_1 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("STMT_1");
return(TRUE);
}
              
int STMT_2(YYTYPE *__arg)
{
int __debug = SEEN_STMT_2 = debug_execute_enter("Executing procedure STMT_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>for</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("STMT_2");
return(TRUE);
}
                 
int STMT_3(YYTYPE *__arg)
{
int __debug = SEEN_STMT_3 = debug_execute_enter("Executing procedure STMT_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>if</b></u> %s <u><b>then</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("STMT_3");
return(TRUE);
}
             
int STMT_4(YYTYPE *__arg)
{
int __debug = SEEN_STMT_4 = debug_execute_enter("Executing procedure STMT_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("STMT_4");
return(TRUE);
}

         
int BLKORCS_1(YYTYPE *__arg)
{
int __debug = SEEN_BLKORCS_1 = debug_execute_enter("Executing procedure BLKORCS_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("BLKORCS_1");
return(TRUE);
}
             
int BLKORCS_2(YYTYPE *__arg)
{
int __debug = SEEN_BLKORCS_2 = debug_execute_enter("Executing procedure BLKORCS_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("BLKORCS_2");
return(TRUE);
}

         
int FSTMT_1(YYTYPE *__arg)
{
int __debug = SEEN_FSTMT_1 = debug_execute_enter("Executing procedure FSTMT_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>begin</b></u>"); delayed_ilev += 1;

if (!_optimise) debug_execute_exit("FSTMT_1");
return(TRUE);
}
             
int FSTMT_2(YYTYPE *__arg)
{
int __debug = SEEN_FSTMT_2 = debug_execute_enter("Executing procedure FSTMT_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("FSTMT_2");
return(TRUE);
}

         
int USTMT_1(YYTYPE *__arg)
{
int __debug = SEEN_USTMT_1 = debug_execute_enter("Executing procedure USTMT_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>begin</b></u>"); delayed_ilev += 1;

if (!_optimise) debug_execute_exit("USTMT_1");
return(TRUE);
}
              
int USTMT_2(YYTYPE *__arg)
{
int __debug = SEEN_USTMT_2 = debug_execute_enter("Executing procedure USTMT_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>for</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("USTMT_2");
return(TRUE);
}
              
int USTMT_3(YYTYPE *__arg)
{
int __debug = SEEN_USTMT_3 = debug_execute_enter("Executing procedure USTMT_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("USTMT_3");
return(TRUE);
}
             
int USTMT_4(YYTYPE *__arg)
{
int __debug = SEEN_USTMT_4 = debug_execute_enter("Executing procedure USTMT_4 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("USTMT_4");
return(TRUE);
}

       
int EPNAME_1(YYTYPE *__arg)
{
int __debug = SEEN_EPNAME_1 = debug_execute_enter("Executing procedure EPNAME_1 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("EPNAME_1");
return(TRUE);
}
             
int EPNAME_2(YYTYPE *__arg)
{
int __debug = SEEN_EPNAME_2 = debug_execute_enter("Executing procedure EPNAME_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("EPNAME_2");
return(TRUE);
}

       
int PROCSTMT_1(YYTYPE *__arg)
{
int __debug = SEEN_PROCSTMT_1 = debug_execute_enter("Executing procedure PROCSTMT_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>algol</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("PROCSTMT_1");
return(TRUE);
}
               
int PROCSTMT_2(YYTYPE *__arg)
{
int __debug = SEEN_PROCSTMT_2 = debug_execute_enter("Executing procedure PROCSTMT_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>external</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("PROCSTMT_2");
return(TRUE);
}
               
int PROCSTMT_3(YYTYPE *__arg)
{
int __debug = SEEN_PROCSTMT_3 = debug_execute_enter("Executing procedure PROCSTMT_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>fortran</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("PROCSTMT_3");
return(TRUE);
}
             
int PROCSTMT_4(YYTYPE *__arg)
{
int __debug = SEEN_PROCSTMT_4 = debug_execute_enter("Executing procedure PROCSTMT_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>begin</b></u>"); delayed_ilev += 1;

if (!_optimise) debug_execute_exit("PROCSTMT_4");
return(TRUE);
}
               
int PROCSTMT_5(YYTYPE *__arg)
{
int __debug = SEEN_PROCSTMT_5 = debug_execute_enter("Executing procedure PROCSTMT_5 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("PROCSTMT_5");
return(TRUE);
}

           
int ELSEq_1(YYTYPE *__arg)
{
int __debug = SEEN_ELSEq_1 = debug_execute_enter("Executing procedure ELSEq_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" <u><b>else</b></u> %s%s", ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("ELSEq_1");
return(TRUE);
}
             
int ELSEq_2(YYTYPE *__arg)
{
int __debug = SEEN_ELSEq_2 = debug_execute_enter("Executing procedure ELSEq_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("ELSEq_2");
return(TRUE);
}

     
int ELSESTMNT_1(YYTYPE *__arg)
{
int __debug = SEEN_ELSESTMNT_1 = debug_execute_enter("Executing procedure ELSESTMNT_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>begin</b></u>%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value))); delayed_ilev += 1;;

if (!_optimise) debug_execute_exit("ELSESTMNT_1");
return(TRUE);
}
             
int ELSESTMNT_2(YYTYPE *__arg)
{
int __debug = SEEN_ELSESTMNT_2 = debug_execute_enter("Executing procedure ELSESTMNT_2 -- arg at %p", __arg);

               ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value));

if (!_optimise) debug_execute_exit("ELSESTMNT_2");
return(TRUE);
}

             
int UI_1(YYTYPE *__arg)
{
int __debug = SEEN_UI_1 = debug_execute_enter("Executing procedure UI_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));

if (!_optimise) debug_execute_exit("UI_1");
return(TRUE);
}
              
int UI_2(YYTYPE *__arg)
{
int __debug = SEEN_UI_2 = debug_execute_enter("Executing procedure UI_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("UI_2");
return(TRUE);
}
              
int UI_3(YYTYPE *__arg)
{
int __debug = SEEN_UI_3 = debug_execute_enter("Executing procedure UI_3 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>goto</b></u> %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("UI_3");
return(TRUE);
}

           
int SS_1(YYTYPE *__arg)
{
int __debug = SEEN_SS_1 = debug_execute_enter("Executing procedure SS_1 -- arg at %p", __arg);
 exit_flag = TRUE; 
if (!_optimise) debug_execute_exit("SS_1");
return(TRUE);
} 
              
int SS_2(YYTYPE *__arg)
{
int __debug = SEEN_SS_2 = debug_execute_enter("Executing procedure SS_2 -- arg at %p", __arg);

               int i, c;
               char *line = ((USERTYPE)(__arg->execute.arg[1]->execute.user_value));
               i = ilev*4;
               while (i-- > 0) fputc(' ', stdout);
               for (;;) {
                 c = (*line++)&255; if (c == '\0') break;
                 if (c == '\n') {
                   i = ilev*4;
                   fputc('\n', stdout);
                   while (i-- > 0) fputc(' ', stdout);
                 } else fputc(c, stdout);
               }
               /* indent(ilev); */
               /* fprintf(stdout, "%ss", $1); fflush(stdout); */

if (!_optimise) debug_execute_exit("SS_2");
return(TRUE);
}
             
int SS_3(YYTYPE *__arg)
{
int __debug = SEEN_SS_3 = debug_execute_enter("Executing procedure SS_3 -- arg at %p", __arg);

               fprintf(stdout, "\n* Syntax error at: %s\n", __arg->execute.arg[1]->execute.text);

if (!_optimise) debug_execute_exit("SS_3");
return(TRUE);
}

         
int STMNT_1(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_1 = debug_execute_enter("Executing procedure STMNT_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s;", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)));

if (!_optimise) debug_execute_exit("STMNT_1");
return(TRUE);
}
                 
int STMNT_2(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_2 = debug_execute_enter("Executing procedure STMNT_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>end</b></u>%s%s;", ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value))); ilev -= 1;

if (!_optimise) debug_execute_exit("STMNT_2");
return(TRUE);
}
               
int STMNT_3(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_3 = debug_execute_enter("Executing procedure STMNT_3 -- arg at %p", __arg);
 /* final end of program */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>end</b></u>%s;", ((USERTYPE)(__arg->execute.arg[3]->execute.user_value))); ilev -= 1;

if (!_optimise) debug_execute_exit("STMNT_3");
return(TRUE);
}
              
int STMNT_4(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_4 = debug_execute_enter("Executing procedure STMNT_4 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>comment</b></u> %s",/*removed ';'*/ ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)) /* unconvert any 'KEYWORDS' in comment text? */ );

if (!_optimise) debug_execute_exit("STMNT_4");
return(TRUE);
}
               
int STMNT_5(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_5 = debug_execute_enter("Executing procedure STMNT_5 -- arg at %p", __arg);
 
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s;", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("STMNT_5");
return(TRUE);
}
               
int STMNT_6(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_6 = debug_execute_enter("Executing procedure STMNT_6 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>begin</b></u>%s;", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value))); delayed_ilev += 1;

if (!_optimise) debug_execute_exit("STMNT_6");
return(TRUE);
}
                 
                         
int STMNT_7(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_7 = debug_execute_enter("Executing procedure STMNT_7 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>switch</b></u> %s%s%s%s := %s%s;", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[7]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[8]->execute.user_value)));

if (!_optimise) debug_execute_exit("STMNT_7");
return(TRUE);
}
                 
int STMNT_8(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_8 = debug_execute_enter("Executing procedure STMNT_8 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>own</b></u> %s %s;", ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)));

if (!_optimise) debug_execute_exit("STMNT_8");
return(TRUE);
}
                 
int STMNT_9(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_9 = debug_execute_enter("Executing procedure STMNT_9 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s: %s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("STMNT_9");
return(TRUE);
}
             
int STMNT_10(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_10 = debug_execute_enter("Executing procedure STMNT_10 -- arg at %p", __arg);
 /* empty statement? - isn't this already caught in NSTMT/STMT/UI?*/
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(";");

if (!_optimise) debug_execute_exit("STMNT_10");
return(TRUE);
}
              
int STMNT_11(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_11 = debug_execute_enter("Executing procedure STMNT_11 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("'<u><b>codeon</b></u>;");

if (!_optimise) debug_execute_exit("STMNT_11");
return(TRUE);
}
              
int STMNT_12(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_12 = debug_execute_enter("Executing procedure STMNT_12 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>codeoff</b></u>;");

if (!_optimise) debug_execute_exit("STMNT_12");
return(TRUE);
}
               
int STMNT_13(YYTYPE *__arg)
{
int __debug = SEEN_STMNT_13 = debug_execute_enter("Executing procedure STMNT_13 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("<u><b>program</b></u> %s;", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("STMNT_13");
return(TRUE);
}

/* BIPS */

     
int NOTENAME_1(YYTYPE *__arg)
{
int __debug = SEEN_NOTENAME_1 = debug_execute_enter("Executing procedure NOTENAME_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("NOTENAME_1");
return(TRUE);
}
            
int S_1(YYTYPE *__arg)
{
int __debug = SEEN_S_1 = debug_execute_enter("Executing procedure S_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(";"); 
if (!_optimise) debug_execute_exit("S_1");
return(TRUE);
}
             
int S_2(YYTYPE *__arg)
{
int __debug = SEEN_S_2 = debug_execute_enter("Executing procedure S_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("S_2");
return(TRUE);
}
             
int S_3(YYTYPE *__arg)
{
int __debug = SEEN_S_3 = debug_execute_enter("Executing procedure S_3 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("S_3");
return(TRUE);
}
           
int UP_1(YYTYPE *__arg)
{
int __debug = SEEN_UP_1 = debug_execute_enter("Executing procedure UP_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("UP_1");
return(TRUE);
}
         
int DOWN_1(YYTYPE *__arg)
{
int __debug = SEEN_DOWN_1 = debug_execute_enter("Executing procedure DOWN_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("DOWN_1");
return(TRUE);
}
       
int CHKLAB_1(YYTYPE *__arg)
{
int __debug = SEEN_CHKLAB_1 = debug_execute_enter("Executing procedure CHKLAB_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("CHKLAB_1");
return(TRUE);
}
          
int ass_1(YYTYPE *__arg)
{
int __debug = SEEN_ass_1 = debug_execute_enter("Executing procedure ass_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("ass_1");
return(TRUE);
}
     
int LINKOWNS_1(YYTYPE *__arg)
{
int __debug = SEEN_LINKOWNS_1 = debug_execute_enter("Executing procedure LINKOWNS_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("LINKOWNS_1");
return(TRUE);
}
    
int ARRAYTYPE_1(YYTYPE *__arg)
{
int __debug = SEEN_ARRAYTYPE_1 = debug_execute_enter("Executing procedure ARRAYTYPE_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("ARRAYTYPE_1");
return(TRUE);
}
      
int CHECKSC_1(YYTYPE *__arg)
{
int __debug = SEEN_CHECKSC_1 = debug_execute_enter("Executing procedure CHECKSC_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); /* GUESSING!!! */ 
if (!_optimise) debug_execute_exit("CHECKSC_1");
return(TRUE);
}
       
int CHKLPL_1(YYTYPE *__arg)
{
int __debug = SEEN_CHKLPL_1 = debug_execute_enter("Executing procedure CHKLPL_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("CHKLPL_1");
return(TRUE);
}
        
int CMPND_1(YYTYPE *__arg)
{
int __debug = SEEN_CMPND_1 = debug_execute_enter("Executing procedure CMPND_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); /* Also need <!LevelLessthanOne> (BIP1036)*/

if (!_optimise) debug_execute_exit("CMPND_1");
return(TRUE);
}
             
int CMPND_2(YYTYPE *__arg)
{
int __debug = SEEN_CMPND_2 = debug_execute_enter("Executing procedure CMPND_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); /* Also need <!LevelLessthanOne> (BIP1036)*/

if (!_optimise) debug_execute_exit("CMPND_2");
return(TRUE);
}

       
int COMTEXT_1(YYTYPE *__arg)
{
int __debug = SEEN_COMTEXT_1 = debug_execute_enter("Executing procedure COMTEXT_1 -- arg at %p", __arg);
  /* BREAKS WHEN ".," USED AS SEMI! */
               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", __arg->execute.arg[1]->execute.text, ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));
               /* WARNING: <COMTEXT> may be multi-line - not yet handled in 'filter.c
... */ 
               /* Also... should we undo 'KEYWORD' translation in comments here? */

if (!_optimise) debug_execute_exit("COMTEXT_1");
return(TRUE);
}

   
int continuecom_1(YYTYPE *__arg)
{
int __debug = SEEN_continuecom_1 = debug_execute_enter("Executing procedure continuecom_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("\n%s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value)));

if (!_optimise) debug_execute_exit("continuecom_1");
return(TRUE);
}
             
int continuecom_2(YYTYPE *__arg)
{
int __debug = SEEN_continuecom_2 = debug_execute_enter("Executing procedure continuecom_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("");

if (!_optimise) debug_execute_exit("continuecom_2");
return(TRUE);
}

      
int ENDTEXT_1(YYTYPE *__arg)
{
int __debug = SEEN_ENDTEXT_1 = debug_execute_enter("Executing procedure ENDTEXT_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(" %s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value))); 
if (!_optimise) debug_execute_exit("ENDTEXT_1");
return(TRUE);
}
         
int RENDTEXT_1(YYTYPE *__arg)
{
int __debug = SEEN_RENDTEXT_1 = debug_execute_enter("Executing procedure RENDTEXT_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[4]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[5]->execute.user_value)));

if (!_optimise) debug_execute_exit("RENDTEXT_1");
return(TRUE);
}
             
int RENDTEXT_2(YYTYPE *__arg)
{
int __debug = SEEN_RENDTEXT_2 = debug_execute_enter("Executing procedure RENDTEXT_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); /* text up to ; or 'end' or 'else' */ 
if (!_optimise) debug_execute_exit("RENDTEXT_2");
return(TRUE);
}
          
int end_1(YYTYPE *__arg)
{
int __debug = SEEN_end_1 = debug_execute_enter("Executing procedure end_1 -- arg at %p", __arg);

if (!_optimise) debug_execute_exit("end_1");
return(TRUE);
}
         
int then_1(YYTYPE *__arg)
{
int __debug = SEEN_then_1 = debug_execute_enter("Executing procedure then_1 -- arg at %p", __arg);

if (!_optimise) debug_execute_exit("then_1");
return(TRUE);
}
         
int else_1(YYTYPE *__arg)
{
int __debug = SEEN_else_1 = debug_execute_enter("Executing procedure else_1 -- arg at %p", __arg);

if (!_optimise) debug_execute_exit("else_1");
return(TRUE);
}
         
int semi_1(YYTYPE *__arg)
{
int __debug = SEEN_semi_1 = debug_execute_enter("Executing procedure semi_1 -- arg at %p", __arg);

if (!_optimise) debug_execute_exit("semi_1");
return(TRUE);
}
             
int semi_2(YYTYPE *__arg)
{
int __debug = SEEN_semi_2 = debug_execute_enter("Executing procedure semi_2 -- arg at %p", __arg);
 /* alternative orthography */
if (!_optimise) debug_execute_exit("semi_2");
return(TRUE);
}
           
int ch_1(YYTYPE *__arg)
{
int __debug = SEEN_ch_1 = debug_execute_enter("Executing procedure ch_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text); 
if (!_optimise) debug_execute_exit("ch_1");
return(TRUE);
}
       
int closer_1(YYTYPE *__arg)
{
int __debug = SEEN_closer_1 = debug_execute_enter("Executing procedure closer_1 -- arg at %p", __arg);
 ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value)); 
if (!_optimise) debug_execute_exit("closer_1");
return(TRUE);
}
             
int closer_2(YYTYPE *__arg)
{
int __debug = SEEN_closer_2 = debug_execute_enter("Executing procedure closer_2 -- arg at %p", __arg);
 ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value)); 
if (!_optimise) debug_execute_exit("closer_2");
return(TRUE);
}
             
int closer_3(YYTYPE *__arg)
{
int __debug = SEEN_closer_3 = debug_execute_enter("Executing procedure closer_3 -- arg at %p", __arg);
 ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value)); 
if (!_optimise) debug_execute_exit("closer_3");
return(TRUE);
}
             
int closer_4(YYTYPE *__arg)
{
int __debug = SEEN_closer_4 = debug_execute_enter("Executing procedure closer_4 -- arg at %p", __arg);
 ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value)); 
if (!_optimise) debug_execute_exit("closer_4");
return(TRUE);
}
             
int closer_5(YYTYPE *__arg)
{
int __debug = SEEN_closer_5 = debug_execute_enter("Executing procedure closer_5 -- arg at %p", __arg);
 ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value)); 
if (!_optimise) debug_execute_exit("closer_5");
return(TRUE);
}

        
int ICONST_1(YYTYPE *__arg)
{
int __debug = SEEN_ICONST_1 = debug_execute_enter("Executing procedure ICONST_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), __arg->execute.arg[2]->execute.text); 
if (!_optimise) debug_execute_exit("ICONST_1");
return(TRUE);
}

     
int decfract_1(YYTYPE *__arg)
{
int __debug = SEEN_decfract_1 = debug_execute_enter("Executing procedure decfract_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text); 
if (!_optimise) debug_execute_exit("decfract_1");
return(TRUE);
}
        
int expart_1(YYTYPE *__arg)
{
int __debug = SEEN_expart_1 = debug_execute_enter("Executing procedure expart_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value))); 
if (!_optimise) debug_execute_exit("expart_1");
return(TRUE);
}
        
int decnum_1(YYTYPE *__arg)
{
int __debug = SEEN_decnum_1 = debug_execute_enter("Executing procedure decnum_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", __arg->execute.arg[1]->execute.text, ((USERTYPE)(__arg->execute.arg[2]->execute.user_value))); 
if (!_optimise) debug_execute_exit("decnum_1");
return(TRUE);
}
             
int decnum_2(YYTYPE *__arg)
{
int __debug = SEEN_decnum_2 = debug_execute_enter("Executing procedure decnum_2 -- arg at %p", __arg);
 ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value)); 
if (!_optimise) debug_execute_exit("decnum_2");
return(TRUE);
}
             
int decnum_3(YYTYPE *__arg)
{
int __debug = SEEN_decnum_3 = debug_execute_enter("Executing procedure decnum_3 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text); 
if (!_optimise) debug_execute_exit("decnum_3");
return(TRUE);
}
      
int unsigned_1(YYTYPE *__arg)
{
int __debug = SEEN_unsigned_1 = debug_execute_enter("Executing procedure unsigned_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value))); 
if (!_optimise) debug_execute_exit("unsigned_1");
return(TRUE);
}
             
int unsigned_2(YYTYPE *__arg)
{
int __debug = SEEN_unsigned_2 = debug_execute_enter("Executing procedure unsigned_2 -- arg at %p", __arg);
 ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value)); 
if (!_optimise) debug_execute_exit("unsigned_2");
return(TRUE);
}
             
int unsigned_3(YYTYPE *__arg)
{
int __debug = SEEN_unsigned_3 = debug_execute_enter("Executing procedure unsigned_3 -- arg at %p", __arg);
 ((__arg->execute.arg[0]->execute.user_value)) = ((__arg->execute.arg[1]->execute.user_value)); 
if (!_optimise) debug_execute_exit("unsigned_3");
return(TRUE);
}
         
int CONST_1(YYTYPE *__arg)
{
int __debug = SEEN_CONST_1 = debug_execute_enter("Executing procedure CONST_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value))); 
if (!_optimise) debug_execute_exit("CONST_1");
return(TRUE);
}
       
int subten_1(YYTYPE *__arg)
{
int __debug = SEEN_subten_1 = debug_execute_enter("Executing procedure subten_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", (TRUE?"<sub>10</sub>":__arg->execute.arg[1]->execute.text)); 
if (!_optimise) debug_execute_exit("subten_1");
return(TRUE);
}
             
int subten_2(YYTYPE *__arg)
{
int __debug = SEEN_subten_2 = debug_execute_enter("Executing procedure subten_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", (TRUE?"<sub>10</sub>":__arg->execute.arg[1]->execute.text)); 
if (!_optimise) debug_execute_exit("subten_2");
return(TRUE);
}
      
int LABTYPE_1(YYTYPE *__arg)
{
int __debug = SEEN_LABTYPE_1 = debug_execute_enter("Executing procedure LABTYPE_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("LABTYPE_1");
return(TRUE);
}
  
int LETTERSTRING_1(YYTYPE *__arg)
{
int __debug = SEEN_LETTERSTRING_1 = debug_execute_enter("Executing procedure LETTERSTRING_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text); 
if (!_optimise) debug_execute_exit("LETTERSTRING_1");
return(TRUE);
}
       
int LHSQBR_1(YYTYPE *__arg)
{
int __debug = SEEN_LHSQBR_1 = debug_execute_enter("Executing procedure LHSQBR_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("[");/* escaped [ */ 
if (!_optimise) debug_execute_exit("LHSQBR_1");
return(TRUE);
}   
int LHSQBR_2(YYTYPE *__arg)
{
int __debug = SEEN_LHSQBR_2 = debug_execute_enter("Executing procedure LHSQBR_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("["); 
if (!_optimise) debug_execute_exit("LHSQBR_2");
return(TRUE);
}
       
int RHSQBR_1(YYTYPE *__arg)
{
int __debug = SEEN_RHSQBR_1 = debug_execute_enter("Executing procedure RHSQBR_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("]");/* escaped ] */ 
if (!_optimise) debug_execute_exit("RHSQBR_1");
return(TRUE);
}   
int RHSQBR_2(YYTYPE *__arg)
{
int __debug = SEEN_RHSQBR_2 = debug_execute_enter("Executing procedure RHSQBR_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("]"); 
if (!_optimise) debug_execute_exit("RHSQBR_2");
return(TRUE);
}
      
int LINKARR_1(YYTYPE *__arg)
{
int __debug = SEEN_LINKARR_1 = debug_execute_enter("Executing procedure LINKARR_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("LINKARR_1");
return(TRUE);
}
      
int LINKLAB_1(YYTYPE *__arg)
{
int __debug = SEEN_LINKLAB_1 = debug_execute_enter("Executing procedure LINKLAB_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("LINKLAB_1");
return(TRUE);
}
     
int LINKPROC_1(YYTYPE *__arg)
{
int __debug = SEEN_LINKPROC_1 = debug_execute_enter("Executing procedure LINKPROC_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("LINKPROC_1");
return(TRUE);
}
     
int LINKSCAL_1(YYTYPE *__arg)
{
int __debug = SEEN_LINKSCAL_1 = debug_execute_enter("Executing procedure LINKSCAL_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("LINKSCAL_1");
return(TRUE);
}
       
int LINKSW_1(YYTYPE *__arg)
{
int __debug = SEEN_LINKSW_1 = debug_execute_enter("Executing procedure LINKSW_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("LINKSW_1");
return(TRUE);
}
         
int NAME_1(YYTYPE *__arg)
{
int __debug = SEEN_NAME_1 = debug_execute_enter("Executing procedure NAME_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text); 
if (!_optimise) debug_execute_exit("NAME_1");
return(TRUE);
}

       
int NOMORE_1(YYTYPE *__arg)
{
int __debug = SEEN_NOMORE_1 = debug_execute_enter("Executing procedure NOMORE_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("NOMORE_1");
return(TRUE);
}
             
int NOMORE_2(YYTYPE *__arg)
{
int __debug = SEEN_NOMORE_2 = debug_execute_enter("Executing procedure NOMORE_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); /* true if next char is "," or ")" */ 
if (!_optimise) debug_execute_exit("NOMORE_2");
return(TRUE);
}
        
int comma_1(YYTYPE *__arg)
{
int __debug = SEEN_comma_1 = debug_execute_enter("Executing procedure comma_1 -- arg at %p", __arg);

if (!_optimise) debug_execute_exit("comma_1");
return(TRUE);
}
          
int crb_1(YYTYPE *__arg)
{
int __debug = SEEN_crb_1 = debug_execute_enter("Executing procedure crb_1 -- arg at %p", __arg);

if (!_optimise) debug_execute_exit("crb_1");
return(TRUE);
}

     
int NOTELINE_1(YYTYPE *__arg)
{
int __debug = SEEN_NOTELINE_1 = debug_execute_enter("Executing procedure NOTELINE_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("NOTELINE_1");
return(TRUE);
}
        
int ONAME_1(YYTYPE *__arg)
{
int __debug = SEEN_ONAME_1 = debug_execute_enter("Executing procedure ONAME_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text); 
if (!_optimise) debug_execute_exit("ONAME_1");
return(TRUE);
}
     
int ONAMELIST_1(YYTYPE *__arg)
{
int __debug = SEEN_ONAMELIST_1 = debug_execute_enter("Executing procedure ONAMELIST_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), ((USERTYPE)(__arg->execute.arg[2]->execute.user_value))); 
if (!_optimise) debug_execute_exit("ONAMELIST_1");
return(TRUE);
}
   
int RESTOFONAMELIST_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFONAMELIST_1 = debug_execute_enter("Executing procedure RESTOFONAMELIST_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(", %s", ((USERTYPE)(__arg->execute.arg[2]->execute.user_value))); /* I'm guessing ... */ 
if (!_optimise) debug_execute_exit("RESTOFONAMELIST_1");
return(TRUE);
}
             
int RESTOFONAMELIST_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFONAMELIST_2 = debug_execute_enter("Executing procedure RESTOFONAMELIST_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("RESTOFONAMELIST_2");
return(TRUE);
}

           
int OP_1(YYTYPE *__arg)
{
int __debug = SEEN_OP_1 = debug_execute_enter("Executing procedure OP_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"power.gif\" WIDTH=7 HEIGHT=9 ALT=\"POWER\">":"^")); 
if (!_optimise) debug_execute_exit("OP_1");
return(TRUE);
}
             
int OP_2(YYTYPE *__arg)
{
int __debug = SEEN_OP_2 = debug_execute_enter("Executing procedure OP_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"power.gif\" WIDTH=7 HEIGHT=9 ALT=\"POWER\">":"**")); 
if (!_optimise) debug_execute_exit("OP_2");
return(TRUE);
}
             
int OP_3(YYTYPE *__arg)
{
int __debug = SEEN_OP_3 = debug_execute_enter("Executing procedure OP_3 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("+"); 
if (!_optimise) debug_execute_exit("OP_3");
return(TRUE);
}
             
int OP_4(YYTYPE *__arg)
{
int __debug = SEEN_OP_4 = debug_execute_enter("Executing procedure OP_4 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("-"); 
if (!_optimise) debug_execute_exit("OP_4");
return(TRUE);
}
             
int OP_5(YYTYPE *__arg)
{
int __debug = SEEN_OP_5 = debug_execute_enter("Executing procedure OP_5 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"times.gif\" WIDTH=7 HEIGHT=9 ALT=\"TIMES\" HSPACE=\"1\">":"*")); 
if (!_optimise) debug_execute_exit("OP_5");
return(TRUE);
}
             
int OP_6(YYTYPE *__arg)
{
int __debug = SEEN_OP_6 = debug_execute_enter("Executing procedure OP_6 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"&divide;":"/")); 
if (!_optimise) debug_execute_exit("OP_6");
return(TRUE);
} 
             
int OP_7(YYTYPE *__arg)
{
int __debug = SEEN_OP_7 = debug_execute_enter("Executing procedure OP_7 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"&divide;":"<u><b>div</b></u>")); 
if (!_optimise) debug_execute_exit("OP_7");
return(TRUE);
}
             
int OP_8(YYTYPE *__arg)
{
int __debug = SEEN_OP_8 = debug_execute_enter("Executing procedure OP_8 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((FALSE?"%":"<u><b>mod</b></u>")); 
if (!_optimise) debug_execute_exit("OP_8");
return(TRUE);
}
             
int OP_9(YYTYPE *__arg)
{
int __debug = SEEN_OP_9 = debug_execute_enter("Executing procedure OP_9 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((FALSE?"%":"<u><b>mod</b></u>"));
               /* BOGUS operator as far as I can see.  Used in the example
                  for jensen's device (jensen3.a60) found at everything2.com */

if (!_optimise) debug_execute_exit("OP_9");
return(TRUE);
}
             
int OP_10(YYTYPE *__arg)
{
int __debug = SEEN_OP_10 = debug_execute_enter("Executing procedure OP_10 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf((TRUE?"<IMG SRC=\"power.gif\" WIDTH=7 HEIGHT=9 ALT=\"POWER\">":"<u><b>power</b></u>")); 
if (!_optimise) debug_execute_exit("OP_10");
return(TRUE);
}

      
int PLUSopt_1(YYTYPE *__arg)
{
int __debug = SEEN_PLUSopt_1 = debug_execute_enter("Executing procedure PLUSopt_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("+"); /* Unary ops */ 
if (!_optimise) debug_execute_exit("PLUSopt_1");
return(TRUE);
}
             
int PLUSopt_2(YYTYPE *__arg)
{
int __debug = SEEN_PLUSopt_2 = debug_execute_enter("Executing procedure PLUSopt_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("-"); 
if (!_optimise) debug_execute_exit("PLUSopt_2");
return(TRUE);
}
             
int PLUSopt_3(YYTYPE *__arg)
{
int __debug = SEEN_PLUSopt_3 = debug_execute_enter("Executing procedure PLUSopt_3 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("PLUSopt_3");
return(TRUE);
}
     
int PROCTYPE_1(YYTYPE *__arg)
{
int __debug = SEEN_PROCTYPE_1 = debug_execute_enter("Executing procedure PROCTYPE_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("PROCTYPE_1");
return(TRUE);
}
   
int SCALARTYPE_1(YYTYPE *__arg)
{
int __debug = SEEN_SCALARTYPE_1 = debug_execute_enter("Executing procedure SCALARTYPE_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("SCALARTYPE_1");
return(TRUE);
}
      
int STRTYPE_1(YYTYPE *__arg)
{
int __debug = SEEN_STRTYPE_1 = debug_execute_enter("Executing procedure STRTYPE_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("STRTYPE_1");
return(TRUE);
}
     
int SWBYNAME_1(YYTYPE *__arg)
{
int __debug = SEEN_SWBYNAME_1 = debug_execute_enter("Executing procedure SWBYNAME_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("SWBYNAME_1");
return(TRUE);
}
       
int SWTYPE_1(YYTYPE *__arg)
{
int __debug = SEEN_SWTYPE_1 = debug_execute_enter("Executing procedure SWTYPE_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("SWTYPE_1");
return(TRUE);
}

       
int TEXTTEXT_1(YYTYPE *__arg)
{
int __debug = SEEN_TEXTTEXT_1 = debug_execute_enter("Executing procedure TEXTTEXT_1 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("&lt;%s%s", __arg->execute.arg[2]->execute.text, ((USERTYPE)(__arg->execute.arg[3]->execute.user_value)));
               /* any keywords need to be expanded back to 'KEYWORDS' */

if (!_optimise) debug_execute_exit("TEXTTEXT_1");
return(TRUE);
}
             
int TEXTTEXT_2(YYTYPE *__arg)
{
int __debug = SEEN_TEXTTEXT_2 = debug_execute_enter("Executing procedure TEXTTEXT_2 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text);
if (!_optimise) debug_execute_exit("TEXTTEXT_2");
return(TRUE);
}
             
int TEXTTEXT_3(YYTYPE *__arg)
{
int __debug = SEEN_TEXTTEXT_3 = debug_execute_enter("Executing procedure TEXTTEXT_3 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s", __arg->execute.arg[1]->execute.text);
if (!_optimise) debug_execute_exit("TEXTTEXT_3");
return(TRUE);
}

  
int RESTOFTEXTTEXT_1(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFTEXTTEXT_1 = debug_execute_enter("Executing procedure RESTOFTEXTTEXT_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(">"); 
if (!_optimise) debug_execute_exit("RESTOFTEXTTEXT_1");
return(TRUE);
}
               
int RESTOFTEXTTEXT_2(YYTYPE *__arg)
{
int __debug = SEEN_RESTOFTEXTTEXT_2 = debug_execute_enter("Executing procedure RESTOFTEXTTEXT_2 -- arg at %p", __arg);

               __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf("%s%s&gt;", ((USERTYPE)(__arg->execute.arg[1]->execute.user_value)), __arg->execute.arg[2]->execute.text);

if (!_optimise) debug_execute_exit("RESTOFTEXTTEXT_2");
return(TRUE);
}

      
int TYPEeqA_1(YYTYPE *__arg)
{
int __debug = SEEN_TYPEeqA_1 = debug_execute_enter("Executing procedure TYPEeqA_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); /* Arithmetic */ 
if (!_optimise) debug_execute_exit("TYPEeqA_1");
return(TRUE);
}
    
int TYPEeqARR_1(YYTYPE *__arg)
{
int __debug = SEEN_TYPEeqARR_1 = debug_execute_enter("Executing procedure TYPEeqARR_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); /* Array? */ 
if (!_optimise) debug_execute_exit("TYPEeqARR_1");
return(TRUE);
}
      
int TYPEeqB_1(YYTYPE *__arg)
{
int __debug = SEEN_TYPEeqB_1 = debug_execute_enter("Executing procedure TYPEeqB_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); /* Boolean */ 
if (!_optimise) debug_execute_exit("TYPEeqB_1");
return(TRUE);
}
 
int TYPENOTARITH_1(YYTYPE *__arg)
{
int __debug = SEEN_TYPENOTARITH_1 = debug_execute_enter("Executing procedure TYPENOTARITH_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("TYPENOTARITH_1");
return(TRUE);
}
 
int TYPENOTBOOLEAN_1(YYTYPE *__arg)
{
int __debug = SEEN_TYPENOTBOOLEAN_1 = debug_execute_enter("Executing procedure TYPENOTBOOLEAN_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("TYPENOTBOOLEAN_1");
return(TRUE);
}
      
int UPATSEP_1(YYTYPE *__arg)
{
int __debug = SEEN_UPATSEP_1 = debug_execute_enter("Executing procedure UPATSEP_1 -- arg at %p", __arg);
 __arg->execute.arg[0]->execute.user_value = (USERTYPE)formatf(""); 
if (!_optimise) debug_execute_exit("UPATSEP_1");
return(TRUE);
}




int main_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("main_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 0, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("main_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, main_1, 1, "main", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("main_parse failed");
   return(FALSE);
}

int DECLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("DECLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
&& NOTENAME_parse(&__temp.execute.arg[2])
&& RESTOFDECLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("DECLIST_parse found option 1 -- <NAME> <NOTENAME> <RESTOFDECLIST> ");
      *__arg = makeparsetree(__temp, DECLIST_1, 3, "DECLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("DECLIST_parse failed");
   return(FALSE);
}

int RESTOFDECLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFDECLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 1, &__temp.execute.arg[1])
&& NAME_parse(&__temp.execute.arg[2])
&& NOTENAME_parse(&__temp.execute.arg[3])
&& RESTOFDECLIST_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("RESTOFDECLIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFDECLIST_1, 4, "RESTOFDECLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFDECLIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 2, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFDECLIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFDECLIST_2, 1, "RESTOFDECLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFDECLIST_parse failed");
   return(FALSE);
}

int OPERAND_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("OPERAND_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
&& TYPENOTBOOLEAN_parse(&__temp.execute.arg[2])
&& APP_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("OPERAND_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, OPERAND_1, 3, "OPERAND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OPERAND_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& CONST_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OPERAND_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, OPERAND_2, 1, "OPERAND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OPERAND_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 3, &__temp.execute.arg[1])
&& EXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 4, &__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("OPERAND_parse found option 3 -- \"\\(\" <EXPR> \"\\)\" ");
      *__arg = makeparsetree(__temp, OPERAND_3, 3, "OPERAND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("OPERAND_parse failed");
   return(FALSE);
}

int EXPR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("EXPR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 5, &__temp.execute.arg[1])
&& BEXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 6, &__temp.execute.arg[3])
&& PLUSopt_parse(&__temp.execute.arg[4])
&& OPERAND_parse(&__temp.execute.arg[5])
&& RESTOFEXPR_parse(&__temp.execute.arg[6])
&& _regexp_parse(savepat, 7, &__temp.execute.arg[7])
&& EXPR_parse(&__temp.execute.arg[8])
)  {
      if (!_optimise) debug_exit("EXPR_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, EXPR_1, 8, "EXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("EXPR_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& PLUSopt_parse(&__temp.execute.arg[1])
&& OPERAND_parse(&__temp.execute.arg[2])
&& RESTOFEXPR_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("EXPR_parse found option 2 -- <PLUSopt> <OPERAND> <RESTOFEXPR> ");
      *__arg = makeparsetree(__temp, EXPR_2, 3, "EXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("EXPR_parse failed");
   return(FALSE);
}

int RESTOFEXPR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFEXPR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& OP_parse(&__temp.execute.arg[1])
&& OPERAND_parse(&__temp.execute.arg[2])
&& RESTOFEXPR_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RESTOFEXPR_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFEXPR_1, 3, "RESTOFEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFEXPR_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 8, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFEXPR_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFEXPR_2, 1, "RESTOFEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFEXPR_parse failed");
   return(FALSE);
}

int APP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("APP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& TYPEeqARR_parse(&__temp.execute.arg[1])
&& LHSQBR_parse(&__temp.execute.arg[2])
&& EXPR_parse(&__temp.execute.arg[3])
&& RESTOFAPP_parse(&__temp.execute.arg[4])
&& RHSQBR_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("APP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, APP_1, 5, "APP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("APP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 9, &__temp.execute.arg[1])
&& RTP_parse(&__temp.execute.arg[2])
&& RESTOFRTPLIST_parse(&__temp.execute.arg[3])
&& _regexp_parse(savepat, 10, &__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("APP_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, APP_2, 4, "APP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("APP_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 11, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("APP_parse found option 3 -- \"\" ");
      *__arg = makeparsetree(__temp, APP_3, 1, "APP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("APP_parse failed");
   return(FALSE);
}

int RESTOFAPP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFAPP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 12, &__temp.execute.arg[1])
&& EXPR_parse(&__temp.execute.arg[2])
&& RESTOFAPP_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RESTOFAPP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFAPP_1, 3, "RESTOFAPP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFAPP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 13, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFAPP_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFAPP_2, 1, "RESTOFAPP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFAPP_parse failed");
   return(FALSE);
}

int LABAPP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LABAPP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& LHSQBR_parse(&__temp.execute.arg[1])
&& EXPR_parse(&__temp.execute.arg[2])
&& RESTOFAPP_parse(&__temp.execute.arg[3])
&& RHSQBR_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("LABAPP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, LABAPP_1, 4, "LABAPP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("LABAPP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 14, &__temp.execute.arg[1])
&& RTP_parse(&__temp.execute.arg[2])
&& RESTOFRTPLIST_parse(&__temp.execute.arg[3])
&& _regexp_parse(savepat, 15, &__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("LABAPP_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, LABAPP_2, 4, "LABAPP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("LABAPP_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 16, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LABAPP_parse found option 3 -- \"\" ");
      *__arg = makeparsetree(__temp, LABAPP_3, 1, "LABAPP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LABAPP_parse failed");
   return(FALSE);
}

int BCONST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("BCONST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 17, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BCONST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, BCONST_1, 1, "BCONST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BCONST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 18, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BCONST_parse found option 2 -- \"false\" ");
      *__arg = makeparsetree(__temp, BCONST_2, 1, "BCONST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("BCONST_parse failed");
   return(FALSE);
}

int BOP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("BOP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 19, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BOP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, BOP_1, 1, "BOP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BOP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 20, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BOP_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, BOP_2, 1, "BOP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BOP_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 21, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BOP_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, BOP_3, 1, "BOP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BOP_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 22, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BOP_parse found option 4 -- ");
      *__arg = makeparsetree(__temp, BOP_4, 1, "BOP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BOP_parse - trying option 5"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 23, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BOP_parse found option 5 -- ");
      *__arg = makeparsetree(__temp, BOP_5, 1, "BOP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BOP_parse - trying option 6"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 24, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BOP_parse found option 6 -- \"eqv\" ");
      *__arg = makeparsetree(__temp, BOP_6, 1, "BOP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("BOP_parse failed");
   return(FALSE);
}

int BTERM_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("BTERM_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 25, &__temp.execute.arg[1])
&& BOPERAND_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("BTERM_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, BTERM_1, 2, "BTERM", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BTERM_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& BOPERAND_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BTERM_parse found option 2 -- <BOPERAND> ");
      *__arg = makeparsetree(__temp, BTERM_2, 1, "BTERM", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("BTERM_parse failed");
   return(FALSE);
}

int SBEXPR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("SBEXPR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& BTERM_parse(&__temp.execute.arg[1])
&& RESTOFSBEXPR_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("SBEXPR_parse found option 1 -- <BTERM> <RESTOFSBEXPR> ");
      *__arg = makeparsetree(__temp, SBEXPR_1, 2, "SBEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("SBEXPR_parse failed");
   return(FALSE);
}

int RESTOFSBEXPR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFSBEXPR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& BOP_parse(&__temp.execute.arg[1])
&& BTERM_parse(&__temp.execute.arg[2])
&& RESTOFSBEXPR_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RESTOFSBEXPR_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFSBEXPR_1, 3, "RESTOFSBEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFSBEXPR_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 26, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFSBEXPR_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFSBEXPR_2, 1, "RESTOFSBEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFSBEXPR_parse failed");
   return(FALSE);
}

int BEXPR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("BEXPR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 27, &__temp.execute.arg[1])
&& BEXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 28, &__temp.execute.arg[3])
&& SBEXPR_parse(&__temp.execute.arg[4])
&& _regexp_parse(savepat, 29, &__temp.execute.arg[5])
&& BEXPR_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("BEXPR_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, BEXPR_1, 6, "BEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BEXPR_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& SBEXPR_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BEXPR_parse found option 2 -- <SBEXPR> ");
      *__arg = makeparsetree(__temp, BEXPR_2, 1, "BEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("BEXPR_parse failed");
   return(FALSE);
}

int BOPERAND_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("BOPERAND_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& EXPR_parse(&__temp.execute.arg[1])
&& COMP_parse(&__temp.execute.arg[2])
&& EXPR_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("BOPERAND_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, BOPERAND_1, 3, "BOPERAND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BOPERAND_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
&& TYPENOTARITH_parse(&__temp.execute.arg[2])
&& APP_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("BOPERAND_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, BOPERAND_2, 3, "BOPERAND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BOPERAND_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& BCONST_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BOPERAND_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, BOPERAND_3, 1, "BOPERAND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BOPERAND_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 30, &__temp.execute.arg[1])
&& BEXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 31, &__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("BOPERAND_parse found option 4 -- \"\\(\" <BEXPR> \"\\)\" ");
      *__arg = makeparsetree(__temp, BOPERAND_4, 3, "BOPERAND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("BOPERAND_parse failed");
   return(FALSE);
}

int TYPEopt_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("TYPEopt_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 32, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPEopt_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, TYPEopt_1, 1, "TYPEopt", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("TYPEopt_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 33, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPEopt_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, TYPEopt_2, 1, "TYPEopt", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("TYPEopt_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 34, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPEopt_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, TYPEopt_3, 1, "TYPEopt", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("TYPEopt_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 35, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPEopt_parse found option 4 -- \"\" ");
      *__arg = makeparsetree(__temp, TYPEopt_4, 1, "TYPEopt", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("TYPEopt_parse failed");
   return(FALSE);
}

int VALUEq_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("VALUEq_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& semi_parse(&__temp.execute.arg[1])
&& OPTCOM_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 36, &__temp.execute.arg[3])
&& NOTELINE_parse(&__temp.execute.arg[4])
&& ONAMELIST_parse(&__temp.execute.arg[5])
&& VALUEq_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("VALUEq_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, VALUEq_1, 6, "VALUEq", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("VALUEq_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 37, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("VALUEq_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, VALUEq_2, 1, "VALUEq", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("VALUEq_parse failed");
   return(FALSE);
}

int FPDEL_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("FPDEL_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 38, &__temp.execute.arg[1])
&& LABTYPE_parse(&__temp.execute.arg[2])
&& DECLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("FPDEL_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, FPDEL_1, 3, "FPDEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("FPDEL_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 39, &__temp.execute.arg[1])
&& SWBYNAME_parse(&__temp.execute.arg[2])
&& DECLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("FPDEL_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, FPDEL_2, 3, "FPDEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("FPDEL_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 40, &__temp.execute.arg[1])
&& STRTYPE_parse(&__temp.execute.arg[2])
&& DECLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("FPDEL_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, FPDEL_3, 3, "FPDEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("FPDEL_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& TYPEopt_parse(&__temp.execute.arg[1])
&& PDECLN_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("FPDEL_parse found option 4 -- <TYPEopt> <PDECLN> ");
      *__arg = makeparsetree(__temp, FPDEL_4, 2, "FPDEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("FPDEL_parse failed");
   return(FALSE);
}

int PDECLN_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("PDECLN_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 41, &__temp.execute.arg[1])
&& ARRAYTYPE_parse(&__temp.execute.arg[2])
&& DECLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("PDECLN_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, PDECLN_1, 3, "PDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PDECLN_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 42, &__temp.execute.arg[1])
&& PROCTYPE_parse(&__temp.execute.arg[2])
&& DECLIST_parse(&__temp.execute.arg[3])
&& PARCOM_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("PDECLN_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, PDECLN_2, 4, "PDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PDECLN_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& SCALARTYPE_parse(&__temp.execute.arg[1])
&& DECLIST_parse(&__temp.execute.arg[2])
&& is(semi_parse,&__temp.execute.arg[3]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("PDECLN_parse found option 3 -- <SCALARTYPE> <DECLIST> <?semi> ");
      *__arg = makeparsetree(__temp, PDECLN_3, 3, "PDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("PDECLN_parse failed");
   return(FALSE);
}

int FPP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("FPP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 43, &__temp.execute.arg[1])
&& NAME_parse(&__temp.execute.arg[2])
&& RESTOFFPLIST_parse(&__temp.execute.arg[3])
&& _regexp_parse(savepat, 44, &__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("FPP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, FPP_1, 4, "FPP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("FPP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 45, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("FPP_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, FPP_2, 1, "FPP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("FPP_parse failed");
   return(FALSE);
}

int RESTOFFPLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFFPLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& FPSEP_parse(&__temp.execute.arg[1])
&& NAME_parse(&__temp.execute.arg[2])
&& RESTOFFPLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RESTOFFPLIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFFPLIST_1, 3, "RESTOFFPLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFFPLIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 46, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFFPLIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFFPLIST_2, 1, "RESTOFFPLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFFPLIST_parse failed");
   return(FALSE);
}

int FPSEP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("FPSEP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 47, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("FPSEP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, FPSEP_1, 1, "FPSEP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("FPSEP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 48, &__temp.execute.arg[1])
&& LETTERSTRING_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 49, &__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("FPSEP_parse found option 2 -- \"\\)\" <LETTERSTRING> \":\\(\" ");
      *__arg = makeparsetree(__temp, FPSEP_2, 3, "FPSEP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("FPSEP_parse failed");
   return(FALSE);
}

int OPTCOM_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("OPTCOM_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 50, &__temp.execute.arg[1])
&& COMTEXT_parse(&__temp.execute.arg[2])
&& OPTCOM_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("OPTCOM_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, OPTCOM_1, 3, "OPTCOM", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OPTCOM_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 51, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OPTCOM_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, OPTCOM_2, 1, "OPTCOM", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("OPTCOM_parse failed");
   return(FALSE);
}

int FPSPEC_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("FPSPEC_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& semi_parse(&__temp.execute.arg[1])
&& OPTCOM_parse(&__temp.execute.arg[2])
&& NOTELINE_parse(&__temp.execute.arg[3])
&& FPDEL_parse(&__temp.execute.arg[4])
&& FPSPEC_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("FPSPEC_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, FPSPEC_1, 5, "FPSPEC", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("FPSPEC_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 52, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("FPSPEC_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, FPSPEC_2, 1, "FPSPEC", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("FPSPEC_parse failed");
   return(FALSE);
}

int PARCOM_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("PARCOM_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& semi_parse(&__temp.execute.arg[1])
&& _regexp_parse(savepat, 53, &__temp.execute.arg[2])
&& _regexp_parse(savepat, 54, &__temp.execute.arg[3])
&& NAME_parse(&__temp.execute.arg[4])
&& RESTOFFPLIST_parse(&__temp.execute.arg[5])
&& _regexp_parse(savepat, 55, &__temp.execute.arg[6])
&& COMVAL_parse(&__temp.execute.arg[7])
&& COMFP_parse(&__temp.execute.arg[8])
&& CHECKSC_parse(&__temp.execute.arg[9])
)  {
      if (!_optimise) debug_exit("PARCOM_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, PARCOM_1, 9, "PARCOM", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PARCOM_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 56, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("PARCOM_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, PARCOM_2, 1, "PARCOM", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("PARCOM_parse failed");
   return(FALSE);
}

int COLONq_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("COLONq_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 57, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COLONq_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, COLONq_1, 1, "COLONq", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COLONq_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 58, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COLONq_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, COLONq_2, 1, "COLONq", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("COLONq_parse failed");
   return(FALSE);
}

int COMVAL_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("COMVAL_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& COLONq_parse(&__temp.execute.arg[1])
&& _regexp_parse(savepat, 59, &__temp.execute.arg[2])
&& NOTELINE_parse(&__temp.execute.arg[3])
&& ONAMELIST_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("COMVAL_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, COMVAL_1, 4, "COMVAL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMVAL_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 60, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMVAL_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, COMVAL_2, 1, "COMVAL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("COMVAL_parse failed");
   return(FALSE);
}

int COMFP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("COMFP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& COLONq_parse(&__temp.execute.arg[1])
&& NOTELINE_parse(&__temp.execute.arg[2])
&& COMDEL_parse(&__temp.execute.arg[3])
&& COMFP_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("COMFP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, COMFP_1, 4, "COMFP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMFP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 61, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMFP_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, COMFP_2, 1, "COMFP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("COMFP_parse failed");
   return(FALSE);
}

int COMDEL_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("COMDEL_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 62, &__temp.execute.arg[1])
&& CNLIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("COMDEL_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, COMDEL_1, 2, "COMDEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMDEL_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 63, &__temp.execute.arg[1])
&& CNLIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("COMDEL_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, COMDEL_2, 2, "COMDEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMDEL_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 64, &__temp.execute.arg[1])
&& CNLIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("COMDEL_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, COMDEL_3, 2, "COMDEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMDEL_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& TYPEopt_parse(&__temp.execute.arg[1])
&& COMDECLN_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("COMDEL_parse found option 4 -- <TYPEopt> <COMDECLN> ");
      *__arg = makeparsetree(__temp, COMDEL_4, 2, "COMDEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("COMDEL_parse failed");
   return(FALSE);
}

int COMDECLN_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("COMDECLN_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 65, &__temp.execute.arg[1])
&& CNLIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("COMDECLN_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, COMDECLN_1, 2, "COMDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMDECLN_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 66, &__temp.execute.arg[1])
&& CNLIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("COMDECLN_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, COMDECLN_2, 2, "COMDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMDECLN_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& SCALARTYPE_parse(&__temp.execute.arg[1])
&& CNLIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("COMDECLN_parse found option 3 -- <SCALARTYPE> <CNLIST> ");
      *__arg = makeparsetree(__temp, COMDECLN_3, 2, "COMDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("COMDECLN_parse failed");
   return(FALSE);
}

int CNLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("CNLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
&& RESTOFCNLIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("CNLIST_parse found option 1 -- <NAME> <RESTOFCNLIST> ");
      *__arg = makeparsetree(__temp, CNLIST_1, 2, "CNLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("CNLIST_parse failed");
   return(FALSE);
}

int RESTOFCNLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFCNLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 67, &__temp.execute.arg[1])
&& NAME_parse(&__temp.execute.arg[2])
&& RESTOFCNLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RESTOFCNLIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFCNLIST_1, 3, "RESTOFCNLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFCNLIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 68, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFCNLIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFCNLIST_2, 1, "RESTOFCNLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFCNLIST_parse failed");
   return(FALSE);
}

int GENSDE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("GENSDE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
&& LABAPP_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("GENSDE_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, GENSDE_1, 2, "GENSDE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("GENSDE_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 69, &__temp.execute.arg[1])
&& GENDE_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 70, &__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("GENSDE_parse found option 2 -- \"\\(\" <GENDE> \"\\)\" ");
      *__arg = makeparsetree(__temp, GENSDE_2, 3, "GENSDE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("GENSDE_parse failed");
   return(FALSE);
}

int GENDE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("GENDE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 71, &__temp.execute.arg[1])
&& BEXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 72, &__temp.execute.arg[3])
&& GENSDE_parse(&__temp.execute.arg[4])
&& _regexp_parse(savepat, 73, &__temp.execute.arg[5])
&& GENDE_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("GENDE_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, GENDE_1, 6, "GENDE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("GENDE_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& GENSDE_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("GENDE_parse found option 2 -- <GENSDE> ");
      *__arg = makeparsetree(__temp, GENDE_2, 1, "GENDE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("GENDE_parse failed");
   return(FALSE);
}

int SDE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("SDE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
&& APP_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("SDE_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, SDE_1, 2, "SDE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("SDE_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 74, &__temp.execute.arg[1])
&& DE_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 75, &__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("SDE_parse found option 2 -- \"\\(\" <DE> \"\\)\" ");
      *__arg = makeparsetree(__temp, SDE_2, 3, "SDE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("SDE_parse failed");
   return(FALSE);
}

int DE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("DE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 76, &__temp.execute.arg[1])
&& BEXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 77, &__temp.execute.arg[3])
&& SDE_parse(&__temp.execute.arg[4])
&& _regexp_parse(savepat, 78, &__temp.execute.arg[5])
&& DE_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("DE_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, DE_1, 6, "DE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("DE_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& SDE_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("DE_parse found option 2 -- <SDE> ");
      *__arg = makeparsetree(__temp, DE_2, 1, "DE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("DE_parse failed");
   return(FALSE);
}

int RESTOFGENDELIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFGENDELIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 79, &__temp.execute.arg[1])
&& GENDE_parse(&__temp.execute.arg[2])
&& RESTOFGENDELIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RESTOFGENDELIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFGENDELIST_1, 3, "RESTOFGENDELIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFGENDELIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 80, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFGENDELIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFGENDELIST_2, 1, "RESTOFGENDELIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFGENDELIST_parse failed");
   return(FALSE);
}

int RTP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RTP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& TEXTTEXT_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RTP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RTP_1, 1, "RTP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RTP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
&& APP_parse(&__temp.execute.arg[2])
&& NOMORE_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RTP_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, RTP_2, 3, "RTP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RTP_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& EXPR_parse(&__temp.execute.arg[1])
&& NOMORE_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("RTP_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, RTP_3, 2, "RTP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RTP_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& BEXPR_parse(&__temp.execute.arg[1])
&& NOMORE_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("RTP_parse found option 4 -- ");
      *__arg = makeparsetree(__temp, RTP_4, 2, "RTP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RTP_parse - trying option 5"); lev += 1;

if (note_backtrack(&__pos)
&& DE_parse(&__temp.execute.arg[1])
&& NOMORE_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("RTP_parse found option 5 -- <DE> <NOMORE> ");
      *__arg = makeparsetree(__temp, RTP_5, 2, "RTP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RTP_parse failed");
   return(FALSE);
}

int RESTOFRTPLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFRTPLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& FPSEP_parse(&__temp.execute.arg[1])
&& RTP_parse(&__temp.execute.arg[2])
&& RESTOFRTPLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RESTOFRTPLIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFRTPLIST_1, 3, "RESTOFRTPLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFRTPLIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 81, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFRTPLIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFRTPLIST_2, 1, "RESTOFRTPLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFRTPLIST_parse failed");
   return(FALSE);
}

int RESTOFASS_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFASS_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& APP_parse(&__temp.execute.arg[1])
&& _regexp_parse(savepat, 82, &__temp.execute.arg[2])
&& RESTOFABLP_parse(&__temp.execute.arg[3])
&& abEXPR_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("RESTOFASS_parse found option 1 -- <APP> \":=\" <RESTOFABLP> <abEXPR> ");
      *__arg = makeparsetree(__temp, RESTOFASS_1, 4, "RESTOFASS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFASS_parse failed");
   return(FALSE);
}

int abEXPR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("abEXPR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& EXPR_parse(&__temp.execute.arg[1])
&& is(closer_parse,&__temp.execute.arg[2]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("abEXPR_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, abEXPR_1, 2, "abEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("abEXPR_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& BEXPR_parse(&__temp.execute.arg[1])
&& is(closer_parse,&__temp.execute.arg[2]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("abEXPR_parse found option 2 -- <BEXPR> <?closer> ");
      *__arg = makeparsetree(__temp, abEXPR_2, 2, "abEXPR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("abEXPR_parse failed");
   return(FALSE);
}

int RESTOFABLP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFABLP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& CHKLPL_parse(&__temp.execute.arg[1])
&& ONAME_parse(&__temp.execute.arg[2])
&& APP_parse(&__temp.execute.arg[3])
&& _regexp_parse(savepat, 83, &__temp.execute.arg[4])
&& RESTOFABLP_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("RESTOFABLP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFABLP_1, 5, "RESTOFABLP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFABLP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 84, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFABLP_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFABLP_2, 1, "RESTOFABLP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFABLP_parse failed");
   return(FALSE);
}

int oldRESTOFASS_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("oldRESTOFASS_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& TYPEeqA_parse(&__temp.execute.arg[1])
&& APP_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 85, &__temp.execute.arg[3])
&& oldRESTOFALP_parse(&__temp.execute.arg[4])
&& EXPR_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("oldRESTOFASS_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, oldRESTOFASS_1, 5, "oldRESTOFASS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("oldRESTOFASS_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& TYPEeqB_parse(&__temp.execute.arg[1])
&& APP_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 86, &__temp.execute.arg[3])
&& oldRESTOFBLP_parse(&__temp.execute.arg[4])
&& BEXPR_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("oldRESTOFASS_parse found option 2 -- <TYPEeqB> <APP> \":=\" <oldRESTOFBLP> <BEXPR> ");
      *__arg = makeparsetree(__temp, oldRESTOFASS_2, 5, "oldRESTOFASS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("oldRESTOFASS_parse failed");
   return(FALSE);
}

int oldRESTOFBLP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("oldRESTOFBLP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& CHKLPL_parse(&__temp.execute.arg[1])
&& ONAME_parse(&__temp.execute.arg[2])
&& TYPEeqB_parse(&__temp.execute.arg[3])
&& APP_parse(&__temp.execute.arg[4])
&& _regexp_parse(savepat, 87, &__temp.execute.arg[5])
&& oldRESTOFBLP_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("oldRESTOFBLP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, oldRESTOFBLP_1, 6, "oldRESTOFBLP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("oldRESTOFBLP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 88, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("oldRESTOFBLP_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, oldRESTOFBLP_2, 1, "oldRESTOFBLP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("oldRESTOFBLP_parse failed");
   return(FALSE);
}

int oldRESTOFALP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("oldRESTOFALP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& CHKLPL_parse(&__temp.execute.arg[1])
&& ONAME_parse(&__temp.execute.arg[2])
&& TYPEeqA_parse(&__temp.execute.arg[3])
&& APP_parse(&__temp.execute.arg[4])
&& _regexp_parse(savepat, 89, &__temp.execute.arg[5])
&& oldRESTOFALP_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("oldRESTOFALP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, oldRESTOFALP_1, 6, "oldRESTOFALP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("oldRESTOFALP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 90, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("oldRESTOFALP_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, oldRESTOFALP_2, 1, "oldRESTOFALP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("oldRESTOFALP_parse failed");
   return(FALSE);
}

int RESTOFFLE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFFLE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 91, &__temp.execute.arg[1])
&& EXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 92, &__temp.execute.arg[3])
&& EXPR_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("RESTOFFLE_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFFLE_1, 4, "RESTOFFLE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFFLE_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 93, &__temp.execute.arg[1])
&& BEXPR_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("RESTOFFLE_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, RESTOFFLE_2, 2, "RESTOFFLE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFFLE_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 94, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFFLE_parse found option 3 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFFLE_3, 1, "RESTOFFLE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFFLE_parse failed");
   return(FALSE);
}

int RESTOFFORLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFFORLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 95, &__temp.execute.arg[1])
&& EXPR_parse(&__temp.execute.arg[2])
&& RESTOFFLE_parse(&__temp.execute.arg[3])
&& RESTOFFORLIST_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("RESTOFFORLIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFFORLIST_1, 4, "RESTOFFORLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFFORLIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 96, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFFORLIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFFORLIST_2, 1, "RESTOFFORLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFFORLIST_parse failed");
   return(FALSE);
}

int RESTOFBPLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFBPLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 97, &__temp.execute.arg[1])
&& EXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 98, &__temp.execute.arg[3])
&& EXPR_parse(&__temp.execute.arg[4])
&& RESTOFBPLIST_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("RESTOFBPLIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFBPLIST_1, 5, "RESTOFBPLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFBPLIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 99, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFBPLIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFBPLIST_2, 1, "RESTOFBPLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFBPLIST_parse failed");
   return(FALSE);
}

int DECLN_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("DECLN_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& SCALARTYPE_parse(&__temp.execute.arg[1])
&& DECLIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("DECLN_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, DECLN_1, 2, "DECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("DECLN_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 100, &__temp.execute.arg[1])
&& ARRAYTYPE_parse(&__temp.execute.arg[2])
&& OADECLN_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("DECLN_parse found option 2 -- \"array\" <ARRAYTYPE> <OADECLN> ");
      *__arg = makeparsetree(__temp, DECLN_2, 3, "DECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("DECLN_parse failed");
   return(FALSE);
}

int ADECLN_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ADECLN_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& DECLIST_parse(&__temp.execute.arg[1])
&& BPAIR_parse(&__temp.execute.arg[2])
&& RESTOFARRAYLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("ADECLN_parse found option 1 -- <DECLIST> <BPAIR> <RESTOFARRAYLIST> ");
      *__arg = makeparsetree(__temp, ADECLN_1, 3, "ADECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ADECLN_parse failed");
   return(FALSE);
}

int RESTOFARRAYLIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFARRAYLIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 101, &__temp.execute.arg[1])
&& ADECLN_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("RESTOFARRAYLIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFARRAYLIST_1, 2, "RESTOFARRAYLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFARRAYLIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 102, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFARRAYLIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFARRAYLIST_2, 1, "RESTOFARRAYLIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFARRAYLIST_parse failed");
   return(FALSE);
}

int BPAIR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("BPAIR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& CBPAIR_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BPAIR_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, BPAIR_1, 1, "BPAIR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BPAIR_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& LHSQBR_parse(&__temp.execute.arg[1])
&& EXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 103, &__temp.execute.arg[3])
&& EXPR_parse(&__temp.execute.arg[4])
&& RESTOFBPLIST_parse(&__temp.execute.arg[5])
&& RHSQBR_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("BPAIR_parse found option 2 -- <LHSQBR> <EXPR> \":\" <EXPR> <RESTOFBPLIST> <RHSQBR> ");
      *__arg = makeparsetree(__temp, BPAIR_2, 6, "BPAIR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("BPAIR_parse failed");
   return(FALSE);
}

int CBPAIR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("CBPAIR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& LHSQBR_parse(&__temp.execute.arg[1])
&& PLUSopt_parse(&__temp.execute.arg[2])
&& ICONST_parse(&__temp.execute.arg[3])
&& _regexp_parse(savepat, 104, &__temp.execute.arg[4])
&& PLUSopt_parse(&__temp.execute.arg[5])
&& ICONST_parse(&__temp.execute.arg[6])
&& RESTOFCBP_parse(&__temp.execute.arg[7])
&& RHSQBR_parse(&__temp.execute.arg[8])
)  {
      if (!_optimise) debug_exit("CBPAIR_parse found option 1 -- <LHSQBR> <PLUSopt> <ICONST> \":\" <PLUSopt> <ICONST> <RESTOFCBP> <RHSQBR> ");
      *__arg = makeparsetree(__temp, CBPAIR_1, 8, "CBPAIR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("CBPAIR_parse failed");
   return(FALSE);
}

int RESTOFCBP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFCBP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 105, &__temp.execute.arg[1])
&& PLUSopt_parse(&__temp.execute.arg[2])
&& ICONST_parse(&__temp.execute.arg[3])
&& _regexp_parse(savepat, 106, &__temp.execute.arg[4])
&& PLUSopt_parse(&__temp.execute.arg[5])
&& ICONST_parse(&__temp.execute.arg[6])
&& RESTOFCBP_parse(&__temp.execute.arg[7])
)  {
      if (!_optimise) debug_exit("RESTOFCBP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFCBP_1, 7, "RESTOFCBP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFCBP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 107, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFCBP_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFCBP_2, 1, "RESTOFCBP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFCBP_parse failed");
   return(FALSE);
}

int OADECLN_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("OADECLN_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& DECLIST_parse(&__temp.execute.arg[1])
&& CBPAIR_parse(&__temp.execute.arg[2])
&& RESTOFOADEC_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("OADECLN_parse found option 1 -- <DECLIST> <CBPAIR> <RESTOFOADEC> ");
      *__arg = makeparsetree(__temp, OADECLN_1, 3, "OADECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("OADECLN_parse failed");
   return(FALSE);
}

int RESTOFOADEC_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFOADEC_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 108, &__temp.execute.arg[1])
&& OADECLN_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("RESTOFOADEC_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFOADEC_1, 2, "RESTOFOADEC", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFOADEC_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 109, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFOADEC_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFOADEC_2, 1, "RESTOFOADEC", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFOADEC_parse failed");
   return(FALSE);
}

int VDECLNa_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("VDECLNa_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 110, &__temp.execute.arg[1])
&& PROCTYPE_parse(&__temp.execute.arg[2])
&& LINKPROC_parse(&__temp.execute.arg[3])
&& NAME_parse(&__temp.execute.arg[4])
&& NOTENAME_parse(&__temp.execute.arg[5])
&& FPP_parse(&__temp.execute.arg[6])
&& DOWN_parse(&__temp.execute.arg[7])
)  {
      if (!_optimise) debug_exit("VDECLNa_parse found option 1 -- \"procedure\" <PROCTYPE> <LINKPROC> <NAME> <NOTENAME> <FPP> <DOWN> ");
      *__arg = makeparsetree(__temp, VDECLNa_1, 7, "VDECLNa", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("VDECLNa_parse failed");
   return(FALSE);
}

int VDECLNb_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("VDECLNb_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& VALUEq_parse(&__temp.execute.arg[1])
&& FPSPEC_parse(&__temp.execute.arg[2])
&& semi_parse(&__temp.execute.arg[3])
&& OPTCOM_parse(&__temp.execute.arg[4])
&& OLABEL_parse(&__temp.execute.arg[5])
&& PROCSTMT_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("VDECLNb_parse found option 1 -- <VALUEq> <FPSPEC> <semi> <OPTCOM> <OLABEL> <PROCSTMT> ");
      *__arg = makeparsetree(__temp, VDECLNb_1, 6, "VDECLNb", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("VDECLNb_parse failed");
   return(FALSE);
}

int VDECLN_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("VDECLN_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& VDECLNa_parse(&__temp.execute.arg[1])
&& VDECLNb_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("VDECLN_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, VDECLN_1, 2, "VDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("VDECLN_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 111, &__temp.execute.arg[1])
&& ARRAYTYPE_parse(&__temp.execute.arg[2])
&& LINKARR_parse(&__temp.execute.arg[3])
&& ADECLN_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("VDECLN_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, VDECLN_2, 4, "VDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("VDECLN_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& SCALARTYPE_parse(&__temp.execute.arg[1])
&& LINKSCAL_parse(&__temp.execute.arg[2])
&& DECLIST_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("VDECLN_parse found option 3 -- <SCALARTYPE> <LINKSCAL> <DECLIST> ");
      *__arg = makeparsetree(__temp, VDECLN_3, 3, "VDECLN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("VDECLN_parse failed");
   return(FALSE);
}

int COMP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("COMP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 112, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, COMP_1, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 113, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, COMP_2, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 114, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, COMP_3, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 115, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 4 -- ");
      *__arg = makeparsetree(__temp, COMP_4, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 5"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 116, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 5 -- ");
      *__arg = makeparsetree(__temp, COMP_5, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 6"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 117, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 6 -- ");
      *__arg = makeparsetree(__temp, COMP_6, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 7"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 118, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 7 -- ");
      *__arg = makeparsetree(__temp, COMP_7, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 8"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 119, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 8 -- ");
      *__arg = makeparsetree(__temp, COMP_8, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 9"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 120, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 9 -- ");
      *__arg = makeparsetree(__temp, COMP_9, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 10"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 121, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 10 -- ");
      *__arg = makeparsetree(__temp, COMP_10, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 11"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 122, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 11 -- ");
      *__arg = makeparsetree(__temp, COMP_11, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 12"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 123, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 12 -- ");
      *__arg = makeparsetree(__temp, COMP_12, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 13"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 124, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 13 -- ");
      *__arg = makeparsetree(__temp, COMP_13, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 14"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 125, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 14 -- ");
      *__arg = makeparsetree(__temp, COMP_14, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 15"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 126, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 15 -- ");
      *__arg = makeparsetree(__temp, COMP_15, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 16"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 127, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 16 -- ");
      *__arg = makeparsetree(__temp, COMP_16, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 17"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 128, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 17 -- ");
      *__arg = makeparsetree(__temp, COMP_17, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 18"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 129, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 18 -- ");
      *__arg = makeparsetree(__temp, COMP_18, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("COMP_parse - trying option 19"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 130, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("COMP_parse found option 19 -- \"\\\\=\" ");
      *__arg = makeparsetree(__temp, COMP_19, 1, "COMP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("COMP_parse failed");
   return(FALSE);
}

int OLABEL_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("OLABEL_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& CHKLAB_parse(&__temp.execute.arg[1])
&& NAME_parse(&__temp.execute.arg[2])
&& not(ass_parse,&__temp.execute.arg[3]) /* Lazy eval */
&& _regexp_parse(savepat, 131, &__temp.execute.arg[4])
&& LINKLAB_parse(&__temp.execute.arg[5])
&& OLABEL_parse(&__temp.execute.arg[6])
)  {
      if (!_optimise) debug_exit("OLABEL_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, OLABEL_1, 6, "OLABEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OLABEL_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 132, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OLABEL_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, OLABEL_2, 1, "OLABEL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("OLABEL_parse failed");
   return(FALSE);
}

int NSTMT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("NSTMT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& UI_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("NSTMT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, NSTMT_1, 1, "NSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("NSTMT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 133, &__temp.execute.arg[1])
&& FORSTMNT_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("NSTMT_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, NSTMT_2, 2, "NSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("NSTMT_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 134, &__temp.execute.arg[1])
&& BEXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 135, &__temp.execute.arg[3])
&& OLABEL_parse(&__temp.execute.arg[4])
&& USTMT_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("NSTMT_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, NSTMT_3, 5, "NSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("NSTMT_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& CHECKSC_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("NSTMT_parse found option 4 -- <CHECKSC> ");
      *__arg = makeparsetree(__temp, NSTMT_4, 1, "NSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("NSTMT_parse failed");
   return(FALSE);
}

int FORSTMNT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("FORSTMNT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& ONAME_parse(&__temp.execute.arg[1])
&& APP_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 136, &__temp.execute.arg[3])
&& EXPR_parse(&__temp.execute.arg[4])
&& RESTOFFLE_parse(&__temp.execute.arg[5])
&& RESTOFFORLIST_parse(&__temp.execute.arg[6])
&& _regexp_parse(savepat, 137, &__temp.execute.arg[7])
&& OLABEL_parse(&__temp.execute.arg[8])
&& FSTMT_parse(&__temp.execute.arg[9])
)  {
      if (!_optimise) debug_exit("FORSTMNT_parse found option 1 -- <ONAME> <APP> \":=\" <EXPR> <RESTOFFLE> <RESTOFFORLIST> \"do\" <OLABEL> <FSTMT> ");
      *__arg = makeparsetree(__temp, FORSTMNT_1, 9, "FORSTMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("FORSTMNT_parse failed");
   return(FALSE);
}

int STMT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("STMT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& UI_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("STMT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, STMT_1, 1, "STMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 138, &__temp.execute.arg[1])
&& FORSTMNT_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("STMT_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, STMT_2, 2, "STMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMT_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 139, &__temp.execute.arg[1])
&& BEXPR_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 140, &__temp.execute.arg[3])
&& OLABEL_parse(&__temp.execute.arg[4])
&& USTMT_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("STMT_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, STMT_3, 5, "STMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMT_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 141, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("STMT_parse found option 4 -- \"\" ");
      *__arg = makeparsetree(__temp, STMT_4, 1, "STMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("STMT_parse failed");
   return(FALSE);
}

int BLKORCS_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("BLKORCS_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& OPTCOM_parse(&__temp.execute.arg[1])
&& OLABEL_parse(&__temp.execute.arg[2])
&& NSTMT_parse(&__temp.execute.arg[3])
&& CMPND_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("BLKORCS_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, BLKORCS_1, 4, "BLKORCS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("BLKORCS_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& DOWN_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("BLKORCS_parse found option 2 -- <DOWN> ");
      *__arg = makeparsetree(__temp, BLKORCS_2, 1, "BLKORCS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("BLKORCS_parse failed");
   return(FALSE);
}

int FSTMT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("FSTMT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 142, &__temp.execute.arg[1])
&& DOWN_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("FSTMT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, FSTMT_1, 2, "FSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("FSTMT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& STMT_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("FSTMT_parse found option 2 -- <STMT> ");
      *__arg = makeparsetree(__temp, FSTMT_2, 1, "FSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("FSTMT_parse failed");
   return(FALSE);
}

int USTMT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("USTMT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 143, &__temp.execute.arg[1])
&& BLKORCS_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("USTMT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, USTMT_1, 2, "USTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("USTMT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 144, &__temp.execute.arg[1])
&& FORSTMNT_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("USTMT_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, USTMT_2, 2, "USTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("USTMT_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& UI_parse(&__temp.execute.arg[1])
&& ELSEq_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("USTMT_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, USTMT_3, 2, "USTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("USTMT_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& ELSEq_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("USTMT_parse found option 4 -- <ELSEq> ");
      *__arg = makeparsetree(__temp, USTMT_4, 1, "USTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("USTMT_parse failed");
   return(FALSE);
}

int EPNAME_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("EPNAME_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("EPNAME_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, EPNAME_1, 1, "EPNAME", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("EPNAME_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 145, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("EPNAME_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, EPNAME_2, 1, "EPNAME", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("EPNAME_parse failed");
   return(FALSE);
}

int PROCSTMT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("PROCSTMT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 146, &__temp.execute.arg[1])
&& EPNAME_parse(&__temp.execute.arg[2])
&& UP_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("PROCSTMT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, PROCSTMT_1, 3, "PROCSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PROCSTMT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 147, &__temp.execute.arg[1])
&& EPNAME_parse(&__temp.execute.arg[2])
&& UP_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("PROCSTMT_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, PROCSTMT_2, 3, "PROCSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PROCSTMT_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 148, &__temp.execute.arg[1])
&& EPNAME_parse(&__temp.execute.arg[2])
&& UP_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("PROCSTMT_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, PROCSTMT_3, 3, "PROCSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PROCSTMT_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 149, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("PROCSTMT_parse found option 4 -- ");
      *__arg = makeparsetree(__temp, PROCSTMT_4, 1, "PROCSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PROCSTMT_parse - trying option 5"); lev += 1;

if (note_backtrack(&__pos)
&& UPATSEP_parse(&__temp.execute.arg[1])
&& NOTELINE_parse(&__temp.execute.arg[2])
&& STMT_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("PROCSTMT_parse found option 5 -- <UPATSEP> <NOTELINE> <STMT> ");
      *__arg = makeparsetree(__temp, PROCSTMT_5, 3, "PROCSTMT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("PROCSTMT_parse failed");
   return(FALSE);
}

int ELSEq_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ELSEq_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 150, &__temp.execute.arg[1])
&& NOTELINE_parse(&__temp.execute.arg[2])
&& OLABEL_parse(&__temp.execute.arg[3])
&& ELSESTMNT_parse(&__temp.execute.arg[4])
)  {
      if (!_optimise) debug_exit("ELSEq_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, ELSEq_1, 4, "ELSEq", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("ELSEq_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 151, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("ELSEq_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, ELSEq_2, 1, "ELSEq", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ELSEq_parse failed");
   return(FALSE);
}

int ELSESTMNT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ELSESTMNT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 152, &__temp.execute.arg[1])
&& BLKORCS_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("ELSESTMNT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, ELSESTMNT_1, 2, "ELSESTMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("ELSESTMNT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& STMT_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("ELSESTMNT_parse found option 2 -- <STMT> ");
      *__arg = makeparsetree(__temp, ELSESTMNT_2, 1, "ELSESTMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ELSESTMNT_parse failed");
   return(FALSE);
}

int UI_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("UI_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& CHKLPL_parse(&__temp.execute.arg[1])
&& ONAME_parse(&__temp.execute.arg[2])
&& RESTOFASS_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("UI_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, UI_1, 3, "UI", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("UI_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& NAME_parse(&__temp.execute.arg[1])
&& APP_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("UI_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, UI_2, 2, "UI", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("UI_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 153, &__temp.execute.arg[1])
&& DE_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("UI_parse found option 3 -- \"goto\" <DE> ");
      *__arg = makeparsetree(__temp, UI_3, 2, "UI", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("UI_parse failed");
   return(FALSE);
}

int SS_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("SS_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& eof_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("SS_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, SS_1, 1, "SS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("SS_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& STMNT_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("SS_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, SS_2, 1, "SS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("SS_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 154, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("SS_parse found option 3 -- \"[^;]*;\" ");
      *__arg = makeparsetree(__temp, SS_3, 1, "SS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("SS_parse failed");
   return(FALSE);
}

int STMNT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("STMNT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& NSTMT_parse(&__temp.execute.arg[1])
&& S_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, STMNT_1, 2, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 155, &__temp.execute.arg[1])
&& UP_parse(&__temp.execute.arg[2])
&& ENDTEXT_parse(&__temp.execute.arg[3])
&& ELSEq_parse(&__temp.execute.arg[4])
&& S_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, STMNT_2, 5, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 156, &__temp.execute.arg[1])
&& UP_parse(&__temp.execute.arg[2])
&& RENDTEXT_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, STMNT_3, 3, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 157, &__temp.execute.arg[1])
&& COMTEXT_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 4 -- ");
      *__arg = makeparsetree(__temp, STMNT_4, 2, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 5"); lev += 1;

if (note_backtrack(&__pos)
&& TYPEopt_parse(&__temp.execute.arg[1])
&& VDECLN_parse(&__temp.execute.arg[2])
&& S_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 5 -- ");
      *__arg = makeparsetree(__temp, STMNT_5, 3, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 6"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 158, &__temp.execute.arg[1])
&& BLKORCS_parse(&__temp.execute.arg[2])
&& S_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 6 -- ");
      *__arg = makeparsetree(__temp, STMNT_6, 3, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 7"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 159, &__temp.execute.arg[1])
&& SWTYPE_parse(&__temp.execute.arg[2])
&& NAME_parse(&__temp.execute.arg[3])
&& NOTENAME_parse(&__temp.execute.arg[4])
&& LINKSW_parse(&__temp.execute.arg[5])
&& _regexp_parse(savepat, 160, &__temp.execute.arg[6])
&& GENDE_parse(&__temp.execute.arg[7])
&& RESTOFGENDELIST_parse(&__temp.execute.arg[8])
&& S_parse(&__temp.execute.arg[9])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 7 -- ");
      *__arg = makeparsetree(__temp, STMNT_7, 9, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 8"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 161, &__temp.execute.arg[1])
&& LINKOWNS_parse(&__temp.execute.arg[2])
&& TYPEopt_parse(&__temp.execute.arg[3])
&& DECLN_parse(&__temp.execute.arg[4])
&& S_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 8 -- ");
      *__arg = makeparsetree(__temp, STMNT_8, 5, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 9"); lev += 1;

if (note_backtrack(&__pos)
&& CHKLAB_parse(&__temp.execute.arg[1])
&& NAME_parse(&__temp.execute.arg[2])
&& _regexp_parse(savepat, 162, &__temp.execute.arg[3])
&& LINKLAB_parse(&__temp.execute.arg[4])
&& STMNT_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 9 -- ");
      *__arg = makeparsetree(__temp, STMNT_9, 5, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 10"); lev += 1;

if (note_backtrack(&__pos)
&& semi_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 10 -- ");
      *__arg = makeparsetree(__temp, STMNT_10, 1, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 11"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 163, &__temp.execute.arg[1])
&& S_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 11 -- ");
      *__arg = makeparsetree(__temp, STMNT_11, 2, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 12"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 164, &__temp.execute.arg[1])
&& S_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 12 -- ");
      *__arg = makeparsetree(__temp, STMNT_12, 2, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("STMNT_parse - trying option 13"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 165, &__temp.execute.arg[1])
&& NAME_parse(&__temp.execute.arg[2])
&& S_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("STMNT_parse found option 13 -- \"program\" <NAME> <S> ");
      *__arg = makeparsetree(__temp, STMNT_13, 3, "STMNT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("STMNT_parse failed");
   return(FALSE);
}

int NOTENAME_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("NOTENAME_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 166, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("NOTENAME_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, NOTENAME_1, 1, "NOTENAME", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("NOTENAME_parse failed");
   return(FALSE);
}

int S_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("S_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& semi_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("S_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, S_1, 1, "S", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("S_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& is(end_parse,&__temp.execute.arg[1]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("S_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, S_2, 1, "S", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("S_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& is(else_parse,&__temp.execute.arg[1]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("S_parse found option 3 -- <?else> ");
      *__arg = makeparsetree(__temp, S_3, 1, "S", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("S_parse failed");
   return(FALSE);
}

int UP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("UP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 167, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("UP_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, UP_1, 1, "UP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("UP_parse failed");
   return(FALSE);
}

int DOWN_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("DOWN_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 168, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("DOWN_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, DOWN_1, 1, "DOWN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("DOWN_parse failed");
   return(FALSE);
}

int CHKLAB_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("CHKLAB_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 169, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("CHKLAB_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, CHKLAB_1, 1, "CHKLAB", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("CHKLAB_parse failed");
   return(FALSE);
}

int ass_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ass_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 170, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("ass_parse found option 1 -- \":=\" ");
      *__arg = makeparsetree(__temp, ass_1, 1, "ass", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ass_parse failed");
   return(FALSE);
}

int LINKOWNS_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LINKOWNS_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 171, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LINKOWNS_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, LINKOWNS_1, 1, "LINKOWNS", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LINKOWNS_parse failed");
   return(FALSE);
}

int ARRAYTYPE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ARRAYTYPE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 172, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("ARRAYTYPE_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, ARRAYTYPE_1, 1, "ARRAYTYPE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ARRAYTYPE_parse failed");
   return(FALSE);
}

int CHECKSC_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("CHECKSC_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& is(semi_parse,&__temp.execute.arg[1]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("CHECKSC_parse found option 1 -- <?semi> ");
      *__arg = makeparsetree(__temp, CHECKSC_1, 1, "CHECKSC", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("CHECKSC_parse failed");
   return(FALSE);
}

int CHKLPL_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("CHKLPL_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 173, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("CHKLPL_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, CHKLPL_1, 1, "CHKLPL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("CHKLPL_parse failed");
   return(FALSE);
}

int CMPND_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("CMPND_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& is(S_parse,&__temp.execute.arg[1]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("CMPND_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, CMPND_1, 1, "CMPND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("CMPND_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& is(end_parse,&__temp.execute.arg[1]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("CMPND_parse found option 2 -- <?end> ");
      *__arg = makeparsetree(__temp, CMPND_2, 1, "CMPND", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("CMPND_parse failed");
   return(FALSE);
}

int COMTEXT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("COMTEXT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 174, &__temp.execute.arg[1])
&& continuecom_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("COMTEXT_parse found option 1 -- \"[^;]*\" <continuecom> ");
      *__arg = makeparsetree(__temp, COMTEXT_1, 2, "COMTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("COMTEXT_parse failed");
   return(FALSE);
}

int continuecom_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("continuecom_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 175, &__temp.execute.arg[1])
&& COMTEXT_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("continuecom_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, continuecom_1, 2, "continuecom", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("continuecom_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 176, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("continuecom_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, continuecom_2, 1, "continuecom", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("continuecom_parse failed");
   return(FALSE);
}

int ENDTEXT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ENDTEXT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& RENDTEXT_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("ENDTEXT_parse found option 1 -- <RENDTEXT> ");
      *__arg = makeparsetree(__temp, ENDTEXT_1, 1, "ENDTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ENDTEXT_parse failed");
   return(FALSE);
}

int RENDTEXT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RENDTEXT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& not(semi_parse,&__temp.execute.arg[1]) /* Lazy eval */
&& not(end_parse,&__temp.execute.arg[2]) /* Lazy eval */
&& not(else_parse,&__temp.execute.arg[3]) /* Lazy eval */
&& ch_parse(&__temp.execute.arg[4])
&& RENDTEXT_parse(&__temp.execute.arg[5])
)  {
      if (!_optimise) debug_exit("RENDTEXT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RENDTEXT_1, 5, "RENDTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RENDTEXT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 177, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RENDTEXT_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RENDTEXT_2, 1, "RENDTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RENDTEXT_parse failed");
   return(FALSE);
}

int end_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("end_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 178, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("end_parse found option 1 -- \"end\" ");
      *__arg = makeparsetree(__temp, end_1, 1, "end", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("end_parse failed");
   return(FALSE);
}

int then_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("then_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 179, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("then_parse found option 1 -- \"then\" ");
      *__arg = makeparsetree(__temp, then_1, 1, "then", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("then_parse failed");
   return(FALSE);
}

int else_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("else_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 180, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("else_parse found option 1 -- \"else\" ");
      *__arg = makeparsetree(__temp, else_1, 1, "else", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("else_parse failed");
   return(FALSE);
}

int semi_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("semi_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 181, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("semi_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, semi_1, 1, "semi", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("semi_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 182, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("semi_parse found option 2 -- \"\\.,\" ");
      *__arg = makeparsetree(__temp, semi_2, 1, "semi", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("semi_parse failed");
   return(FALSE);
}

int ch_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ch_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 183, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("ch_parse found option 1 -- \".\" ");
      *__arg = makeparsetree(__temp, ch_1, 1, "ch", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ch_parse failed");
   return(FALSE);
}

int closer_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("closer_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& semi_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("closer_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, closer_1, 1, "closer", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("closer_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& comma_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("closer_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, closer_2, 1, "closer", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("closer_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& crb_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("closer_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, closer_3, 1, "closer", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("closer_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& else_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("closer_parse found option 4 -- ");
      *__arg = makeparsetree(__temp, closer_4, 1, "closer", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("closer_parse - trying option 5"); lev += 1;

if (note_backtrack(&__pos)
&& then_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("closer_parse found option 5 -- <then> ");
      *__arg = makeparsetree(__temp, closer_5, 1, "closer", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("closer_parse failed");
   return(FALSE);
}

int ICONST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ICONST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& PLUSopt_parse(&__temp.execute.arg[1])
&& _regexp_parse(savepat, 184, &__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("ICONST_parse found option 1 -- <PLUSopt> \"[0-9][0-9]*\" ");
      *__arg = makeparsetree(__temp, ICONST_1, 2, "ICONST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ICONST_parse failed");
   return(FALSE);
}

int decfract_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("decfract_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 185, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("decfract_parse found option 1 -- \"\\.[0-9][0-9]*\" ");
      *__arg = makeparsetree(__temp, decfract_1, 1, "decfract", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("decfract_parse failed");
   return(FALSE);
}

int expart_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("expart_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& subten_parse(&__temp.execute.arg[1])
&& ICONST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("expart_parse found option 1 -- <subten> <ICONST> ");
      *__arg = makeparsetree(__temp, expart_1, 2, "expart", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("expart_parse failed");
   return(FALSE);
}

int decnum_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("decnum_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 186, &__temp.execute.arg[1])
&& decfract_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("decnum_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, decnum_1, 2, "decnum", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("decnum_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& decfract_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("decnum_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, decnum_2, 1, "decnum", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("decnum_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 187, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("decnum_parse found option 3 -- \"[0-9][0-9]*\" ");
      *__arg = makeparsetree(__temp, decnum_3, 1, "decnum", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("decnum_parse failed");
   return(FALSE);
}

int unsigned_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("unsigned_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& decnum_parse(&__temp.execute.arg[1])
&& expart_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("unsigned_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, unsigned_1, 2, "unsigned", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("unsigned_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& expart_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("unsigned_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, unsigned_2, 1, "unsigned", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("unsigned_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& decnum_parse(&__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("unsigned_parse found option 3 -- <decnum> ");
      *__arg = makeparsetree(__temp, unsigned_3, 1, "unsigned", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("unsigned_parse failed");
   return(FALSE);
}

int CONST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("CONST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& PLUSopt_parse(&__temp.execute.arg[1])
&& unsigned_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("CONST_parse found option 1 -- <PLUSopt> <unsigned> ");
      *__arg = makeparsetree(__temp, CONST_1, 2, "CONST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("CONST_parse failed");
   return(FALSE);
}

int subten_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("subten_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 188, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("subten_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, subten_1, 1, "subten", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("subten_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 189, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("subten_parse found option 2 -- \"@\" ");
      *__arg = makeparsetree(__temp, subten_2, 1, "subten", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("subten_parse failed");
   return(FALSE);
}

int LABTYPE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LABTYPE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 190, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LABTYPE_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, LABTYPE_1, 1, "LABTYPE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LABTYPE_parse failed");
   return(FALSE);
}

int LETTERSTRING_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LETTERSTRING_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 191, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LETTERSTRING_parse found option 1 -- \"[A-Z]*\" ");
      *__arg = makeparsetree(__temp, LETTERSTRING_1, 1, "LETTERSTRING", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LETTERSTRING_parse failed");
   return(FALSE);
}

int LHSQBR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LHSQBR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 192, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LHSQBR_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, LHSQBR_1, 1, "LHSQBR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("LHSQBR_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 193, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LHSQBR_parse found option 2 -- \"\\(/\" ");
      *__arg = makeparsetree(__temp, LHSQBR_2, 1, "LHSQBR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LHSQBR_parse failed");
   return(FALSE);
}

int RHSQBR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RHSQBR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 194, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RHSQBR_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RHSQBR_1, 1, "RHSQBR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RHSQBR_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 195, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RHSQBR_parse found option 2 -- \"/\\)\" ");
      *__arg = makeparsetree(__temp, RHSQBR_2, 1, "RHSQBR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RHSQBR_parse failed");
   return(FALSE);
}

int LINKARR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LINKARR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 196, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LINKARR_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, LINKARR_1, 1, "LINKARR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LINKARR_parse failed");
   return(FALSE);
}

int LINKLAB_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LINKLAB_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 197, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LINKLAB_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, LINKLAB_1, 1, "LINKLAB", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LINKLAB_parse failed");
   return(FALSE);
}

int LINKPROC_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LINKPROC_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 198, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LINKPROC_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, LINKPROC_1, 1, "LINKPROC", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LINKPROC_parse failed");
   return(FALSE);
}

int LINKSCAL_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LINKSCAL_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 199, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LINKSCAL_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, LINKSCAL_1, 1, "LINKSCAL", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LINKSCAL_parse failed");
   return(FALSE);
}

int LINKSW_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("LINKSW_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 200, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("LINKSW_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, LINKSW_1, 1, "LINKSW", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("LINKSW_parse failed");
   return(FALSE);
}

int NAME_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("NAME_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 201, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("NAME_parse found option 1 -- \"[A-Z][A-Z0-9]*\" ");
      *__arg = makeparsetree(__temp, NAME_1, 1, "NAME", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("NAME_parse failed");
   return(FALSE);
}

int NOMORE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("NOMORE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& is(comma_parse,&__temp.execute.arg[1]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("NOMORE_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, NOMORE_1, 1, "NOMORE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("NOMORE_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& is(crb_parse,&__temp.execute.arg[1]) /* Lazy eval */
)  {
      if (!_optimise) debug_exit("NOMORE_parse found option 2 -- <?crb> ");
      *__arg = makeparsetree(__temp, NOMORE_2, 1, "NOMORE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("NOMORE_parse failed");
   return(FALSE);
}

int comma_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("comma_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 202, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("comma_parse found option 1 -- \",\" ");
      *__arg = makeparsetree(__temp, comma_1, 1, "comma", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("comma_parse failed");
   return(FALSE);
}

int crb_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("crb_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 203, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("crb_parse found option 1 -- \"\\)\" ");
      *__arg = makeparsetree(__temp, crb_1, 1, "crb", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("crb_parse failed");
   return(FALSE);
}

int NOTELINE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("NOTELINE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 204, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("NOTELINE_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, NOTELINE_1, 1, "NOTELINE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("NOTELINE_parse failed");
   return(FALSE);
}

int ONAME_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ONAME_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 205, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("ONAME_parse found option 1 -- \"[A-Z][A-Z0-9]*\" ");
      *__arg = makeparsetree(__temp, ONAME_1, 1, "ONAME", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ONAME_parse failed");
   return(FALSE);
}

int ONAMELIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("ONAMELIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& ONAME_parse(&__temp.execute.arg[1])
&& RESTOFONAMELIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("ONAMELIST_parse found option 1 -- <ONAME> <RESTOFONAMELIST> ");
      *__arg = makeparsetree(__temp, ONAMELIST_1, 2, "ONAMELIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("ONAMELIST_parse failed");
   return(FALSE);
}

int RESTOFONAMELIST_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFONAMELIST_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 206, &__temp.execute.arg[1])
&& ONAMELIST_parse(&__temp.execute.arg[2])
)  {
      if (!_optimise) debug_exit("RESTOFONAMELIST_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFONAMELIST_1, 2, "RESTOFONAMELIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFONAMELIST_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 207, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFONAMELIST_parse found option 2 -- \"\" ");
      *__arg = makeparsetree(__temp, RESTOFONAMELIST_2, 1, "RESTOFONAMELIST", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFONAMELIST_parse failed");
   return(FALSE);
}

int OP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("OP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 208, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, OP_1, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 209, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, OP_2, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 210, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 3 -- ");
      *__arg = makeparsetree(__temp, OP_3, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 4"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 211, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 4 -- ");
      *__arg = makeparsetree(__temp, OP_4, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 5"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 212, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 5 -- ");
      *__arg = makeparsetree(__temp, OP_5, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 6"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 213, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 6 -- ");
      *__arg = makeparsetree(__temp, OP_6, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 7"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 214, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 7 -- ");
      *__arg = makeparsetree(__temp, OP_7, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 8"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 215, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 8 -- ");
      *__arg = makeparsetree(__temp, OP_8, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 9"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 216, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 9 -- ");
      *__arg = makeparsetree(__temp, OP_9, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("OP_parse - trying option 10"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 217, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("OP_parse found option 10 -- \"power\" ");
      *__arg = makeparsetree(__temp, OP_10, 1, "OP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("OP_parse failed");
   return(FALSE);
}

int PLUSopt_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("PLUSopt_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 218, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("PLUSopt_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, PLUSopt_1, 1, "PLUSopt", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PLUSopt_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 219, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("PLUSopt_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, PLUSopt_2, 1, "PLUSopt", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("PLUSopt_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 220, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("PLUSopt_parse found option 3 -- \"\" ");
      *__arg = makeparsetree(__temp, PLUSopt_3, 1, "PLUSopt", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("PLUSopt_parse failed");
   return(FALSE);
}

int PROCTYPE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("PROCTYPE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 221, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("PROCTYPE_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, PROCTYPE_1, 1, "PROCTYPE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("PROCTYPE_parse failed");
   return(FALSE);
}

int SCALARTYPE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("SCALARTYPE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 222, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("SCALARTYPE_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, SCALARTYPE_1, 1, "SCALARTYPE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("SCALARTYPE_parse failed");
   return(FALSE);
}

int STRTYPE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("STRTYPE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 223, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("STRTYPE_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, STRTYPE_1, 1, "STRTYPE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("STRTYPE_parse failed");
   return(FALSE);
}

int SWBYNAME_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("SWBYNAME_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 224, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("SWBYNAME_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, SWBYNAME_1, 1, "SWBYNAME", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("SWBYNAME_parse failed");
   return(FALSE);
}

int SWTYPE_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("SWTYPE_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 225, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("SWTYPE_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, SWTYPE_1, 1, "SWTYPE", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("SWTYPE_parse failed");
   return(FALSE);
}

int TEXTTEXT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("TEXTTEXT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 226, &__temp.execute.arg[1])
&& _regexp_parse(savepat, 227, &__temp.execute.arg[2])
&& RESTOFTEXTTEXT_parse(&__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("TEXTTEXT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, TEXTTEXT_1, 3, "TEXTTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("TEXTTEXT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 228, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TEXTTEXT_parse found option 2 -- ");
      *__arg = makeparsetree(__temp, TEXTTEXT_2, 1, "TEXTTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("TEXTTEXT_parse - trying option 3"); lev += 1;

if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 229, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TEXTTEXT_parse found option 3 -- \"`[^']*'\" ");
      *__arg = makeparsetree(__temp, TEXTTEXT_3, 1, "TEXTTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("TEXTTEXT_parse failed");
   return(FALSE);
}

int RESTOFTEXTTEXT_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("RESTOFTEXTTEXT_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 230, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("RESTOFTEXTTEXT_parse found option 1 -- ");
      *__arg = makeparsetree(__temp, RESTOFTEXTTEXT_1, 1, "RESTOFTEXTTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   /*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
   if (!_optimise) debug_exit("RESTOFTEXTTEXT_parse - trying option 2"); lev += 1;

if (note_backtrack(&__pos)
&& TEXTTEXT_parse(&__temp.execute.arg[1])
&& _regexp_parse(savepat, 231, &__temp.execute.arg[2])
&& _regexp_parse(savepat, 232, &__temp.execute.arg[3])
)  {
      if (!_optimise) debug_exit("RESTOFTEXTTEXT_parse found option 2 -- <TEXTTEXT> \"[^<>]*\" \">\" ");
      *__arg = makeparsetree(__temp, RESTOFTEXTTEXT_2, 3, "RESTOFTEXTTEXT", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("RESTOFTEXTTEXT_parse failed");
   return(FALSE);
}

int TYPEeqA_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("TYPEeqA_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 233, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPEeqA_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, TYPEeqA_1, 1, "TYPEeqA", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("TYPEeqA_parse failed");
   return(FALSE);
}

int TYPEeqARR_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("TYPEeqARR_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 234, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPEeqARR_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, TYPEeqARR_1, 1, "TYPEeqARR", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("TYPEeqARR_parse failed");
   return(FALSE);
}

int TYPEeqB_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("TYPEeqB_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 235, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPEeqB_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, TYPEeqB_1, 1, "TYPEeqB", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("TYPEeqB_parse failed");
   return(FALSE);
}

int TYPENOTARITH_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("TYPENOTARITH_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 236, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPENOTARITH_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, TYPENOTARITH_1, 1, "TYPENOTARITH", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("TYPENOTARITH_parse failed");
   return(FALSE);
}

int TYPENOTBOOLEAN_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("TYPENOTBOOLEAN_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 237, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("TYPENOTBOOLEAN_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, TYPENOTBOOLEAN_1, 1, "TYPENOTBOOLEAN", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("TYPENOTBOOLEAN_parse failed");
   return(FALSE);
}

int UPATSEP_parse(YYTYPE **__arg)
{
YYTYPE __temp;
int i;
long __pos;

void *__stack;

*__arg = NULL; /* Initialise in case of failure */
/*if (!_optimise)*/ for (i = 0; i < MAX_RULES; i++) __temp.execute.arg[i] = NULL;
if (!_optimise) debug_enter("UPATSEP_parse - trying option 1");
__stack = stackmark();
if (note_backtrack(&__pos)
&& _regexp_parse(savepat, 238, &__temp.execute.arg[1])
)  {
      if (!_optimise) debug_exit("UPATSEP_parse found option 1 -- \"\" ");
      *__arg = makeparsetree(__temp, UPATSEP_1, 1, "UPATSEP", __LINE__);
      return(TRUE);
   }
   do_backtrack(__pos);
   stackrelease(__stack);
   if (!_optimise) debug_exit("UPATSEP_parse failed");
   return(FALSE);
}


static int cover_test(void)
{
if ((cover_testing) && (!SEEN_main_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule main not tested\n");
if ((cover_testing) && (!SEEN_DECLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule DECLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFDECLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFDECLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFDECLIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFDECLIST not tested\n");
if ((cover_testing) && (!SEEN_OPERAND_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule OPERAND not tested\n");
if ((cover_testing) && (!SEEN_OPERAND_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule OPERAND not tested\n");
if ((cover_testing) && (!SEEN_OPERAND_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule OPERAND not tested\n");
if ((cover_testing) && (!SEEN_EXPR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule EXPR not tested\n");
if ((cover_testing) && (!SEEN_EXPR_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule EXPR not tested\n");
if ((cover_testing) && (!SEEN_RESTOFEXPR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFEXPR not tested\n");
if ((cover_testing) && (!SEEN_RESTOFEXPR_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFEXPR not tested\n");
if ((cover_testing) && (!SEEN_APP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule APP not tested\n");
if ((cover_testing) && (!SEEN_APP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule APP not tested\n");
if ((cover_testing) && (!SEEN_APP_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule APP not tested\n");
if ((cover_testing) && (!SEEN_RESTOFAPP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFAPP not tested\n");
if ((cover_testing) && (!SEEN_RESTOFAPP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFAPP not tested\n");
if ((cover_testing) && (!SEEN_LABAPP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LABAPP not tested\n");
if ((cover_testing) && (!SEEN_LABAPP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule LABAPP not tested\n");
if ((cover_testing) && (!SEEN_LABAPP_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule LABAPP not tested\n");
if ((cover_testing) && (!SEEN_BCONST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule BCONST not tested\n");
if ((cover_testing) && (!SEEN_BCONST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule BCONST not tested\n");
if ((cover_testing) && (!SEEN_BOP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule BOP not tested\n");
if ((cover_testing) && (!SEEN_BOP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule BOP not tested\n");
if ((cover_testing) && (!SEEN_BOP_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule BOP not tested\n");
if ((cover_testing) && (!SEEN_BOP_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule BOP not tested\n");
if ((cover_testing) && (!SEEN_BOP_5)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 5 of rule BOP not tested\n");
if ((cover_testing) && (!SEEN_BOP_6)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 6 of rule BOP not tested\n");
if ((cover_testing) && (!SEEN_BTERM_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule BTERM not tested\n");
if ((cover_testing) && (!SEEN_BTERM_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule BTERM not tested\n");
if ((cover_testing) && (!SEEN_SBEXPR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule SBEXPR not tested\n");
if ((cover_testing) && (!SEEN_RESTOFSBEXPR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFSBEXPR not tested\n");
if ((cover_testing) && (!SEEN_RESTOFSBEXPR_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFSBEXPR not tested\n");
if ((cover_testing) && (!SEEN_BEXPR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule BEXPR not tested\n");
if ((cover_testing) && (!SEEN_BEXPR_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule BEXPR not tested\n");
if ((cover_testing) && (!SEEN_BOPERAND_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule BOPERAND not tested\n");
if ((cover_testing) && (!SEEN_BOPERAND_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule BOPERAND not tested\n");
if ((cover_testing) && (!SEEN_BOPERAND_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule BOPERAND not tested\n");
if ((cover_testing) && (!SEEN_BOPERAND_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule BOPERAND not tested\n");
if ((cover_testing) && (!SEEN_TYPEopt_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule TYPEopt not tested\n");
if ((cover_testing) && (!SEEN_TYPEopt_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule TYPEopt not tested\n");
if ((cover_testing) && (!SEEN_TYPEopt_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule TYPEopt not tested\n");
if ((cover_testing) && (!SEEN_TYPEopt_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule TYPEopt not tested\n");
if ((cover_testing) && (!SEEN_VALUEq_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule VALUEq not tested\n");
if ((cover_testing) && (!SEEN_VALUEq_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule VALUEq not tested\n");
if ((cover_testing) && (!SEEN_FPDEL_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule FPDEL not tested\n");
if ((cover_testing) && (!SEEN_FPDEL_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule FPDEL not tested\n");
if ((cover_testing) && (!SEEN_FPDEL_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule FPDEL not tested\n");
if ((cover_testing) && (!SEEN_FPDEL_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule FPDEL not tested\n");
if ((cover_testing) && (!SEEN_PDECLN_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule PDECLN not tested\n");
if ((cover_testing) && (!SEEN_PDECLN_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule PDECLN not tested\n");
if ((cover_testing) && (!SEEN_PDECLN_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule PDECLN not tested\n");
if ((cover_testing) && (!SEEN_FPP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule FPP not tested\n");
if ((cover_testing) && (!SEEN_FPP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule FPP not tested\n");
if ((cover_testing) && (!SEEN_RESTOFFPLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFFPLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFFPLIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFFPLIST not tested\n");
if ((cover_testing) && (!SEEN_FPSEP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule FPSEP not tested\n");
if ((cover_testing) && (!SEEN_FPSEP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule FPSEP not tested\n");
if ((cover_testing) && (!SEEN_OPTCOM_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule OPTCOM not tested\n");
if ((cover_testing) && (!SEEN_OPTCOM_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule OPTCOM not tested\n");
if ((cover_testing) && (!SEEN_FPSPEC_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule FPSPEC not tested\n");
if ((cover_testing) && (!SEEN_FPSPEC_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule FPSPEC not tested\n");
if ((cover_testing) && (!SEEN_PARCOM_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule PARCOM not tested\n");
if ((cover_testing) && (!SEEN_PARCOM_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule PARCOM not tested\n");
if ((cover_testing) && (!SEEN_COLONq_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule COLONq not tested\n");
if ((cover_testing) && (!SEEN_COLONq_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule COLONq not tested\n");
if ((cover_testing) && (!SEEN_COMVAL_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule COMVAL not tested\n");
if ((cover_testing) && (!SEEN_COMVAL_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule COMVAL not tested\n");
if ((cover_testing) && (!SEEN_COMFP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule COMFP not tested\n");
if ((cover_testing) && (!SEEN_COMFP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule COMFP not tested\n");
if ((cover_testing) && (!SEEN_COMDEL_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule COMDEL not tested\n");
if ((cover_testing) && (!SEEN_COMDEL_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule COMDEL not tested\n");
if ((cover_testing) && (!SEEN_COMDEL_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule COMDEL not tested\n");
if ((cover_testing) && (!SEEN_COMDEL_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule COMDEL not tested\n");
if ((cover_testing) && (!SEEN_COMDECLN_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule COMDECLN not tested\n");
if ((cover_testing) && (!SEEN_COMDECLN_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule COMDECLN not tested\n");
if ((cover_testing) && (!SEEN_COMDECLN_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule COMDECLN not tested\n");
if ((cover_testing) && (!SEEN_CNLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule CNLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFCNLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFCNLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFCNLIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFCNLIST not tested\n");
if ((cover_testing) && (!SEEN_GENSDE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule GENSDE not tested\n");
if ((cover_testing) && (!SEEN_GENSDE_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule GENSDE not tested\n");
if ((cover_testing) && (!SEEN_GENDE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule GENDE not tested\n");
if ((cover_testing) && (!SEEN_GENDE_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule GENDE not tested\n");
if ((cover_testing) && (!SEEN_SDE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule SDE not tested\n");
if ((cover_testing) && (!SEEN_SDE_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule SDE not tested\n");
if ((cover_testing) && (!SEEN_DE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule DE not tested\n");
if ((cover_testing) && (!SEEN_DE_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule DE not tested\n");
if ((cover_testing) && (!SEEN_RESTOFGENDELIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFGENDELIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFGENDELIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFGENDELIST not tested\n");
if ((cover_testing) && (!SEEN_RTP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RTP not tested\n");
if ((cover_testing) && (!SEEN_RTP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RTP not tested\n");
if ((cover_testing) && (!SEEN_RTP_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule RTP not tested\n");
if ((cover_testing) && (!SEEN_RTP_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule RTP not tested\n");
if ((cover_testing) && (!SEEN_RTP_5)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 5 of rule RTP not tested\n");
if ((cover_testing) && (!SEEN_RESTOFRTPLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFRTPLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFRTPLIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFRTPLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFASS_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFASS not tested\n");
if ((cover_testing) && (!SEEN_abEXPR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule abEXPR not tested\n");
if ((cover_testing) && (!SEEN_abEXPR_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule abEXPR not tested\n");
if ((cover_testing) && (!SEEN_RESTOFABLP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFABLP not tested\n");
if ((cover_testing) && (!SEEN_RESTOFABLP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFABLP not tested\n");
if ((cover_testing) && (!SEEN_oldRESTOFASS_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule oldRESTOFASS not tested\n");
if ((cover_testing) && (!SEEN_oldRESTOFASS_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule oldRESTOFASS not tested\n");
if ((cover_testing) && (!SEEN_oldRESTOFBLP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule oldRESTOFBLP not tested\n");
if ((cover_testing) && (!SEEN_oldRESTOFBLP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule oldRESTOFBLP not tested\n");
if ((cover_testing) && (!SEEN_oldRESTOFALP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule oldRESTOFALP not tested\n");
if ((cover_testing) && (!SEEN_oldRESTOFALP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule oldRESTOFALP not tested\n");
if ((cover_testing) && (!SEEN_RESTOFFLE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFFLE not tested\n");
if ((cover_testing) && (!SEEN_RESTOFFLE_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFFLE not tested\n");
if ((cover_testing) && (!SEEN_RESTOFFLE_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule RESTOFFLE not tested\n");
if ((cover_testing) && (!SEEN_RESTOFFORLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFFORLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFFORLIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFFORLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFBPLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFBPLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFBPLIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFBPLIST not tested\n");
if ((cover_testing) && (!SEEN_DECLN_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule DECLN not tested\n");
if ((cover_testing) && (!SEEN_DECLN_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule DECLN not tested\n");
if ((cover_testing) && (!SEEN_ADECLN_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ADECLN not tested\n");
if ((cover_testing) && (!SEEN_RESTOFARRAYLIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFARRAYLIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFARRAYLIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFARRAYLIST not tested\n");
if ((cover_testing) && (!SEEN_BPAIR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule BPAIR not tested\n");
if ((cover_testing) && (!SEEN_BPAIR_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule BPAIR not tested\n");
if ((cover_testing) && (!SEEN_CBPAIR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule CBPAIR not tested\n");
if ((cover_testing) && (!SEEN_RESTOFCBP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFCBP not tested\n");
if ((cover_testing) && (!SEEN_RESTOFCBP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFCBP not tested\n");
if ((cover_testing) && (!SEEN_OADECLN_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule OADECLN not tested\n");
if ((cover_testing) && (!SEEN_RESTOFOADEC_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFOADEC not tested\n");
if ((cover_testing) && (!SEEN_RESTOFOADEC_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFOADEC not tested\n");
if ((cover_testing) && (!SEEN_VDECLNa_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule VDECLNa not tested\n");
if ((cover_testing) && (!SEEN_VDECLNb_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule VDECLNb not tested\n");
if ((cover_testing) && (!SEEN_VDECLN_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule VDECLN not tested\n");
if ((cover_testing) && (!SEEN_VDECLN_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule VDECLN not tested\n");
if ((cover_testing) && (!SEEN_VDECLN_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule VDECLN not tested\n");
if ((cover_testing) && (!SEEN_COMP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_5)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 5 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_6)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 6 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_7)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 7 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_8)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 8 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_9)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 9 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_10)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 10 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_11)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 11 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_12)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 12 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_13)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 13 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_14)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 14 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_15)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 15 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_16)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 16 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_17)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 17 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_18)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 18 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_COMP_19)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 19 of rule COMP not tested\n");
if ((cover_testing) && (!SEEN_OLABEL_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule OLABEL not tested\n");
if ((cover_testing) && (!SEEN_OLABEL_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule OLABEL not tested\n");
if ((cover_testing) && (!SEEN_NSTMT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule NSTMT not tested\n");
if ((cover_testing) && (!SEEN_NSTMT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule NSTMT not tested\n");
if ((cover_testing) && (!SEEN_NSTMT_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule NSTMT not tested\n");
if ((cover_testing) && (!SEEN_NSTMT_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule NSTMT not tested\n");
if ((cover_testing) && (!SEEN_FORSTMNT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule FORSTMNT not tested\n");
if ((cover_testing) && (!SEEN_STMT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule STMT not tested\n");
if ((cover_testing) && (!SEEN_STMT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule STMT not tested\n");
if ((cover_testing) && (!SEEN_STMT_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule STMT not tested\n");
if ((cover_testing) && (!SEEN_STMT_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule STMT not tested\n");
if ((cover_testing) && (!SEEN_BLKORCS_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule BLKORCS not tested\n");
if ((cover_testing) && (!SEEN_BLKORCS_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule BLKORCS not tested\n");
if ((cover_testing) && (!SEEN_FSTMT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule FSTMT not tested\n");
if ((cover_testing) && (!SEEN_FSTMT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule FSTMT not tested\n");
if ((cover_testing) && (!SEEN_USTMT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule USTMT not tested\n");
if ((cover_testing) && (!SEEN_USTMT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule USTMT not tested\n");
if ((cover_testing) && (!SEEN_USTMT_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule USTMT not tested\n");
if ((cover_testing) && (!SEEN_USTMT_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule USTMT not tested\n");
if ((cover_testing) && (!SEEN_EPNAME_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule EPNAME not tested\n");
if ((cover_testing) && (!SEEN_EPNAME_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule EPNAME not tested\n");
if ((cover_testing) && (!SEEN_PROCSTMT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule PROCSTMT not tested\n");
if ((cover_testing) && (!SEEN_PROCSTMT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule PROCSTMT not tested\n");
if ((cover_testing) && (!SEEN_PROCSTMT_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule PROCSTMT not tested\n");
if ((cover_testing) && (!SEEN_PROCSTMT_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule PROCSTMT not tested\n");
if ((cover_testing) && (!SEEN_PROCSTMT_5)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 5 of rule PROCSTMT not tested\n");
if ((cover_testing) && (!SEEN_ELSEq_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ELSEq not tested\n");
if ((cover_testing) && (!SEEN_ELSEq_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule ELSEq not tested\n");
if ((cover_testing) && (!SEEN_ELSESTMNT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ELSESTMNT not tested\n");
if ((cover_testing) && (!SEEN_ELSESTMNT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule ELSESTMNT not tested\n");
if ((cover_testing) && (!SEEN_UI_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule UI not tested\n");
if ((cover_testing) && (!SEEN_UI_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule UI not tested\n");
if ((cover_testing) && (!SEEN_UI_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule UI not tested\n");
if ((cover_testing) && (!SEEN_SS_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule SS not tested\n");
if ((cover_testing) && (!SEEN_SS_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule SS not tested\n");
if ((cover_testing) && (!SEEN_SS_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule SS not tested\n");
if ((cover_testing) && (!SEEN_STMNT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_5)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 5 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_6)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 6 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_7)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 7 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_8)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 8 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_9)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 9 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_10)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 10 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_11)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 11 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_12)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 12 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_STMNT_13)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 13 of rule STMNT not tested\n");
if ((cover_testing) && (!SEEN_NOTENAME_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule NOTENAME not tested\n");
if ((cover_testing) && (!SEEN_S_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule S not tested\n");
if ((cover_testing) && (!SEEN_S_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule S not tested\n");
if ((cover_testing) && (!SEEN_S_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule S not tested\n");
if ((cover_testing) && (!SEEN_UP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule UP not tested\n");
if ((cover_testing) && (!SEEN_DOWN_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule DOWN not tested\n");
if ((cover_testing) && (!SEEN_CHKLAB_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule CHKLAB not tested\n");
if ((cover_testing) && (!SEEN_ass_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ass not tested\n");
if ((cover_testing) && (!SEEN_LINKOWNS_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LINKOWNS not tested\n");
if ((cover_testing) && (!SEEN_ARRAYTYPE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ARRAYTYPE not tested\n");
if ((cover_testing) && (!SEEN_CHECKSC_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule CHECKSC not tested\n");
if ((cover_testing) && (!SEEN_CHKLPL_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule CHKLPL not tested\n");
if ((cover_testing) && (!SEEN_CMPND_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule CMPND not tested\n");
if ((cover_testing) && (!SEEN_CMPND_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule CMPND not tested\n");
if ((cover_testing) && (!SEEN_COMTEXT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule COMTEXT not tested\n");
if ((cover_testing) && (!SEEN_continuecom_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule continuecom not tested\n");
if ((cover_testing) && (!SEEN_continuecom_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule continuecom not tested\n");
if ((cover_testing) && (!SEEN_ENDTEXT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ENDTEXT not tested\n");
if ((cover_testing) && (!SEEN_RENDTEXT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RENDTEXT not tested\n");
if ((cover_testing) && (!SEEN_RENDTEXT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RENDTEXT not tested\n");
if ((cover_testing) && (!SEEN_end_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule end not tested\n");
if ((cover_testing) && (!SEEN_then_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule then not tested\n");
if ((cover_testing) && (!SEEN_else_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule else not tested\n");
if ((cover_testing) && (!SEEN_semi_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule semi not tested\n");
if ((cover_testing) && (!SEEN_semi_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule semi not tested\n");
if ((cover_testing) && (!SEEN_ch_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ch not tested\n");
if ((cover_testing) && (!SEEN_closer_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule closer not tested\n");
if ((cover_testing) && (!SEEN_closer_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule closer not tested\n");
if ((cover_testing) && (!SEEN_closer_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule closer not tested\n");
if ((cover_testing) && (!SEEN_closer_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule closer not tested\n");
if ((cover_testing) && (!SEEN_closer_5)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 5 of rule closer not tested\n");
if ((cover_testing) && (!SEEN_ICONST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ICONST not tested\n");
if ((cover_testing) && (!SEEN_decfract_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule decfract not tested\n");
if ((cover_testing) && (!SEEN_expart_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule expart not tested\n");
if ((cover_testing) && (!SEEN_decnum_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule decnum not tested\n");
if ((cover_testing) && (!SEEN_decnum_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule decnum not tested\n");
if ((cover_testing) && (!SEEN_decnum_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule decnum not tested\n");
if ((cover_testing) && (!SEEN_unsigned_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule unsigned not tested\n");
if ((cover_testing) && (!SEEN_unsigned_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule unsigned not tested\n");
if ((cover_testing) && (!SEEN_unsigned_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule unsigned not tested\n");
if ((cover_testing) && (!SEEN_CONST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule CONST not tested\n");
if ((cover_testing) && (!SEEN_subten_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule subten not tested\n");
if ((cover_testing) && (!SEEN_subten_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule subten not tested\n");
if ((cover_testing) && (!SEEN_LABTYPE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LABTYPE not tested\n");
if ((cover_testing) && (!SEEN_LETTERSTRING_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LETTERSTRING not tested\n");
if ((cover_testing) && (!SEEN_LHSQBR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LHSQBR not tested\n");
if ((cover_testing) && (!SEEN_LHSQBR_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule LHSQBR not tested\n");
if ((cover_testing) && (!SEEN_RHSQBR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RHSQBR not tested\n");
if ((cover_testing) && (!SEEN_RHSQBR_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RHSQBR not tested\n");
if ((cover_testing) && (!SEEN_LINKARR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LINKARR not tested\n");
if ((cover_testing) && (!SEEN_LINKLAB_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LINKLAB not tested\n");
if ((cover_testing) && (!SEEN_LINKPROC_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LINKPROC not tested\n");
if ((cover_testing) && (!SEEN_LINKSCAL_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LINKSCAL not tested\n");
if ((cover_testing) && (!SEEN_LINKSW_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule LINKSW not tested\n");
if ((cover_testing) && (!SEEN_NAME_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule NAME not tested\n");
if ((cover_testing) && (!SEEN_NOMORE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule NOMORE not tested\n");
if ((cover_testing) && (!SEEN_NOMORE_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule NOMORE not tested\n");
if ((cover_testing) && (!SEEN_comma_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule comma not tested\n");
if ((cover_testing) && (!SEEN_crb_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule crb not tested\n");
if ((cover_testing) && (!SEEN_NOTELINE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule NOTELINE not tested\n");
if ((cover_testing) && (!SEEN_ONAME_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ONAME not tested\n");
if ((cover_testing) && (!SEEN_ONAMELIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule ONAMELIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFONAMELIST_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFONAMELIST not tested\n");
if ((cover_testing) && (!SEEN_RESTOFONAMELIST_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFONAMELIST not tested\n");
if ((cover_testing) && (!SEEN_OP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_4)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 4 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_5)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 5 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_6)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 6 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_7)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 7 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_8)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 8 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_9)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 9 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_OP_10)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 10 of rule OP not tested\n");
if ((cover_testing) && (!SEEN_PLUSopt_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule PLUSopt not tested\n");
if ((cover_testing) && (!SEEN_PLUSopt_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule PLUSopt not tested\n");
if ((cover_testing) && (!SEEN_PLUSopt_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule PLUSopt not tested\n");
if ((cover_testing) && (!SEEN_PROCTYPE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule PROCTYPE not tested\n");
if ((cover_testing) && (!SEEN_SCALARTYPE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule SCALARTYPE not tested\n");
if ((cover_testing) && (!SEEN_STRTYPE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule STRTYPE not tested\n");
if ((cover_testing) && (!SEEN_SWBYNAME_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule SWBYNAME not tested\n");
if ((cover_testing) && (!SEEN_SWTYPE_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule SWTYPE not tested\n");
if ((cover_testing) && (!SEEN_TEXTTEXT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule TEXTTEXT not tested\n");
if ((cover_testing) && (!SEEN_TEXTTEXT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule TEXTTEXT not tested\n");
if ((cover_testing) && (!SEEN_TEXTTEXT_3)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 3 of rule TEXTTEXT not tested\n");
if ((cover_testing) && (!SEEN_RESTOFTEXTTEXT_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule RESTOFTEXTTEXT not tested\n");
if ((cover_testing) && (!SEEN_RESTOFTEXTTEXT_2)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 2 of rule RESTOFTEXTTEXT not tested\n");
if ((cover_testing) && (!SEEN_TYPEeqA_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule TYPEeqA not tested\n");
if ((cover_testing) && (!SEEN_TYPEeqARR_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule TYPEeqARR not tested\n");
if ((cover_testing) && (!SEEN_TYPEeqB_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule TYPEeqB not tested\n");
if ((cover_testing) && (!SEEN_TYPENOTARITH_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule TYPENOTARITH not tested\n");
if ((cover_testing) && (!SEEN_TYPENOTBOOLEAN_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule TYPENOTBOOLEAN not tested\n");
if ((cover_testing) && (!SEEN_UPATSEP_1)) LogWarning(ProgName, "algolps9.e", 0, "Alternative 1 of rule UPATSEP not tested\n");
}
#ifndef NO_MAIN  /* Get this by default */

int main(int local_argc, char **local_argv)
{
YYTYPE *root; /* Or could be a single YYTYPE, plus an explicit makeparsetree() */
int i;
   argv = local_argv; argc = local_argc;
   /* Should open file yyin here; do it in first entry routine *only* if
   it recognises the null phrase "" */
   if (main_parse(&root)) {
      dump_parsetree(root);
      execute_parsetree(root);
   } else {
      fprintf(stderr, "Parse fail\n");
      for (i = 0; i < 239; i++) if (savepat[i].r != NULL) free(savepat[i].r);
      exit(EXIT_FAILURE);
   }
   /*free_parsetree(root);*/ /*free(root);*/
   cover_test();
   exit(EXIT_SUCCESS);
}
#endif /* not NO_MAIN */

static void _regexp_freeall(void) {
int i;
   for (i = 0; i < 239; i++) if (savepat[i].r != NULL) free(savepat[i].r);
}