Logo Search packages:      
Sourcecode: eli version File versions

visitprocs.c

#include "HEAD.h"
#include "err.h"
#include "node.h"
#include "visitprocs.h"
#include "attrpredef.h"

#include "visitmap.h"

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

#ifndef _VisitVarDecl
#define _VisitVarDecl()
#endif

#ifndef _VisitEntry
#define _VisitEntry()
#endif

#ifndef _VisitExit
#define _VisitExit()
#endif


#if defined(__STDC__) || defined(__cplusplus)
#define _CALL_VS_(args) (void (*)args)
#else
#define _CALL_VS_(args) 
#endif
DefTableKey* _IG_incl38;
DefTableKey* _IG_incl37;
bool* _IG_incl36;
Environment* _IG_incl34;
DefTableKey* _IG_incl33;
DefTableKey* _IG_incl32;
bool* _IG_incl31;
DefTableKey* _IG_incl30;
DefTableKey* _IG_incl24;
int* _IG_incl17;
TList* _IG_incl19;
DefTableKey* _IG_incl20;
bool* _IG_incl16;
Environment* _IG_incl15;
int* _IG_incl14;
int* _IG_incl13;
TList* _IG_incl12;
int* _IG_incl8;
int* _IG_incl4;
DefTableKey* _IG_incl7;
int* _IG_incl9;
Environment* _IG_incl2;
Environment* _IG_incl0;
Environment _AVAGEnv;
SEQDef _AVAGAllDefs;
SEQAttribution _AVAGAllAttrib;
int _AVSymClassTreeOrClass;
TList _AVSymSpecIdcSymKeys_post;
int _AVAttrDefsOpt_const22;
DefTableKey _AVSymSpecIdauxKey_RuleAttr_211;
Expr _AVAttrExpr;
DefTableKey _AVLocAttrKey;
bool _AVLocAttrIsChain;
DefTableKey _AVLocAttrAttrNameKey;
SEQSymbattr _AVRemoteAttrscSymbattrs_post;
bool _AVAttrCompIsBottomUp;
int _AVAttrNamecClass_post;
int _AVAttrNamecKind_post;
int _AVAttrNamecTypeDid_post;
int _AVAttrNamecClass_pre;
int _AVAttrNamecKind_pre;
int _AVAttrNamecTypeDid_pre;
Expr _AVExpressionExpr;
int _AVParamsOptOldBottomUp;
SEQExpr _AVParamsOptExprs;
SEQExpr _AVShieldSymscShieldSyms_post;
int _AVAltsTermCnt_post;
int _AVAltsSymbCnt_post;
TList _AVSyntUnitsProduction;
int _AVSyntUnitTermCnt_pre;

#if defined(__STDC__) || defined(__cplusplus)
void LIGA_ATTREVAL (NODEPTR _currn)
#else
void LIGA_ATTREVAL (_currn) NODEPTR _currn;
#endif
{(*(VS1MAP[_currn->_prod])) ((NODEPTR)_currn);}
/*SPC(0)*/

#if defined(__STDC__) || defined(__cplusplus)
void _VS0Empty(NODEPTR _currn)
#else
void _VS0Empty(_currn) NODEPTR _currn;
#endif
{ _VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_000(_TPPrule_000 _currn)
#else
void _VS1rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_000(_TPPrule_000 _currn)
#else
void _VS2rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_000(_TPPrule_000 _currn)
#else
void _VS3rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_000(_TPPrule_000 _currn)
#else
void _VS4rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_000(_TPPrule_000 _currn)
#else
void _VS5rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_000(_TPPrule_000 _currn)
#else
void _VS6rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS6MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS6MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS7rule_000(_TPPrule_000 _currn)
#else
void _VS7rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS7MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS7MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS8rule_000(_TPPrule_000 _currn)
#else
void _VS8rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS8MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS8MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS9rule_000(_TPPrule_000 _currn)
#else
void _VS9rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS9MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS9MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS10rule_000(_TPPrule_000 _currn)
#else
void _VS10rule_000(_currn )
_TPPrule_000 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS10MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS10MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_002(_TPPrule_002 _currn)
#else
void _VS3rule_002(_currn )
_TPPrule_002 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS10rule_002(_TPPrule_002 _currn)
#else
void _VS10rule_002(_currn )
_TPPrule_002 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_005(_TPPrule_005 _currn)
#else
void _VS3rule_005(_currn )
_TPPrule_005 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_005(_TPPrule_005 _currn)
#else
void _VS4rule_005(_currn )
_TPPrule_005 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_005(_TPPrule_005 _currn)
#else
void _VS5rule_005(_currn )
_TPPrule_005 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_005(_TPPrule_005 _currn)
#else
void _VS6rule_005(_currn )
_TPPrule_005 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS6MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS7rule_005(_TPPrule_005 _currn)
#else
void _VS7rule_005(_currn )
_TPPrule_005 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS7MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS8rule_005(_TPPrule_005 _currn)
#else
void _VS8rule_005(_currn )
_TPPrule_005 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS8MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS9rule_005(_TPPrule_005 _currn)
#else
void _VS9rule_005(_currn )
_TPPrule_005 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS9MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS10rule_005(_TPPrule_005 _currn)
#else
void _VS10rule_005(_currn )
_TPPrule_005 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS10MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_009(_TPPrule_009 _currn)
#else
void _VS1rule_009(_currn )
_TPPrule_009 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAttrDefsOpt_const22=_AVParamsOptOldBottomUp;
/*SPC(1991)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_009(_TPPrule_009 _currn)
#else
void _VS2rule_009(_currn )
_TPPrule_009 _currn;

#endif
{
TList* _IL_incl12;

_VisitVarDecl()
_VisitEntry();
_IL_incl12=_IG_incl12;_IG_incl12= &(_currn->_ATSymKeys);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_IG_incl12=_IL_incl12;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_009(_TPPrule_009 _currn)
#else
void _VS3rule_009(_currn )
_TPPrule_009 _currn;

#endif
{
TList* _IL_incl12;

_VisitVarDecl()
_VisitEntry();
_IL_incl12=_IG_incl12;_IG_incl12= &(_currn->_ATSymKeys);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_IG_incl12=_IL_incl12;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_010(_TPPrule_010 _currn)
#else
void _VS1rule_010(_currn )
_TPPrule_010 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAttrDefsOpt_const22=ZERO();
/*SPC(1995)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_010(_TPPrule_010 _currn)
#else
void _VS2rule_010(_currn )
_TPPrule_010 _currn;

#endif
{
TList* _IL_incl12;

_VisitVarDecl()
_VisitEntry();
_IL_incl12=_IG_incl12;_IG_incl12= &(_currn->_ATSymKeys);
_IG_incl12=_IL_incl12;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_010(_TPPrule_010 _currn)
#else
void _VS3rule_010(_currn )
_TPPrule_010 _currn;

#endif
{
TList* _IL_incl12;

_VisitVarDecl()
_VisitEntry();
_IL_incl12=_IG_incl12;_IG_incl12= &(_currn->_ATSymKeys);
_IG_incl12=_IL_incl12;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_011(_TPPrule_011 _currn)
#else
void _VS1rule_011(_currn )
_TPPrule_011 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVParamsOptOldBottomUp=ARGTOONE(_currn->_desc1->_ATClass);
/*SPC(1999)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_012(_TPPrule_012 _currn)
#else
void _VS1rule_012(_currn )
_TPPrule_012 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVParamsOptOldBottomUp=OR(_AVParamsOptOldBottomUp, ARGTOONE(_currn->_desc2->_ATClass));
/*SPC(2003)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_015(_TPPrule_015 _currn)
#else
void _VS1rule_015(_currn )
_TPPrule_015 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATKey=Declare((* _IG_incl0), _currn->_ATSym, TypeDef, NoEnv, (&( _currn->_AT_pos)));
/*SPC(433)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_015(_TPPrule_015 _currn)
#else
void _VS2rule_015(_currn )
_TPPrule_015 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (EQ(GetDefKind(_currn->_ATKey, MultDef), MultDef)) {
message(ERROR, "Type identifier clashes with other identifier", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(438)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_016(_TPPrule_016 _currn)
#else
void _VS1rule_016(_currn )
_TPPrule_016 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAttrNamecClass_pre=_AVAttrNamecClass_post;
/*SPC(0)*/
_AVAttrNamecKind_pre=_AVAttrNamecKind_post;
/*SPC(0)*/
_AVAttrNamecTypeDid_pre=_AVAttrNamecTypeDid_post;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_017(_TPPrule_017 _currn)
#else
void _VS1rule_017(_currn )
_TPPrule_017 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAttrNamecClass_pre=_AVAttrNamecClass_post;
/*SPC(0)*/
_AVAttrNamecKind_pre=_AVAttrNamecKind_post;
/*SPC(0)*/
_AVAttrNamecTypeDid_pre=_AVAttrNamecTypeDid_post;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_033(_TPPrule_033 _currn)
#else
void _VS1rule_033(_currn )
_TPPrule_033 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATKey=
((_currn->_ATMayDenoteTerm
) ? (DefineIdn((* _IG_incl0), _currn->_ATSym)
) : (Declare((* _IG_incl0), _currn->_ATSym, SymDef, (* _IG_incl2), (&( _currn->_AT_pos)))))
;
/*SPC(487)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_033(_TPPrule_033 _currn)
#else
void _VS2rule_033(_currn )
_TPPrule_033 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (AND(NOT(_currn->_ATMayDenoteTerm), EQ(GetDefKind(_currn->_ATKey, SymDef), MultDef))) {
message(ERROR, "Symbol identifier clashes with other identifier", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(493)*/

if (AND(NOT(_currn->_ATMayDenoteTerm), AND(NOT(IsPreDefSym(_currn->_ATKey)), NOT(OR(GetDefinedSym(_currn->_ATKey, false), GetRealSym(_currn->_ATKey, false)))))) {
message(ERROR, "Symbol does neither occur in syntax nor in symbol attribution", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(500)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_1(_TPPrule_1 _currn)
#else
void _VS1rule_1(_currn )
_TPPrule_1 _currn;

#endif
{
Environment* _IL_incl34;
Environment* _IL_incl15;
Environment* _IL_incl2;
Environment* _IL_incl0;

_VisitVarDecl()
_VisitEntry();
_IL_incl34=_IG_incl34;_IG_incl34= &(_currn->_ATNamedEnv);
_IL_incl15=_IG_incl15;_IG_incl15= &(_currn->_ATAttrEnv);
_IL_incl2=_IG_incl2;_IG_incl2= &(_currn->_ATInitAttrEnv);
_IL_incl0=_IG_incl0;_IG_incl0= &(_currn->_ATInitEnv);
_currn->_ATInitAttrEnv=AttrPreDefs();
/*SPC(352)*/
_currn->_ATInitEnv=EnvPreDefs(_currn->_ATInitAttrEnv);
/*SPC(420)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (EQ(GetRootDid(GramKey, DIDNON), DIDNON)) {
message(ERROR, "No root symbol found", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1237)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATNamedEnv=_currn->_ATInitEnv;
/*SPC(422)*/
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATAttrEnv=_currn->_ATInitAttrEnv;
/*SPC(353)*/
(*(_CALL_VS_((NODEPTR )) (VS6MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAGEnv=_currn->_ATNamedEnv;
/*SPC(427)*/
AllSymbInheritAttrs(_AVAGEnv);
/*SPC(38)*/
(*(_CALL_VS_((NODEPTR )) (VS7MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS8MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS9MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
ChkPragma(_AVAGEnv);
/*SPC(769)*/
_AVAGAllDefs=MakeAllDefs(_AVAGEnv, _currn->_ATAttrEnv);
/*SPC(777)*/
_AVAGAllAttrib=MakeAttributions(_AVAGEnv);
/*SPC(787)*/
WriteResults(_AVAGAllDefs, _AVAGAllAttrib);
/*SPC(789)*/
(*(_CALL_VS_((NODEPTR )) (VS10MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_IG_incl34=_IL_incl34;
_IG_incl15=_IL_incl15;
_IG_incl2=_IL_incl2;
_IG_incl0=_IL_incl0;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_2(_TPPrule_2 _currn)
#else
void _VS1rule_2(_currn )
_TPPrule_2 _currn;

#endif
{
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_currn->_ATTermType=NoKey;
/*SPC(1907)*/
_currn->_ATTreeOrClass=_AVSymClassTreeOrClass;
/*SPC(1245)*/
_currn->_ATHasComps=_AVAttrDefsOpt_const22;
/*SPC(1841)*/
_AVSymSpecIdcSymKeys_post=NullList;
/*SPC(52)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_currn->_desc3->_ATSymKeys=_AVSymSpecIdcSymKeys_post;
/*SPC(53)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_2(_TPPrule_2 _currn)
#else
void _VS2rule_2(_currn )
_TPPrule_2 _currn;

#endif
{
int* _IL_incl8;
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl8=_IG_incl8;_IG_incl8= &(_currn->_ATSymClass);
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
_currn->_ATSymClass=_currn->_desc1->_ATSymClass;
/*SPC(1244)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_IG_incl8=_IL_incl8;
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_3(_TPPrule_3 _currn)
#else
void _VS1rule_3(_currn )
_TPPrule_3 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymSpecIdauxKey_RuleAttr_211=Declare((* _IG_incl0), _currn->_ATTERM_1, SymDef, (* _IG_incl2), (&( _currn->_AT_pos)));
/*SPC(511)*/
_currn->_ATKey=
((IsPreDefSym(_AVSymSpecIdauxKey_RuleAttr_211)
) ? (_AVSymSpecIdauxKey_RuleAttr_211
) : (
(ResetDefinedSym(_AVSymSpecIdauxKey_RuleAttr_211, true), _AVSymSpecIdauxKey_RuleAttr_211)
))
;
/*SPC(515)*/

if (NE((* _IG_incl9), IsTreeOrClassSym)) {

if (NE((* _IG_incl9), GetTreeOrClass(_currn->_ATKey, (* _IG_incl9)))) {
ResetTreeOrClass(_currn->_ATKey, IsTreeAndClassSym);

} else {
ResetTreeOrClass(_currn->_ATKey, (* _IG_incl9));
}
;

} else {
}
;
/*SPC(1278)*/

if (NE(NoKey, (* _IG_incl7))) {

if (EQ(NoKey, GetTermType(_currn->_ATKey, NoKey))) {
ResetTermType(_currn->_ATKey, (* _IG_incl7));

} else {

if (NE(GetTermType(_currn->_ATKey, NoKey), (* _IG_incl7))) {
ResetTermType(_currn->_ATKey, _currn->_ATKey);

} else {
}
;
}
;

} else {
}
;
/*SPC(1818)*/

if (AND((* _IG_incl4), EQ(GetSymClass(_currn->_ATKey, SYMBNONT), SYMBTERM))) {
ResetOldTerm(_currn->_ATKey, 1);
message(WARNING, "Old style TERM specification", 0, (&( _currn->_AT_pos)));
;

} else {
}
;
/*SPC(1851)*/
_AVSymSpecIdcSymKeys_post=ConsList(_currn->_ATKey, _AVSymSpecIdcSymKeys_post);
/*SPC(57)*/

if (IsPreDefSym(_currn->_ATKey)) {
message(ERROR, "Predefined identifier not allowed in symbol specification", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(519)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_3(_TPPrule_3 _currn)
#else
void _VS2rule_3(_currn )
_TPPrule_3 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (EQ(_currn->_ATKey, GetTermType(_currn->_ATKey, NoKey))) {
message(ERROR, "Conflicting TERM type specification", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1827)*/

if (AND(NE((* _IG_incl8), SYMBANY), NE((* _IG_incl8), GetSymClass(_currn->_ATKey, (* _IG_incl8))))) {
message(ERROR, "Symbol class is in conflict with grammar", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1295)*/

if (AND(EQ(GetTreeOrClass(_currn->_ATKey, IsClassSym), IsTreeAndClassSym), NE((* _IG_incl9), IsTreeOrClassSym))) {
message(WARNING, "Can not be both a CLASS and a TREE symbol", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1288)*/

if (EQ(GetDefKind(_currn->_ATKey, MultDef), MultDef)) {
message(ERROR, "Symbol identifier clashes with other identifier", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(523)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_4(_TPPrule_4 _currn)
#else
void _VS1rule_4(_currn )
_TPPrule_4 _currn;

#endif
{
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATTermType=NoKey;
/*SPC(1912)*/
_currn->_ATTreeOrClass=_AVSymClassTreeOrClass;
/*SPC(1250)*/
_currn->_ATHasComps=1;
/*SPC(1847)*/
_AVSymSpecIdcSymKeys_post=NullList;
/*SPC(61)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc4->_prod])))((NODEPTR) _currn->_desc4);
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_4(_TPPrule_4 _currn)
#else
void _VS2rule_4(_currn )
_TPPrule_4 _currn;

#endif
{
DefTableKey* _IL_incl30;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl30=_IG_incl30;_IG_incl30= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
_currn->_ATKey=_currn->_desc2->_ATKey;
/*SPC(465)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_currn->_ATLhsSymKey=_currn->_ATKey;
/*SPC(1165)*/
_currn->_ATIsSymComp=true;
/*SPC(1166)*/
_currn->_ATProduction=NullList;
/*SPC(1345)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc4->_prod])))((NODEPTR) _currn->_desc4);
_IG_incl30=_IL_incl30;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_4(_TPPrule_4 _currn)
#else
void _VS3rule_4(_currn )
_TPPrule_4 _currn;

#endif
{
DefTableKey* _IL_incl30;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl30=_IG_incl30;_IG_incl30= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc4->_prod])))((NODEPTR) _currn->_desc4);
_IG_incl30=_IL_incl30;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_4(_TPPrule_4 _currn)
#else
void _VS4rule_4(_currn )
_TPPrule_4 _currn;

#endif
{
DefTableKey* _IL_incl30;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl30=_IG_incl30;_IG_incl30= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc4->_prod])))((NODEPTR) _currn->_desc4);
_IG_incl30=_IL_incl30;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_4(_TPPrule_4 _currn)
#else
void _VS5rule_4(_currn )
_TPPrule_4 _currn;

#endif
{
DefTableKey* _IL_incl30;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;
int* _IL_incl8;
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl30=_IG_incl30;_IG_incl30= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
_IL_incl8=_IG_incl8;_IG_incl8= &(_currn->_ATSymClass);
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
ChnSymbCompChk(_currn->_ATKey);
/*SPC(1168)*/
_currn->_ATSymClass=_currn->_desc1->_ATSymClass;
/*SPC(1249)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc4->_prod])))((NODEPTR) _currn->_desc4);
_IG_incl30=_IL_incl30;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;
_IG_incl8=_IL_incl8;
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_5(_TPPrule_5 _currn)
#else
void _VS1rule_5(_currn )
_TPPrule_5 _currn;

#endif
{
int* _IL_incl14;

_VisitVarDecl()
_VisitEntry();
_IL_incl14=_IG_incl14;_IG_incl14= &(_currn->_ATClass);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_currn->_ATClass=_AVAttrDefsOpt_const22;
/*SPC(66)*/
_IG_incl14=_IL_incl14;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_5(_TPPrule_5 _currn)
#else
void _VS2rule_5(_currn )
_TPPrule_5 _currn;

#endif
{
int* _IL_incl14;
int* _IL_incl13;

_VisitVarDecl()
_VisitEntry();
_IL_incl14=_IG_incl14;_IG_incl14= &(_currn->_ATClass);
_IL_incl13=_IG_incl13;_IG_incl13= &(_currn->_ATTypeDid);
_currn->_ATTypeDid=GetDid(_currn->_desc2->_ATKey, DIDNON);
/*SPC(65)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_IG_incl14=_IL_incl14;
_IG_incl13=_IL_incl13;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_5(_TPPrule_5 _currn)
#else
void _VS3rule_5(_currn )
_TPPrule_5 _currn;

#endif
{
int* _IL_incl14;
int* _IL_incl13;

_VisitVarDecl()
_VisitEntry();
_IL_incl14=_IG_incl14;_IG_incl14= &(_currn->_ATClass);
_IL_incl13=_IG_incl13;_IG_incl13= &(_currn->_ATTypeDid);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_IG_incl14=_IL_incl14;
_IG_incl13=_IL_incl13;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_6(_TPPrule_6 _currn)
#else
void _VS1rule_6(_currn )
_TPPrule_6 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
MultDeclareExplAttr((* _IG_incl12), _currn->_ATTERM_1, (* _IG_incl13), (* _IG_incl14), (&( _currn->_AT_pos)));
/*SPC(70)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_7(_TPPrule_7 _currn)
#else
void _VS1rule_7(_currn )
_TPPrule_7 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATMayDenoteTerm=false;
/*SPC(1918)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (AND(NOT(IsPreDefSym(_currn->_desc1->_ATKey)), EQ(GetSymClass(_currn->_desc1->_ATKey, SYMBNONT), SYMBTERM))) {
ResetOldTerm(_currn->_desc1->_ATKey, 1);
message(WARNING, "Old style TERM attribute", 0, (&( _currn->_AT_pos)));
;

} else {
}
;
/*SPC(1877)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_7(_TPPrule_7 _currn)
#else
void _VS2rule_7(_currn )
_TPPrule_7 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATAttrSymKey=_currn->_desc1->_ATKey;
/*SPC(126)*/
_AVSymSpecIdauxKey_RuleAttr_211=KeyInEnv((* _IG_incl15), _currn->_ATTERM_1);
/*SPC(84)*/
_currn->_ATIsChain=EQ(isChainAttr, GetAttrKind(_AVSymSpecIdauxKey_RuleAttr_211, isSymbAttr));
/*SPC(86)*/
_currn->_ATKey=
((_currn->_ATIsChain
) ? (_AVSymSpecIdauxKey_RuleAttr_211
) : (
(((* _IG_incl16)
) ? (DeclareImplAttr((* _IG_incl20), _currn->_ATTERM_1, 
((EQ(_currn->_ATAttrSymKey, SYNTKey)
) ? (ATCLSYNT
) : (
((EQ(_currn->_ATAttrSymKey, INHKey)
) ? (ATCLINH
) : (ATCLUNKN))
))
, (&( _currn->_AT_pos)))
) : (DeclareImplAttr(_currn->_ATAttrSymKey, _currn->_ATTERM_1, ATCLUNKN, (&( _currn->_AT_pos)))))
))
;
/*SPC(128)*/

if (EQ(_currn->_ATAttrSymKey, HEADKey)) {
message(ERROR, "HEAD of chain may only be defined", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(148)*/

if (AND(NOT(_currn->_ATIsChain), OR(EQ(_currn->_ATAttrSymKey, HEADKey), EQ(_currn->_ATAttrSymKey, TAILKey)))) {
message(ERROR, "HEAD or TAIL must access a CHAIN attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(114)*/

if (AND(_currn->_ATIsChain, EQ(GetSymClass(_currn->_ATAttrSymKey, SYMBNONT), SYMBTERM))) {
message(ERROR, "CHAIN can not go through a terminal", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(106)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_7(_TPPrule_7 _currn)
#else
void _VS3rule_7(_currn )
_TPPrule_7 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (AND(EQ(_currn->_ATTERM_1, GenAttrId), AND(NOT((* _IG_incl16)), NOT(IsGenPos((* _IG_incl19), _currn->_desc1->_ATProdPos))))) {
message(ERROR, "GENTREE may only be used for computed tree symbols", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(152)*/
_AVSymClassTreeOrClass=GetDid(_currn->_ATKey, DIDNON);
/*SPC(820)*/
_AVAttrExpr=
((EQ(isChainAttr, GetAttrKind(_currn->_ATKey, isSymbAttr))
) ? (ChainaccToExpr(MkChainacc(_currn->_desc1->_ATProdPos, _AVSymClassTreeOrClass, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)))
) : (AttraccToExpr(MkAttracc(_currn->_desc1->_ATProdPos, 
(((* _IG_incl16)
) ? (_currn->_ATTERM_1
) : (_AVSymClassTreeOrClass))
, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)))))
;
/*SPC(822)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_7(_TPPrule_7 _currn)
#else
void _VS4rule_7(_currn )
_TPPrule_7 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (AND(AND(OR(OR(OR(EQ(_currn->_ATAttrSymKey, THISKey), EQ(_currn->_ATAttrSymKey, SYNTKey)), EQ(_currn->_ATAttrSymKey, INHKey)), EQ(_currn->_ATAttrSymKey, TAILKey)), _currn->_ATIsChain), AND((* _IG_incl16), (* _IG_incl17)))) {
message(ERROR, "CHAIN access is not allowed in upper symbol computation", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(577)*/

if (AND(AND(EQ(_currn->_ATAttrSymKey, SYNTKey), _currn->_ATIsChain), AND((* _IG_incl16), NOT((* _IG_incl17))))) {
message(ERROR, "used SYNT CHAIN access is not allowed in lower symbol computation", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(588)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_8(_TPPrule_8 _currn)
#else
void _VS1rule_8(_currn )
_TPPrule_8 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATMayDenoteTerm=false;
/*SPC(1918)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (AND(NOT(IsPreDefSym(_currn->_desc1->_ATKey)), EQ(GetSymClass(_currn->_desc1->_ATKey, SYMBNONT), SYMBTERM))) {
ResetOldTerm(_currn->_desc1->_ATKey, 1);
message(WARNING, "Old style TERM attribute", 0, (&( _currn->_AT_pos)));
;

} else {
}
;
/*SPC(1862)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_8(_TPPrule_8 _currn)
#else
void _VS2rule_8(_currn )
_TPPrule_8 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (AND(EQ(_currn->_ATTERM_1, GenAttrId), AND(NOT((* _IG_incl16)), NOT(IsGenPos((* _IG_incl19), _currn->_desc1->_ATProdPos))))) {
message(ERROR, "GENTREE may only be used for computed tree symbols", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(194)*/
_currn->_ATAttrSymKey=_currn->_desc1->_ATKey;
/*SPC(162)*/
_AVSymSpecIdauxKey_RuleAttr_211=KeyInEnv((* _IG_incl15), _currn->_ATTERM_1);
/*SPC(84)*/
_currn->_ATIsChain=EQ(isChainAttr, GetAttrKind(_AVSymSpecIdauxKey_RuleAttr_211, isSymbAttr));
/*SPC(86)*/
_currn->_ATKey=
((_currn->_ATIsChain
) ? (_AVSymSpecIdauxKey_RuleAttr_211
) : (
(((* _IG_incl16)
) ? (DeclareImplAttr((* _IG_incl20), _currn->_ATTERM_1, 
((EQ(_currn->_ATAttrSymKey, SYNTKey)
) ? (ATCLSYNT
) : (
((EQ(_currn->_ATAttrSymKey, INHKey)
) ? (ATCLINH
) : (ATCLUNKN))
))
, (&( _currn->_AT_pos)))
) : (DeclareImplAttr(_currn->_ATAttrSymKey, _currn->_ATTERM_1, 
((EQ(0, _currn->_desc1->_ATProdPos)
) ? (ATCLSYNT
) : (ATCLINH))
, (&( _currn->_AT_pos)))))
))
;
/*SPC(164)*/

if (EQ(_currn->_ATAttrSymKey, TAILKey)) {
message(ERROR, "TAIL of chain must not be defined", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(184)*/

if (AND((* _IG_incl16), AND(_currn->_ATIsChain, EQ(_currn->_ATAttrSymKey, INHKey)))) {
message(ERROR, "CHAIN definition not allowed in upper symbol computation", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(188)*/

if (AND(NOT(_currn->_ATIsChain), OR(EQ(_currn->_ATAttrSymKey, HEADKey), EQ(_currn->_ATAttrSymKey, TAILKey)))) {
message(ERROR, "HEAD or TAIL must access a CHAIN attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(114)*/

if (AND(_currn->_ATIsChain, EQ(GetSymClass(_currn->_ATAttrSymKey, SYMBNONT), SYMBTERM))) {
message(ERROR, "CHAIN can not go through a terminal", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(106)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_8(_TPPrule_8 _currn,Expr* _AS0Expr)
#else
void _VS3rule_8(_currn ,_AS0Expr)
_TPPrule_8 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (AND(EQ(ATCLUNKN, GetAttrClass(_currn->_ATKey, ATCLUNKN)), AND(NOT(_currn->_ATIsChain), EQ(_currn->_ATAttrSymKey, THISKey)))) {
message(ERROR, "SYNT or INH has to be specified for this attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(626)*/

if (AND((* _IG_incl16), AND(NOT(_currn->_ATIsChain), NOT(_AVSymClassTreeOrClass)))) {
NewSymCompNo(_currn->_ATKey);

} else {
}
;
/*SPC(309)*/
_AVSymClassTreeOrClass=GetDid(_currn->_ATKey, DIDNON);
/*SPC(841)*/
(* _AS0Expr)=
((EQ(isChainAttr, GetAttrKind(_currn->_ATKey, isSymbAttr))
) ? (ChainaccToExpr(MkChainacc(_currn->_desc1->_ATProdPos, _AVSymClassTreeOrClass, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)))
) : (AttraccToExpr(MkAttracc(_currn->_desc1->_ATProdPos, 
(((* _IG_incl16)
) ? (_currn->_ATTERM_1
) : (_AVSymClassTreeOrClass))
, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)))))
;
/*SPC(843)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_8(_TPPrule_8 _currn,Expr* _AS0Expr)
#else
void _VS4rule_8(_currn ,_AS0Expr)
_TPPrule_8 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (AND((* _IG_incl16), EQ(MultipleSymComp, GetAttrSymCompNo(_currn->_ATKey, 0)))) {
message(ERROR, "Multiple symbol computations for this attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(315)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_9(_TPPrule_9 _currn)
#else
void _VS1rule_9(_currn )
_TPPrule_9 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymSpecIdauxKey_RuleAttr_211=(* _IG_incl24);
/*SPC(207)*/
_AVLocAttrKey=DeclareLocAttr(_AVSymSpecIdauxKey_RuleAttr_211, _currn->_ATTERM_1, GetDid((* _IG_incl20), DIDNON), (* _IG_incl15), (&( _currn->_AT_pos)));
/*SPC(209)*/
_currn->_ATExpr=AttraccToExpr(MkAttracc(0, GetDid(_AVLocAttrKey, DIDNON), ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)));
/*SPC(835)*/
_AVLocAttrAttrNameKey=KeyInEnv((* _IG_incl15), _currn->_ATTERM_1);
/*SPC(84)*/
_AVLocAttrIsChain=EQ(isChainAttr, GetAttrKind(_AVLocAttrAttrNameKey, isSymbAttr));
/*SPC(86)*/

if ((* _IG_incl16)) {
message(ERROR, "No rule attribute in symbol computations", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(217)*/

if (EQ(GenAttrId, _currn->_ATTERM_1)) {
message(ERROR, "Attribute name GENTREE not allowed here", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(90)*/

if (_AVLocAttrIsChain) {
message(ERROR, "CHAIN attributes not allowed as remote or rule attributes", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(98)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_10(_TPPrule_10 _currn)
#else
void _VS1rule_10(_currn )
_TPPrule_10 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (EQ(GenAttrId, _currn->_ATTERM_1)) {
message(ERROR, "Predefined attribute name GENTREE not allowed as rule attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(241)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_10(_TPPrule_10 _currn)
#else
void _VS2rule_10(_currn )
_TPPrule_10 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if ((* _IG_incl16)) {
message(ERROR, "No rule attribute in symbol computations", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(233)*/
_currn->_ATAttrSymKey=(* _IG_incl24);
/*SPC(223)*/
_AVSymSpecIdauxKey_RuleAttr_211=KeyInEnv((* _IG_incl15), _currn->_ATTERM_1);
/*SPC(84)*/
_currn->_ATIsChain=EQ(isChainAttr, GetAttrKind(_AVSymSpecIdauxKey_RuleAttr_211, isSymbAttr));
/*SPC(86)*/
_currn->_ATKey=DeclareLocAttr(_currn->_ATAttrSymKey, _currn->_ATTERM_1, GetDid((* _IG_incl20), DIDNON), (* _IG_incl15), (&( _currn->_AT_pos)));
/*SPC(225)*/

if (_currn->_ATIsChain) {
message(ERROR, "CHAIN attribute not allowed as rule attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(237)*/

if (AND(NOT(_currn->_ATIsChain), OR(EQ(_currn->_ATAttrSymKey, HEADKey), EQ(_currn->_ATAttrSymKey, TAILKey)))) {
message(ERROR, "HEAD or TAIL must access a CHAIN attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(114)*/

if (AND(_currn->_ATIsChain, EQ(GetSymClass(_currn->_ATAttrSymKey, SYMBNONT), SYMBTERM))) {
message(ERROR, "CHAIN can not go through a terminal", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(106)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_10(_TPPrule_10 _currn,Expr* _AS0Expr)
#else
void _VS3rule_10(_currn ,_AS0Expr)
_TPPrule_10 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (AND(EQ(ATCLUNKN, GetAttrClass(_currn->_ATKey, ATCLUNKN)), AND(NOT(_currn->_ATIsChain), EQ(_currn->_ATAttrSymKey, THISKey)))) {
message(ERROR, "SYNT or INH has to be specified for this attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(626)*/
(* _AS0Expr)=AttraccToExpr(MkAttracc(0, GetDid(_currn->_ATKey, DIDNON), ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)));
/*SPC(856)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_10(_TPPrule_10 _currn,Expr* _AS0Expr)
#else
void _VS4rule_10(_currn ,_AS0Expr)
_TPPrule_10 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_11(_TPPrule_11 _currn)
#else
void _VS1rule_11(_currn )
_TPPrule_11 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATMayDenoteTerm=false;
/*SPC(1919)*/

if (EQ(GenAttrId, _currn->_ATTERM_1)) {
message(ERROR, "Attribute name GENTREE not allowed here", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(90)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (AND(NOT(IsPreDefSym(_currn->_desc1->_ATKey)), EQ(GetSymClass(_currn->_desc1->_ATKey, SYMBNONT), SYMBTERM))) {
ResetOldTerm(_currn->_desc1->_ATKey, 1);
message(WARNING, "Old style TERM attribute", 0, (&( _currn->_AT_pos)));
;

} else {
}
;
/*SPC(1888)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_11(_TPPrule_11 _currn)
#else
void _VS2rule_11(_currn )
_TPPrule_11 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymSpecIdauxKey_RuleAttr_211=_currn->_desc1->_ATKey;
/*SPC(250)*/
_AVLocAttrAttrNameKey=KeyInEnv((* _IG_incl15), _currn->_ATTERM_1);
/*SPC(84)*/
_AVLocAttrIsChain=EQ(isChainAttr, GetAttrKind(_AVLocAttrAttrNameKey, isSymbAttr));
/*SPC(86)*/
_AVLocAttrKey=
((_AVLocAttrIsChain
) ? (_AVLocAttrAttrNameKey
) : (DeclareImplAttr(_AVSymSpecIdauxKey_RuleAttr_211, _currn->_ATTERM_1, ATCLUNKN, (&( _currn->_AT_pos)))))
;
/*SPC(252)*/

if (IsPreDefSym(_AVSymSpecIdauxKey_RuleAttr_211)) {
message(ERROR, "Predefined identifier not allowed in remote attribute access", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(259)*/

if (_AVLocAttrIsChain) {
message(ERROR, "CHAIN attributes not allowed as remote or rule attributes", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(98)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_11(_TPPrule_11 _currn)
#else
void _VS3rule_11(_currn )
_TPPrule_11 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVRemoteAttrscSymbattrs_post=MapToRealSymbattrs(_currn->_desc1->_ATKey, _currn->_ATTERM_1, _AVRemoteAttrscSymbattrs_post, (&( _currn->_AT_pos)));
/*SPC(1060)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_11(_TPPrule_11 _currn)
#else
void _VS4rule_11(_currn )
_TPPrule_11 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_12(_TPPrule_12 _currn)
#else
void _VS1rule_12(_currn )
_TPPrule_12 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATMayDenoteTerm=_currn->_ATMayDenoteTerm;
/*SPC(1456)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATKey=_currn->_desc1->_ATKey;
/*SPC(268)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_12(_TPPrule_12 _currn)
#else
void _VS2rule_12(_currn )
_TPPrule_12 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=_currn->_ATMayDenoteTerm;
/*SPC(1457)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

if (AND(IsPreDefSym(_currn->_desc1->_ATKey), NE(_currn->_desc2->_ATval, NoIndex))) {
message(ERROR, "May not be indexed", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1517)*/
_currn->_ATIsCIdent=AND(_currn->_ATMayDenoteTerm, OR((* _IG_incl16), NOT(IsInProd(_currn->_desc1->_ATKey, (* _IG_incl19)))));
/*SPC(1460)*/
_currn->_ATSym=_currn->_desc1->_ATSym;
/*SPC(1459)*/
_currn->_ATProdPos=
((_currn->_ATIsCIdent
) ? (0
) : (
(((* _IG_incl16)
) ? (
((EQ(HEADKey, _currn->_desc1->_ATKey)
) ? (HEADCode
) : (
((EQ(TAILKey, _currn->_desc1->_ATKey)
) ? (TAILCode
) : (0))
))

) : (
((EQ(HEADKey, _currn->_desc1->_ATKey)
) ? (GetHEADpos((* _IG_incl20), 0)
) : (
((EQ(TAILKey, _currn->_desc1->_ATKey)
) ? (GetTAILpos((* _IG_incl20), 0)
) : (
((AND(EQ(GetDefKind(_currn->_desc1->_ATKey, MultDef), SymDef), NOT(IsPreDefSym(_currn->_desc1->_ATKey)))
) ? (FindSymPos(_currn->_desc1->_ATKey, _currn->_desc2->_ATval, (* _IG_incl19), (&( _currn->_AT_pos)))
) : (0))
))
))
))
))
;
/*SPC(1467)*/

if (AND(NOT(_currn->_ATIsCIdent), AND((* _IG_incl16), AND(EQ(GetDefKind(_currn->_desc1->_ATKey, MultDef), SymDef), NOT(IsPreDefSym(_currn->_desc1->_ATKey)))))) {
message(ERROR, "Not allowed in symbol computation.", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1488)*/

if (AND(NOT((* _IG_incl16)), AND(NOT(_currn->_ATIsCIdent), AND(IsPreDefSym(_currn->_desc1->_ATKey), AND(NE(HEADKey, _currn->_desc1->_ATKey), NE(TAILKey, _currn->_desc1->_ATKey)))))) {
message(ERROR, "Not allowed in rule computation", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1496)*/

if (AND(OR(EQ(HEADKey, _currn->_desc1->_ATKey), EQ(TAILKey, _currn->_desc1->_ATKey)), EQ(0, _currn->_ATProdPos))) {
message(ERROR, "HEAD or TAIL does not refer to a nonterminal in the production", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1511)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_12(_TPPrule_12 _currn)
#else
void _VS3rule_12(_currn )
_TPPrule_12 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (AND(NOT((* _IG_incl16)), AND(AND(_currn->_ATMayDenoteTerm, NOT(_currn->_ATIsCIdent)), AND(EQ(GetDefKind(_currn->_desc1->_ATKey, MultDef), SymDef), NE(GetSymClass(_currn->_desc1->_ATKey, SYMBNONT), SYMBTERM))))) {
message(ERROR, "Must denote terminal symbol", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1503)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_13(_TPPrule_13 _currn)
#else
void _VS1rule_13(_currn )
_TPPrule_13 _currn;

#endif
{
int _AS2_const24;
Expr _AS2Expr;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_13(_TPPrule_13 _currn)
#else
void _VS2rule_13(_currn )
_TPPrule_13 _currn;

#endif
{
int _AS2_const24;
Expr _AS2Expr;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR ,int*)) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2,(&( _AS2_const24)));
_AVSymClassTreeOrClass=_AS2_const24;
/*SPC(597)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_13(_TPPrule_13 _currn)
#else
void _VS3rule_13(_currn )
_TPPrule_13 _currn;

#endif
{
int _AS2_const24;
Expr _AS2Expr;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*)) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2,(&( _AS2_const24)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_13(_TPPrule_13 _currn)
#else
void _VS4rule_13(_currn )
_TPPrule_13 _currn;

#endif
{
int _AS2_const24;
Expr _AS2Expr;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=0;
/*SPC(716)*/
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2,(&( _AS2Expr)),(&( _AS2_const24)));
_AVSymSpecIdauxKey_RuleAttr_211=_currn->_desc1->_ATKey;
/*SPC(273)*/
UpdateAttrib((* _IG_incl20), CallToAttrrule(MkCall(ASSIGNFCT, AppFrontSEQExpr(_AS1Expr, creatSEQExpr(
((_AVAttrCompIsBottomUp
) ? (CallToExpr(MarkBottomUp(_AS2Expr, _currn->_AT_line, _currn->_AT_col))
) : (_AS2Expr))
)), _currn->_AT_line, _currn->_AT_col)), NE(ATCLINH, GetAttrClass(_currn->_desc1->_ATKey, ATCLUNKN)));
/*SPC(598)*/
_currn->_ATIsUpper=EQ(ATCLINH, GetAttrClass(_AVSymSpecIdauxKey_RuleAttr_211, ATCLUNKN));
/*SPC(571)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_13(_TPPrule_13 _currn)
#else
void _VS5rule_13(_currn )
_TPPrule_13 _currn;

#endif
{
int _AS2_const24;
Expr _AS2Expr;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2,(&( _AS2Expr)),(&( _AS2_const24)));
_AVLocAttrIsChain=_currn->_desc1->_ATIsChain;
/*SPC(272)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_14(_TPPrule_14 _currn)
#else
void _VS1rule_14(_currn )
_TPPrule_14 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_14(_TPPrule_14 _currn)
#else
void _VS2rule_14(_currn )
_TPPrule_14 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_14(_TPPrule_14 _currn)
#else
void _VS3rule_14(_currn )
_TPPrule_14 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_14(_TPPrule_14 _currn)
#else
void _VS4rule_14(_currn )
_TPPrule_14 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();

if (_AVAttrCompIsBottomUp) {
message(ERROR, "An iteration may not be marked BOTTOMUP", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(649)*/
_AVSymClassTreeOrClass=0;
/*SPC(716)*/
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVSymSpecIdauxKey_RuleAttr_211=_currn->_desc1->_ATKey;
/*SPC(278)*/
UpdateAttrib((* _IG_incl20), CallToAttrrule(MkCall(ASSIGNFCT, AppFrontSEQExpr(_AS1Expr, creatSEQExpr(_AVAttrExpr)), ((_currn->_AT_pos).line), ((_currn->_AT_pos).col))), NE(ATCLINH, GetAttrClass(_currn->_desc1->_ATKey, ATCLUNKN)));
/*SPC(639)*/
_currn->_ATIsUpper=EQ(ATCLINH, GetAttrClass(_AVSymSpecIdauxKey_RuleAttr_211, ATCLUNKN));
/*SPC(571)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_14(_TPPrule_14 _currn)
#else
void _VS5rule_14(_currn )
_TPPrule_14 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVLocAttrIsChain=_currn->_desc1->_ATIsChain;
/*SPC(277)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_15(_TPPrule_15 _currn)
#else
void _VS1rule_15(_currn )
_TPPrule_15 _currn;

#endif
{
int _AS3_const24;
Expr _AS3Expr;
Expr _AS2Expr;
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_15(_TPPrule_15 _currn)
#else
void _VS2rule_15(_currn )
_TPPrule_15 _currn;

#endif
{
int _AS3_const24;
Expr _AS3Expr;
Expr _AS2Expr;
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*)) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1_const24)));
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

if (_currn->_desc2->_ATIsChain) {
message(ERROR, "Iteration on CHAIN attributes not allowed", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(283)*/
(*(_CALL_VS_((NODEPTR ,int*)) (VS2MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3,(&( _AS3_const24)));
_AVSymClassTreeOrClass=OR(_AS1_const24, _AS3_const24);
/*SPC(718)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_15(_TPPrule_15 _currn)
#else
void _VS3rule_15(_currn )
_TPPrule_15 _currn;

#endif
{
int _AS3_const24;
Expr _AS3Expr;
Expr _AS2Expr;
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1_const24)));
(*(_CALL_VS_((NODEPTR ,int*)) (VS3MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3,(&( _AS3_const24)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_15(_TPPrule_15 _currn)
#else
void _VS4rule_15(_currn )
_TPPrule_15 _currn;

#endif
{
int _AS3_const24;
Expr _AS3Expr;
Expr _AS2Expr;
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1_const24)));
_AVSymClassTreeOrClass=1;
/*SPC(721)*/
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2,(&( _AS2Expr)));
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS4MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3,(&( _AS3Expr)),(&( _AS3_const24)));
_AVAttrExpr=FcCallToExpr(MkCall(LOOPFCT, AppFrontSEQExpr(_AS1Expr, AppFrontSEQExpr(_AS2Expr, creatSEQExpr(_AS3Expr))), ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)));
/*SPC(723)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_15(_TPPrule_15 _currn)
#else
void _VS5rule_15(_currn )
_TPPrule_15 _currn;

#endif
{
int _AS3_const24;
Expr _AS3Expr;
Expr _AS2Expr;
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1_const24)));
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2,(&( _AS2Expr)));
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS5MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3,(&( _AS3Expr)),(&( _AS3_const24)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_16(_TPPrule_16 _currn)
#else
void _VS1rule_16(_currn )
_TPPrule_16 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_16(_TPPrule_16 _currn)
#else
void _VS2rule_16(_currn )
_TPPrule_16 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATIsBottomUp=OR(_currn->_desc2->_ATIsBottomUp, _AVSymClassTreeOrClass);
/*SPC(752)*/
_currn->_ATGenDefAttrKey=NoKey;
/*SPC(667)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_16(_TPPrule_16 _currn)
#else
void _VS3rule_16(_currn )
_TPPrule_16 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_16(_TPPrule_16 _currn)
#else
void _VS4rule_16(_currn )
_TPPrule_16 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAttrCompIsBottomUp=_currn->_ATIsBottomUp;
/*SPC(733)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
UpdateAttrib((* _IG_incl20), ChainStartToAttrrule(MkChainStart(GetDid(_AVSymSpecIdauxKey_RuleAttr_211, DIDNON), NoString, NoString, _currn->_AT_line, _currn->_AT_col)), true);
/*SPC(735)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_16(_TPPrule_16 _currn)
#else
void _VS5rule_16(_currn )
_TPPrule_16 _currn;

#endif
{
int* _IL_incl17;

_VisitVarDecl()
_VisitEntry();
_IL_incl17=_IG_incl17;_IG_incl17= &(_currn->_ATIsUpper);
_currn->_ATIsUpper=0;
/*SPC(563)*/
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (NOT(_AVLocAttrIsChain)) {
message(ERROR, "Must be computation of a chain attribute", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(289)*/
_IG_incl17=_IL_incl17;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_17(_TPPrule_17 _currn)
#else
void _VS1rule_17(_currn )
_TPPrule_17 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_AVAttrNamecClass_post=_AVAttrDefsOpt_const22;
/*SPC(358)*/
_AVAttrNamecKind_post=isAttrName;
/*SPC(359)*/
_AVAttrNamecTypeDid_post=GetDid(_currn->_desc2->_ATKey, DIDNON);
/*SPC(357)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_17(_TPPrule_17 _currn)
#else
void _VS2rule_17(_currn )
_TPPrule_17 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_18(_TPPrule_18 _currn)
#else
void _VS1rule_18(_currn )
_TPPrule_18 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVAttrNamecClass_post=ATCLUNKN;
/*SPC(364)*/
_AVAttrNamecKind_post=isChainAttr;
/*SPC(365)*/
_AVAttrNamecTypeDid_post=GetDid(_currn->_desc2->_ATKey, DIDNON);
/*SPC(363)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_18(_TPPrule_18 _currn)
#else
void _VS2rule_18(_currn )
_TPPrule_18 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_19(_TPPrule_19 _currn)
#else
void _VS1rule_19(_currn )
_TPPrule_19 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAttrNamecClass_post=_AVAttrNamecClass_pre;
/*SPC(0)*/
_AVAttrNamecKind_post=_AVAttrNamecKind_pre;
/*SPC(0)*/
_AVAttrNamecTypeDid_post=_AVAttrNamecTypeDid_pre;
/*SPC(0)*/
_AVSymSpecIdauxKey_RuleAttr_211=DeclareAttrName((* _IG_incl2), _currn->_ATTERM_1, _AVAttrNamecKind_pre, _AVAttrNamecTypeDid_pre, _AVAttrNamecClass_pre, (&( _currn->_AT_pos)));
/*SPC(369)*/

if (EQ(GetAttrKind(_AVSymSpecIdauxKey_RuleAttr_211, isAttrName), isMultiAttr)) {
message(ERROR, "Defined both as CHAIN and ATTR", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(374)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_20(_TPPrule_20 _currn)
#else
void _VS1rule_20(_currn )
_TPPrule_20 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymSpecIdauxKey_RuleAttr_211=KeyInEnv((* _IG_incl0), _currn->_ATTERM_1);
/*SPC(380)*/
_AVAttrDefsOpt_const22=GetAttrClass(_AVSymSpecIdauxKey_RuleAttr_211, ATCLUNKN);
/*SPC(381)*/

if (AND(NE(_AVSymSpecIdauxKey_RuleAttr_211, SYNTKey), NE(_AVSymSpecIdauxKey_RuleAttr_211, INHKey))) {
message(ERROR, "Must be SYNT or INH", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(382)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_21(_TPPrule_21 _currn)
#else
void _VS1rule_21(_currn )
_TPPrule_21 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAttrDefsOpt_const22=ATCLUNKN;
/*SPC(390)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_22(_TPPrule_22 _currn)
#else
void _VS1rule_22(_currn )
_TPPrule_22 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATNamedKey=Declare((* _IG_incl0), _currn->_ATTERM_1, RuleDef, NoEnv, (&( _currn->_AT_pos)));
/*SPC(446)*/

if (EQ(GetRuleProd(_currn->_ATNamedKey, NullList), NullList)) {
ResetRuleProd(_currn->_ATNamedKey, _currn->_ATProduction);
LinkRule(_currn->_ATNamedKey);
;

} else {
}
;
/*SPC(1361)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_22(_TPPrule_22 _currn)
#else
void _VS2rule_22(_currn )
_TPPrule_22 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (DifferentProds(_currn->_ATProduction, GetRuleProd(_currn->_ATNamedKey, NullList))) {
message(ERROR, "Same name for different productions", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1368)*/
_currn->_ATKey=_currn->_ATNamedKey;
/*SPC(451)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_22(_TPPrule_22 _currn)
#else
void _VS3rule_22(_currn )
_TPPrule_22 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (EQ(GetDefKind(_currn->_ATKey, MultDef), MultDef)) {
message(ERROR, "Rule identifier clashes with other identifier", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(453)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_23(_TPPrule_23 _currn)
#else
void _VS1rule_23(_currn )
_TPPrule_23 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_23(_TPPrule_23 _currn)
#else
void _VS2rule_23(_currn )
_TPPrule_23 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_23(_TPPrule_23 _currn)
#else
void _VS3rule_23(_currn )
_TPPrule_23 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_23(_TPPrule_23 _currn)
#else
void _VS4rule_23(_currn )
_TPPrule_23 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_currn->_desc1->_ATProduction=_currn->_desc2->_ATProduction;
/*SPC(1350)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_23(_TPPrule_23 _currn)
#else
void _VS5rule_23(_currn )
_TPPrule_23 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
SetHEADTAILpos(_currn->_desc1->_ATKey);
/*SPC(1354)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_23(_TPPrule_23 _currn)
#else
void _VS6rule_23(_currn )
_TPPrule_23 _currn;

#endif
{
DefTableKey* _IL_incl37;
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;

_VisitVarDecl()
_VisitEntry();
_IL_incl37=_IG_incl37;_IG_incl37= &(_currn->_ATKey);
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATLhsSymKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
_currn->_ATKey=_currn->_desc1->_ATKey;
/*SPC(461)*/
_currn->_ATIsSymComp=false;
/*SPC(1180)*/
_currn->_ATProduction=_currn->_desc2->_ATProduction;
/*SPC(1349)*/
_currn->_ATLhsSymKey=_currn->_desc2->_ATLhsSymKey;
/*SPC(1357)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_IG_incl37=_IL_incl37;
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS7rule_23(_TPPrule_23 _currn)
#else
void _VS7rule_23(_currn )
_TPPrule_23 _currn;

#endif
{
DefTableKey* _IL_incl37;
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;

_VisitVarDecl()
_VisitEntry();
_IL_incl37=_IG_incl37;_IG_incl37= &(_currn->_ATKey);
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATLhsSymKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_IG_incl37=_IL_incl37;
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS8rule_23(_TPPrule_23 _currn)
#else
void _VS8rule_23(_currn )
_TPPrule_23 _currn;

#endif
{
DefTableKey* _IL_incl37;
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;

_VisitVarDecl()
_VisitEntry();
_IL_incl37=_IG_incl37;_IG_incl37= &(_currn->_ATKey);
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATLhsSymKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
_currn->_desc2->_ATDoMakeInh=
((GetMakeInh(_currn->_ATKey, true)
) ? (
(ResetMakeInh(_currn->_ATKey, false), true)

) : (false))
;
/*SPC(1181)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_IG_incl37=_IL_incl37;
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS9rule_23(_TPPrule_23 _currn)
#else
void _VS9rule_23(_currn )
_TPPrule_23 _currn;

#endif
{
DefTableKey* _IL_incl37;
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;

_VisitVarDecl()
_VisitEntry();
_IL_incl37=_IG_incl37;_IG_incl37= &(_currn->_ATKey);
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATLhsSymKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_IG_incl37=_IL_incl37;
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS10rule_23(_TPPrule_23 _currn)
#else
void _VS10rule_23(_currn )
_TPPrule_23 _currn;

#endif
{
DefTableKey* _IL_incl37;
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
DefTableKey* _IL_incl24;
TList* _IL_incl19;
DefTableKey* _IL_incl20;
bool* _IL_incl16;

_VisitVarDecl()
_VisitEntry();
_IL_incl37=_IG_incl37;_IG_incl37= &(_currn->_ATKey);
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATLhsSymKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATKey);
_IL_incl24=_IG_incl24;_IG_incl24= &(_currn->_ATLhsSymKey);
_IL_incl19=_IG_incl19;_IG_incl19= &(_currn->_ATProduction);
_IL_incl20=_IG_incl20;_IG_incl20= &(_currn->_ATKey);
_IL_incl16=_IG_incl16;_IG_incl16= &(_currn->_ATIsSymComp);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS6MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_IG_incl37=_IL_incl37;
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl24=_IL_incl24;
_IG_incl19=_IL_incl19;
_IG_incl20=_IL_incl20;
_IG_incl16=_IL_incl16;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_24(_TPPrule_24 _currn)
#else
void _VS1rule_24(_currn )
_TPPrule_24 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_24(_TPPrule_24 _currn)
#else
void _VS2rule_24(_currn )
_TPPrule_24 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATIsBottomUp=OR(_currn->_desc2->_ATIsBottomUp, _AVSymClassTreeOrClass);
/*SPC(752)*/
_currn->_ATGenDefAttrKey=NoKey;
/*SPC(667)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_24(_TPPrule_24 _currn)
#else
void _VS3rule_24(_currn )
_TPPrule_24 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_24(_TPPrule_24 _currn)
#else
void _VS4rule_24(_currn )
_TPPrule_24 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAttrCompIsBottomUp=_currn->_ATIsBottomUp;
/*SPC(746)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_24(_TPPrule_24 _currn)
#else
void _VS5rule_24(_currn )
_TPPrule_24 _currn;

#endif
{
int* _IL_incl17;

_VisitVarDecl()
_VisitEntry();
_IL_incl17=_IG_incl17;_IG_incl17= &(_currn->_ATIsUpper);
_currn->_ATIsUpper=_currn->_desc1->_ATIsUpper;
/*SPC(567)*/
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_IG_incl17=_IL_incl17;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_25(_TPPrule_25 _currn)
#else
void _VS1rule_25(_currn )
_TPPrule_25 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATIsBottomUp=1;
/*SPC(655)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_26(_TPPrule_26 _currn)
#else
void _VS1rule_26(_currn )
_TPPrule_26 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATIsBottomUp=0;
/*SPC(659)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_27(_TPPrule_27 _currn)
#else
void _VS1rule_27(_currn )
_TPPrule_27 _currn;

#endif
{
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_27(_TPPrule_27 _currn)
#else
void _VS2rule_27(_currn )
_TPPrule_27 _currn;

#endif
{
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*)) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1_const24)));
_currn->_ATIsBottomUp=OR(_currn->_desc2->_ATIsBottomUp, _AS1_const24);
/*SPC(752)*/
_currn->_ATauxId_RuleAttr_235=
((_currn->_ATIsBottomUp
) ? (NewCntId("_BUPlain")
) : (0))
;
/*SPC(671)*/
_currn->_ATGenDefAttrKey=
((_currn->_ATIsBottomUp
) ? (DeclareExplAttr(GetAttrScope((* _IG_incl24), NoEnv), _currn->_ATauxId_RuleAttr_235, DIDVOLI, ATCLSYNT, (&( _currn->_AT_pos)))
) : (NoKey))
;
/*SPC(674)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_27(_TPPrule_27 _currn)
#else
void _VS3rule_27(_currn )
_TPPrule_27 _currn;

#endif
{
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1_const24)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_27(_TPPrule_27 _currn)
#else
void _VS4rule_27(_currn )
_TPPrule_27 _currn;

#endif
{
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1_const24)));
UpdateAttrib((* _IG_incl20), CallToAttrrule(
((_currn->_ATIsBottomUp
) ? (PlainToAssign(MarkBottomUp(_AS1Expr, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)), 
(((* _IG_incl16)
) ? (_currn->_ATauxId_RuleAttr_235
) : (GetDid(_currn->_ATGenDefAttrKey, DIDNON)))
, (&( _currn->_AT_pos)))
) : (
((_AVLocAttrIsChain
) ? (ExprToCall(_AS1Expr)
) : (MkCall(IDFCT, creatSEQExpr(_AS1Expr), ((_currn->_AT_pos).line), ((_currn->_AT_pos).col))))
))
), true);
/*SPC(682)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_27(_TPPrule_27 _currn)
#else
void _VS5rule_27(_currn )
_TPPrule_27 _currn;

#endif
{
int* _IL_incl17;
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
_IL_incl17=_IG_incl17;_IG_incl17= &(_currn->_ATIsUpper);
_currn->_ATIsUpper=0;
/*SPC(563)*/
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1_const24)));
_IG_incl17=_IL_incl17;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_28(_TPPrule_28 _currn)
#else
void _VS1rule_28(_currn )
_TPPrule_28 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_28(_TPPrule_28 _currn)
#else
void _VS2rule_28(_currn )
_TPPrule_28 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATIsBottomUp=OR(_currn->_desc2->_ATIsBottomUp, _AVSymClassTreeOrClass);
/*SPC(752)*/
_currn->_ATGenDefAttrKey=NoKey;
/*SPC(667)*/

if (_currn->_ATIsBottomUp) {
message(ERROR, "An iteration may not be marked BOTTOMUP", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(710)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_28(_TPPrule_28 _currn)
#else
void _VS3rule_28(_currn )
_TPPrule_28 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_28(_TPPrule_28 _currn)
#else
void _VS4rule_28(_currn )
_TPPrule_28 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
UpdateAttrib((* _IG_incl20), CallToAttrrule(ExprToCall(_AVAttrExpr)), true);
/*SPC(703)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_28(_TPPrule_28 _currn)
#else
void _VS5rule_28(_currn )
_TPPrule_28 _currn;

#endif
{
int* _IL_incl17;

_VisitVarDecl()
_VisitEntry();
_IL_incl17=_IG_incl17;_IG_incl17= &(_currn->_ATIsUpper);
_currn->_ATIsUpper=0;
/*SPC(563)*/
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_IG_incl17=_IL_incl17;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_29(_TPPrule_29 _currn)
#else
void _VS1rule_29(_currn )
_TPPrule_29 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_29(_TPPrule_29 _currn)
#else
void _VS2rule_29(_currn )
_TPPrule_29 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(863)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_29(_TPPrule_29 _currn)
#else
void _VS3rule_29(_currn )
_TPPrule_29 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_29(_TPPrule_29 _currn)
#else
void _VS4rule_29(_currn )
_TPPrule_29 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=_AVAttrExpr;
/*SPC(864)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_29(_TPPrule_29 _currn)
#else
void _VS5rule_29(_currn )
_TPPrule_29 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_30(_TPPrule_30 _currn)
#else
void _VS2rule_30(_currn )
_TPPrule_30 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(867)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_30(_TPPrule_30 _currn)
#else
void _VS3rule_30(_currn )
_TPPrule_30 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_30(_TPPrule_30 _currn)
#else
void _VS4rule_30(_currn )
_TPPrule_30 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=_currn->_desc1->_ATExpr;
/*SPC(868)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_31(_TPPrule_31 _currn)
#else
void _VS1rule_31(_currn )
_TPPrule_31 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_31(_TPPrule_31 _currn)
#else
void _VS2rule_31(_currn )
_TPPrule_31 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(873)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_31(_TPPrule_31 _currn)
#else
void _VS4rule_31(_currn )
_TPPrule_31 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=MakeLit(CHARFCT, GetStringRef(_currn->_ATTERM_1), _currn->_AT_line, _currn->_AT_col);
/*SPC(874)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_32(_TPPrule_32 _currn)
#else
void _VS1rule_32(_currn )
_TPPrule_32 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (ContainsNonAsciiChars(GetStringRef(_currn->_ATTERM_1))) {
message(ERROR, "String literal contains non-ASCII characters", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(881)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_32(_TPPrule_32 _currn)
#else
void _VS2rule_32(_currn )
_TPPrule_32 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(878)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_32(_TPPrule_32 _currn)
#else
void _VS4rule_32(_currn )
_TPPrule_32 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=MakeLit(STRINGFCT, GetStringRef(_currn->_ATTERM_1), ((_currn->_AT_pos).line), ((_currn->_AT_pos).col));
/*SPC(879)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_33(_TPPrule_33 _currn)
#else
void _VS1rule_33(_currn )
_TPPrule_33 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_33(_TPPrule_33 _currn)
#else
void _VS2rule_33(_currn )
_TPPrule_33 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(889)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_33(_TPPrule_33 _currn)
#else
void _VS4rule_33(_currn )
_TPPrule_33 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=MakeLit(FLOATFCT, GetStringRef(_currn->_ATTERM_1), _currn->_AT_line, _currn->_AT_col);
/*SPC(890)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_34(_TPPrule_34 _currn)
#else
void _VS1rule_34(_currn )
_TPPrule_34 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (LT(_currn->_ATTERM_1, 0)) {
message(ERROR, "Negative integer literals not supported", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(898)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_34(_TPPrule_34 _currn)
#else
void _VS2rule_34(_currn )
_TPPrule_34 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(894)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_34(_TPPrule_34 _currn)
#else
void _VS4rule_34(_currn )
_TPPrule_34 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=FcValToExpr(MkVal(_currn->_ATTERM_1, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)));
/*SPC(895)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_35(_TPPrule_35 _currn)
#else
void _VS1rule_35(_currn )
_TPPrule_35 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_35(_TPPrule_35 _currn)
#else
void _VS2rule_35(_currn )
_TPPrule_35 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(903)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_35(_TPPrule_35 _currn)
#else
void _VS4rule_35(_currn )
_TPPrule_35 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=true;
/*SPC(904)*/
_AVExpressionExpr=_currn->_desc1->_ATExpr;
/*SPC(905)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_36(_TPPrule_36 _currn)
#else
void _VS1rule_36(_currn )
_TPPrule_36 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATExpr=FcCallToExpr(MkCall("$RhsAttrs", creatSEQExpr(FcNameToExpr(MkName(GetStringRef(_currn->_ATTERM_1), _currn->_AT_line, _currn->_AT_col))), _currn->_AT_line, _currn->_AT_col));
/*SPC(909)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_37(_TPPrule_37 _currn)
#else
void _VS1rule_37(_currn )
_TPPrule_37 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_37(_TPPrule_37 _currn)
#else
void _VS2rule_37(_currn )
_TPPrule_37 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/
_AVParamsOptOldBottomUp=IsOldBottomUp(_currn->_ATTERM_1, _AVParamsOptOldBottomUp);
/*SPC(923)*/
_AVSymClassTreeOrClass=OR(_AVSymClassTreeOrClass, IDENTICAL(_AVParamsOptOldBottomUp));
/*SPC(950)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_37(_TPPrule_37 _currn)
#else
void _VS3rule_37(_currn )
_TPPrule_37 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_37(_TPPrule_37 _currn)
#else
void _VS4rule_37(_currn )
_TPPrule_37 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVLocAttrIsChain=true;
/*SPC(951)*/
_AVExpressionExpr=SubstLIGAPragma(MkCall(GetStringRef(_currn->_ATTERM_1), _AVParamsOptExprs, _currn->_AT_line, _currn->_AT_col));
/*SPC(953)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_37(_TPPrule_37 _currn)
#else
void _VS5rule_37(_currn )
_TPPrule_37 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_38(_TPPrule_38 _currn)
#else
void _VS2rule_38(_currn )
_TPPrule_38 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVParamsOptOldBottomUp=_AVAttrDefsOpt_const22;
/*SPC(929)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_39(_TPPrule_39 _currn)
#else
void _VS2rule_39(_currn )
_TPPrule_39 _currn;

#endif
{
int _AS1_const24;
int _AS1BottomUpId;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*,int*)) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1BottomUpId)),(&( _AS1_const24)));
_AVSymClassTreeOrClass=_AS1_const24;
/*SPC(968)*/
_AVAttrDefsOpt_const22=_AS1BottomUpId;
/*SPC(932)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_39(_TPPrule_39 _currn)
#else
void _VS3rule_39(_currn )
_TPPrule_39 _currn;

#endif
{
int _AS1_const24;
int _AS1BottomUpId;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*,int*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1BottomUpId)),(&( _AS1_const24)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_39(_TPPrule_39 _currn)
#else
void _VS4rule_39(_currn )
_TPPrule_39 _currn;

#endif
{
int _AS1_const24;
int _AS1BottomUpId;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*,int*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1BottomUpId)),(&( _AS1_const24)));
_AVParamsOptExprs=creatSEQExpr(_AS1Expr);
/*SPC(969)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_39(_TPPrule_39 _currn)
#else
void _VS5rule_39(_currn )
_TPPrule_39 _currn;

#endif
{
int _AS1_const24;
int _AS1BottomUpId;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*,int*)) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1BottomUpId)),(&( _AS1_const24)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_40(_TPPrule_40 _currn)
#else
void _VS2rule_40(_currn )
_TPPrule_40 _currn;

#endif
{
int _AS1_const24;
int _AS1BottomUpId;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*,int*)) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1BottomUpId)),(&( _AS1_const24)));
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVSymClassTreeOrClass=OR(_AS1_const24, _AVSymClassTreeOrClass);
/*SPC(972)*/
_AVAttrDefsOpt_const22=_AS1BottomUpId;
/*SPC(935)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_40(_TPPrule_40 _currn)
#else
void _VS3rule_40(_currn )
_TPPrule_40 _currn;

#endif
{
int _AS1_const24;
int _AS1BottomUpId;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*,int*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1BottomUpId)),(&( _AS1_const24)));
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_40(_TPPrule_40 _currn)
#else
void _VS4rule_40(_currn )
_TPPrule_40 _currn;

#endif
{
int _AS1_const24;
int _AS1BottomUpId;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*,int*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1BottomUpId)),(&( _AS1_const24)));
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVParamsOptExprs=AppFrontSEQExpr(_AS1Expr, _AVParamsOptExprs);
/*SPC(973)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_40(_TPPrule_40 _currn)
#else
void _VS5rule_40(_currn )
_TPPrule_40 _currn;

#endif
{
int _AS1_const24;
int _AS1BottomUpId;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*,int*)) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1BottomUpId)),(&( _AS1_const24)));
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_41(_TPPrule_41 _currn,int* _AS0BottomUpId,int* _AS0_const24)
#else
void _VS2rule_41(_currn ,_AS0BottomUpId,_AS0_const24)
_TPPrule_41 _currn;
int* _AS0_const24;
int* _AS0BottomUpId;

#endif
{
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*)) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1_const24)));
(* _AS0_const24)=_AS1_const24;
/*SPC(976)*/
(* _AS0BottomUpId)=_AVSymClassTreeOrClass;
/*SPC(938)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_41(_TPPrule_41 _currn,int* _AS0BottomUpId,int* _AS0_const24)
#else
void _VS3rule_41(_currn ,_AS0BottomUpId,_AS0_const24)
_TPPrule_41 _currn;
int* _AS0_const24;
int* _AS0BottomUpId;

#endif
{
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,int*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1_const24)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_41(_TPPrule_41 _currn,Expr* _AS0Expr,int* _AS0BottomUpId,int* _AS0_const24)
#else
void _VS4rule_41(_currn ,_AS0Expr,_AS0BottomUpId,_AS0_const24)
_TPPrule_41 _currn;
int* _AS0_const24;
int* _AS0BottomUpId;
Expr* _AS0Expr;

#endif
{
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1_const24)));
(* _AS0Expr)=_AS1Expr;
/*SPC(977)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_41(_TPPrule_41 _currn,Expr* _AS0Expr,int* _AS0BottomUpId,int* _AS0_const24)
#else
void _VS5rule_41(_currn ,_AS0Expr,_AS0BottomUpId,_AS0_const24)
_TPPrule_41 _currn;
int* _AS0_const24;
int* _AS0BottomUpId;
Expr* _AS0Expr;

#endif
{
int _AS1_const24;
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*,int*)) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)),(&( _AS1_const24)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_42(_TPPrule_42 _currn)
#else
void _VS1rule_42(_currn )
_TPPrule_42 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_42(_TPPrule_42 _currn,int* _AS0_const24)
#else
void _VS2rule_42(_currn ,_AS0_const24)
_TPPrule_42 _currn;
int* _AS0_const24;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(* _AS0_const24)=_AVSymClassTreeOrClass;
/*SPC(993)*/
_AVSymClassTreeOrClass=_AVAttrDefsOpt_const22;
/*SPC(942)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_42(_TPPrule_42 _currn,int* _AS0_const24)
#else
void _VS3rule_42(_currn ,_AS0_const24)
_TPPrule_42 _currn;
int* _AS0_const24;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_42(_TPPrule_42 _currn,Expr* _AS0Expr,int* _AS0_const24)
#else
void _VS4rule_42(_currn ,_AS0Expr,_AS0_const24)
_TPPrule_42 _currn;
int* _AS0_const24;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(* _AS0Expr)=_AVExpressionExpr;
/*SPC(995)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_42(_TPPrule_42 _currn,Expr* _AS0Expr,int* _AS0_const24)
#else
void _VS5rule_42(_currn ,_AS0Expr,_AS0_const24)
_TPPrule_42 _currn;
int* _AS0_const24;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_43(_TPPrule_43 _currn)
#else
void _VS1rule_43(_currn )
_TPPrule_43 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATMayDenoteTerm=true;
/*SPC(1922)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_43(_TPPrule_43 _currn)
#else
void _VS2rule_43(_currn )
_TPPrule_43 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVSymClassTreeOrClass=ZERO();
/*SPC(1921)*/
_AVAttrDefsOpt_const22=_currn->_desc1->_ATSym;
/*SPC(946)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_43(_TPPrule_43 _currn)
#else
void _VS4rule_43(_currn )
_TPPrule_43 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=
((_currn->_desc1->_ATIsCIdent
) ? (FcNameToExpr(MkName(GetStringRef(_currn->_desc1->_ATSym), _currn->_AT_line, _currn->_AT_col))
) : (FcCallToExpr(MkCall(TERMFCT, creatSEQExpr(FcValToExpr(MkVal(_currn->_desc1->_ATProdPos, _currn->_AT_line, _currn->_AT_col))), _currn->_AT_line, _currn->_AT_col))))
;
/*SPC(1932)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_43(_TPPrule_43 _currn)
#else
void _VS5rule_43(_currn )
_TPPrule_43 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (AND(NOT(_currn->_desc1->_ATIsCIdent), AND(EQ(GetSymClass(_currn->_desc1->_ATKey, SYMBNONT), SYMBTERM), GetOldTerm(_currn->_desc1->_ATKey, 0)))) {
message(ERROR, "New style terminal access to old style terminal", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1924)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_44(_TPPrule_44 _currn)
#else
void _VS2rule_44(_currn )
_TPPrule_44 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(964)*/
_AVParamsOptOldBottomUp=0;
/*SPC(927)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_44(_TPPrule_44 _currn)
#else
void _VS4rule_44(_currn )
_TPPrule_44 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVParamsOptExprs=nullSEQExpr();
/*SPC(965)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_45(_TPPrule_45 _currn)
#else
void _VS1rule_45(_currn )
_TPPrule_45 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_45(_TPPrule_45 _currn,int* _AS0_const24)
#else
void _VS2rule_45(_currn ,_AS0_const24)
_TPPrule_45 _currn;
int* _AS0_const24;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(* _AS0_const24)=_AVSymClassTreeOrClass;
/*SPC(983)*/
_AVSymClassTreeOrClass=0;
/*SPC(940)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_45(_TPPrule_45 _currn,int* _AS0_const24)
#else
void _VS3rule_45(_currn ,_AS0_const24)
_TPPrule_45 _currn;
int* _AS0_const24;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_45(_TPPrule_45 _currn,Expr* _AS0Expr,int* _AS0_const24)
#else
void _VS4rule_45(_currn ,_AS0Expr,_AS0_const24)
_TPPrule_45 _currn;
int* _AS0_const24;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVLocAttrIsChain=true;
/*SPC(984)*/
(* _AS0Expr)=FcCallToExpr(MkCall(DEPFCT, AppFrontSEQExpr(_AVExpressionExpr, _AVParamsOptExprs), _currn->_AT_line, _currn->_AT_col));
/*SPC(986)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_45(_TPPrule_45 _currn,Expr* _AS0Expr,int* _AS0_const24)
#else
void _VS5rule_45(_currn ,_AS0Expr,_AS0_const24)
_TPPrule_45 _currn;
int* _AS0_const24;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_48(_TPPrule_48 _currn)
#else
void _VS3rule_48(_currn )
_TPPrule_48 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));
_AVParamsOptExprs=creatSEQExpr(_AS1Expr);
/*SPC(1007)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_48(_TPPrule_48 _currn)
#else
void _VS4rule_48(_currn )
_TPPrule_48 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_50(_TPPrule_50 _currn)
#else
void _VS3rule_50(_currn )
_TPPrule_50 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVParamsOptExprs=AppFrontSEQExpr(_AS1Expr, _AVParamsOptExprs);
/*SPC(1015)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_50(_TPPrule_50 _currn)
#else
void _VS4rule_50(_currn )
_TPPrule_50 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_51(_TPPrule_51 _currn)
#else
void _VS3rule_51(_currn )
_TPPrule_51 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));
_AVParamsOptExprs=creatSEQExpr(_AS1Expr);
/*SPC(1020)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_51(_TPPrule_51 _currn)
#else
void _VS4rule_51(_currn )
_TPPrule_51 _currn;

#endif
{
Expr _AS1Expr;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,Expr*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1Expr)));

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_52(_TPPrule_52 _currn,Expr* _AS0Expr)
#else
void _VS3rule_52(_currn ,_AS0Expr)
_TPPrule_52 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(* _AS0Expr)=_AVAttrExpr;
/*SPC(1024)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_52(_TPPrule_52 _currn,Expr* _AS0Expr)
#else
void _VS4rule_52(_currn ,_AS0Expr)
_TPPrule_52 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_53(_TPPrule_53 _currn,Expr* _AS0Expr)
#else
void _VS3rule_53(_currn ,_AS0Expr)
_TPPrule_53 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(* _AS0Expr)=_AVAttrExpr;
/*SPC(1028)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_53(_TPPrule_53 _currn,Expr* _AS0Expr)
#else
void _VS4rule_53(_currn ,_AS0Expr)
_TPPrule_53 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_54(_TPPrule_54 _currn,Expr* _AS0Expr)
#else
void _VS3rule_54(_currn ,_AS0Expr)
_TPPrule_54 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(* _AS0Expr)=_currn->_desc1->_ATExpr;
/*SPC(1032)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_54(_TPPrule_54 _currn,Expr* _AS0Expr)
#else
void _VS4rule_54(_currn ,_AS0Expr)
_TPPrule_54 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_55(_TPPrule_55 _currn,Expr* _AS0Expr)
#else
void _VS3rule_55(_currn ,_AS0Expr)
_TPPrule_55 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();
(* _AS0Expr)=_currn->_desc1->_ATExpr;
/*SPC(1036)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_55(_TPPrule_55 _currn,Expr* _AS0Expr)
#else
void _VS4rule_55(_currn ,_AS0Expr)
_TPPrule_55 _currn;
Expr* _AS0Expr;

#endif
{

_VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_56(_TPPrule_56 _currn)
#else
void _VS1rule_56(_currn )
_TPPrule_56 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_56(_TPPrule_56 _currn)
#else
void _VS2rule_56(_currn )
_TPPrule_56 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=ZERO();
/*SPC(1041)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_56(_TPPrule_56 _currn)
#else
void _VS3rule_56(_currn )
_TPPrule_56 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_56(_TPPrule_56 _currn)
#else
void _VS4rule_56(_currn )
_TPPrule_56 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=_AVAttrExpr;
/*SPC(1042)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_56(_TPPrule_56 _currn)
#else
void _VS5rule_56(_currn )
_TPPrule_56 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_57(_TPPrule_57 _currn)
#else
void _VS1rule_57(_currn )
_TPPrule_57 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_57(_TPPrule_57 _currn)
#else
void _VS2rule_57(_currn )
_TPPrule_57 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_57(_TPPrule_57 _currn)
#else
void _VS3rule_57(_currn )
_TPPrule_57 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVRemoteAttrscSymbattrs_post=nullSEQSymbattr();
/*SPC(1046)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (AND(EQ(_AVRemoteAttrscSymbattrs_post, nullSEQSymbattr()), NOT((* _IG_incl16)))) {
message(ERROR, "There is no such remote symbol", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1052)*/
_AVAttrExpr=FcIncludingToExpr(MkIncluding(NoString, DIDNON, _AVRemoteAttrscSymbattrs_post, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)));
/*SPC(1047)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_57(_TPPrule_57 _currn)
#else
void _VS4rule_57(_currn )
_TPPrule_57 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_58(_TPPrule_58 _currn)
#else
void _VS1rule_58(_currn )
_TPPrule_58 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc4->_prod])))((NODEPTR) _currn->_desc4);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_58(_TPPrule_58 _currn)
#else
void _VS2rule_58(_currn )
_TPPrule_58 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_58(_TPPrule_58 _currn)
#else
void _VS3rule_58(_currn )
_TPPrule_58 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVRemoteAttrscSymbattrs_post=nullSEQSymbattr();
/*SPC(1073)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVAttrExpr=FcConstitToExpr(MkConstit(NoString, MultiConstit, _AVSymClassTreeOrClass, _AVRemoteAttrscSymbattrs_post, _currn->_AT_line, _currn->_AT_col));
/*SPC(1074)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc4->_prod])))((NODEPTR) _currn->_desc4);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_58(_TPPrule_58 _currn)
#else
void _VS4rule_58(_currn )
_TPPrule_58 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc4->_prod])))((NODEPTR) _currn->_desc4);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_59(_TPPrule_59 _currn)
#else
void _VS1rule_59(_currn )
_TPPrule_59 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_59(_TPPrule_59 _currn)
#else
void _VS2rule_59(_currn )
_TPPrule_59 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_59(_TPPrule_59 _currn)
#else
void _VS3rule_59(_currn )
_TPPrule_59 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVRemoteAttrscSymbattrs_post=nullSEQSymbattr();
/*SPC(1085)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVAttrExpr=FcConstitToExpr(MkConstit(NoString, SingleConstit, _AVSymClassTreeOrClass, _AVRemoteAttrscSymbattrs_post, _currn->_AT_line, _currn->_AT_col));
/*SPC(1086)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_59(_TPPrule_59 _currn)
#else
void _VS4rule_59(_currn )
_TPPrule_59 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_60(_TPPrule_60 _currn)
#else
void _VS1rule_60(_currn )
_TPPrule_60 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_60(_TPPrule_60 _currn)
#else
void _VS2rule_60(_currn )
_TPPrule_60 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAttrExpr=FcCallToExpr(MkCall(WITHFCT, AppFrontSEQExpr(_AVAttrExpr, AppFrontSEQExpr(FcNameToExpr(MkName(GetStringRef(_currn->_desc1->_ATSym), _currn->_AT_line, _currn->_AT_col)), AppFrontSEQExpr(FcNameToExpr(MkName(GetStringRef(_currn->_ATTERM_1), _currn->_AT_line, _currn->_AT_col)), AppFrontSEQExpr(FcNameToExpr(MkName(GetStringRef(_currn->_ATTERM_2), _currn->_AT_line, _currn->_AT_col)), creatSEQExpr(FcNameToExpr(MkName(GetStringRef(_currn->_ATTERM_3), _currn->_AT_line, _currn->_AT_col))))))), _currn->_AT_line, _currn->_AT_col));
/*SPC(1097)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_60(_TPPrule_60 _currn)
#else
void _VS3rule_60(_currn )
_TPPrule_60 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_62(_TPPrule_62 _currn)
#else
void _VS1rule_62(_currn )
_TPPrule_62 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATMayDenoteTerm=false;
/*SPC(1918)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_62(_TPPrule_62 _currn)
#else
void _VS2rule_62(_currn )
_TPPrule_62 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVSymClassTreeOrClass=_currn->_desc1->_ATProdPos;
/*SPC(1118)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_63(_TPPrule_63 _currn)
#else
void _VS2rule_63(_currn )
_TPPrule_63 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSymClassTreeOrClass=0;
/*SPC(1122)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_64(_TPPrule_64 _currn)
#else
void _VS1rule_64(_currn )
_TPPrule_64 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_64(_TPPrule_64 _currn)
#else
void _VS2rule_64(_currn )
_TPPrule_64 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVShieldSymscShieldSyms_post=nullSEQExpr();
/*SPC(1128)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAttrExpr=FcCallToExpr(MkCall(SHIELDFCT, AppFrontSEQExpr(_AVAttrExpr, _AVShieldSymscShieldSyms_post), _currn->_AT_line, _currn->_AT_col));
/*SPC(1129)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_64(_TPPrule_64 _currn)
#else
void _VS3rule_64(_currn )
_TPPrule_64 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_66(_TPPrule_66 _currn)
#else
void _VS1rule_66(_currn )
_TPPrule_66 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATMayDenoteTerm=false;
/*SPC(1919)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_66(_TPPrule_66 _currn)
#else
void _VS2rule_66(_currn )
_TPPrule_66 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVShieldSymscShieldSyms_post=MapToRealSyms(_currn->_desc1->_ATKey, _AVShieldSymscShieldSyms_post, (&( _currn->_AT_pos)));
/*SPC(1141)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_66(_TPPrule_66 _currn)
#else
void _VS3rule_66(_currn )
_TPPrule_66 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_67(_TPPrule_67 _currn)
#else
void _VS1rule_67(_currn )
_TPPrule_67 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATMayDenoteTerm=false;
/*SPC(1919)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_67(_TPPrule_67 _currn)
#else
void _VS2rule_67(_currn )
_TPPrule_67 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
EnterInherit((* _IG_incl30), _currn->_desc1->_ATKey, (&( _currn->_AT_pos)));
/*SPC(1172)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_67(_TPPrule_67 _currn)
#else
void _VS3rule_67(_currn )
_TPPrule_67 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (EQ(GetTreeOrClass(_currn->_desc1->_ATKey, IsClassSym), IsTreeSym)) {
message(WARNING, "INHERITS from a TREE symbol", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1259)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_68(_TPPrule_68 _currn)
#else
void _VS1rule_68(_currn )
_TPPrule_68 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATKey=Declare((* _IG_incl0), _currn->_ATSym, SymDef, (* _IG_incl2), (&( _currn->_AT_pos)));
/*SPC(470)*/

if (_currn->_ATIsApplied) {
ResetIsApplied(_currn->_ATKey, true);

} else {
ResetIsDefined(_currn->_ATKey, true);
}
;
ResetRealSym(_currn->_ATKey, true);
;
/*SPC(1436)*/

if (IsPreDefSym(_currn->_ATKey)) {
message(ERROR, "Predefined identifier not allowed here", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(474)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_68(_TPPrule_68 _currn)
#else
void _VS2rule_68(_currn )
_TPPrule_68 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
PutSymClass(_currn->_ATIsApplied, _currn->_ATKey, GramKey);
/*SPC(1441)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_68(_TPPrule_68 _currn)
#else
void _VS3rule_68(_currn )
_TPPrule_68 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATSymbCnt_post=
((AND(EQ(GetSymClass(_currn->_ATKey, SYMBNONT), SYMBTERM), NOT(GetOldTerm(_currn->_ATKey, 0)))
) ? (_currn->_ATSymbCnt_pre
) : (ADD(1, _currn->_ATSymbCnt_pre)))
;
/*SPC(1424)*/
_currn->_ATTermCnt_post=
((AND(EQ(GetSymClass(_currn->_ATKey, SYMBNONT), SYMBTERM), NOT(GetOldTerm(_currn->_ATKey, 0)))
) ? (ADD(1, _AVAltsTermCnt_post)
) : (_AVAltsTermCnt_post))
;
/*SPC(1430)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_68(_TPPrule_68 _currn)
#else
void _VS4rule_68(_currn )
_TPPrule_68 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (NOT(_currn->_ATIsApplied)) {

if (EQ(MANYROOTS, GetRootDid(GramKey, DIDNON))) {

if (GetIsRoot(_currn->_ATKey, false)) {
message(ERROR, "This is one of the roots", 0, (&( _currn->_AT_pos)));

} else {
}
;

} else {
}
;

} else {
}
;
/*SPC(1445)*/

if ((* _IG_incl31)) {
MakeInhComps((* _IG_incl32), _currn->_ATKey, _currn->_ATSymbCnt_pre, GetDid((* _IG_incl33), DIDNON), _AVLocAttrIsChain, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1188)*/

if (NE(GetTreeOrClass(_currn->_ATKey, IsTreeSym), IsTreeSym)) {
ResetTreeOrClass(_currn->_ATKey, IsTreeAndClassSym);

} else {
ResetTreeOrClass(_currn->_ATKey, IsTreeSym);
}
;
/*SPC(1266)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_68(_TPPrule_68 _currn)
#else
void _VS5rule_68(_currn )
_TPPrule_68 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (EQ(GetDefKind(_currn->_ATKey, MultDef), MultDef)) {
message(ERROR, "Symbol identifier clashes with other identifier", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(478)*/

if (EQ(GetTreeOrClass(_currn->_ATKey, IsClassSym), IsTreeAndClassSym)) {
message(WARNING, "This TREE symbol is also a CLASS symbol", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1271)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_69(_TPPrule_69 _currn)
#else
void _VS1rule_69(_currn )
_TPPrule_69 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATSymClass=SYMBANY;
/*SPC(1305)*/
_AVSymClassTreeOrClass=IsTreeOrClassSym;
/*SPC(1306)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_70(_TPPrule_70 _currn)
#else
void _VS1rule_70(_currn )
_TPPrule_70 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATSymClass=SYMBANY;
/*SPC(1312)*/
_AVSymClassTreeOrClass=IsTreeSym;
/*SPC(1313)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_71(_TPPrule_71 _currn)
#else
void _VS1rule_71(_currn )
_TPPrule_71 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATSymClass=SYMBANY;
/*SPC(1317)*/
_AVSymClassTreeOrClass=IsClassSym;
/*SPC(1318)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_72(_TPPrule_72 _currn)
#else
void _VS1rule_72(_currn )
_TPPrule_72 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATSymClass=SYMBNONT;
/*SPC(1322)*/
_AVSymClassTreeOrClass=IsTreeOrClassSym;
/*SPC(1323)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_73(_TPPrule_73 _currn)
#else
void _VS1rule_73(_currn )
_TPPrule_73 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATSymClass=SYMBNONT;
/*SPC(1327)*/
_AVSymClassTreeOrClass=IsTreeSym;
/*SPC(1328)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_74(_TPPrule_74 _currn)
#else
void _VS1rule_74(_currn )
_TPPrule_74 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATSymClass=SYMBNONT;
/*SPC(1332)*/
_AVSymClassTreeOrClass=IsClassSym;
/*SPC(1333)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_75(_TPPrule_75 _currn)
#else
void _VS1rule_75(_currn )
_TPPrule_75 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATSymClass=SYMBTERM;
/*SPC(1337)*/
_AVSymClassTreeOrClass=IsTreeSym;
/*SPC(1338)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_76(_TPPrule_76 _currn)
#else
void _VS1rule_76(_currn )
_TPPrule_76 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATNamedKey=NoKey;
/*SPC(1377)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_76(_TPPrule_76 _currn)
#else
void _VS2rule_76(_currn )
_TPPrule_76 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATKey=FindNamedProd(_currn->_ATProduction, (* _IG_incl34), (&( _currn->_AT_pos)));
/*SPC(1379)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_77(_TPPrule_77 _currn)
#else
void _VS1rule_77(_currn )
_TPPrule_77 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATIsApplied=false;
/*SPC(1387)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_77(_TPPrule_77 _currn)
#else
void _VS2rule_77(_currn )
_TPPrule_77 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_77(_TPPrule_77 _currn)
#else
void _VS3rule_77(_currn )
_TPPrule_77 _currn;

#endif
{
DefTableKey* _IL_incl38;

_VisitVarDecl()
_VisitEntry();
_IL_incl38=_IG_incl38;_IG_incl38= &(_currn->_ATListKey);
_currn->_desc1->_ATSymbCnt_pre=0;
/*SPC(1388)*/
_AVAltsTermCnt_post=1;
/*SPC(1389)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_desc2->_ATSymbCnt_pre=_currn->_desc1->_ATSymbCnt_post;
/*SPC(0)*/
_currn->_desc2->_ATTermCnt_pre=_currn->_desc1->_ATTermCnt_post;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_currn->_ATLhsSymKey=_currn->_desc1->_ATKey;
/*SPC(1390)*/
_currn->_ATListKey=NoKey;
/*SPC(1645)*/
_currn->_ATProduction=ConsList(MakeProdElem(true, GetDid(_currn->_desc1->_ATKey, DIDNON), _currn->_desc1->_ATKey, 0, (&( _currn->_AT_pos))), _AVSyntUnitsProduction);
/*SPC(1391)*/
_IG_incl38=_IL_incl38;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_77(_TPPrule_77 _currn)
#else
void _VS4rule_77(_currn )
_TPPrule_77 _currn;

#endif
{
DefTableKey* _IL_incl38;
bool* _IL_incl36;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl38=_IG_incl38;_IG_incl38= &(_currn->_ATListKey);
_IL_incl36=_IG_incl36;_IG_incl36= &(_currn->_ATDoMakeInh);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_IG_incl38=_IL_incl38;
_IG_incl36=_IL_incl36;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_77(_TPPrule_77 _currn)
#else
void _VS5rule_77(_currn )
_TPPrule_77 _currn;

#endif
{
DefTableKey* _IL_incl38;
bool* _IL_incl36;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl38=_IG_incl38;_IG_incl38= &(_currn->_ATListKey);
_IL_incl36=_IG_incl36;_IG_incl36= &(_currn->_ATDoMakeInh);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
_AVLocAttrIsChain=false;
/*SPC(1695)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

if (NE(PlainProdKind, GetProdKind(_currn->_desc1->_ATKey, NoProdKind))) {
SetProdKind(_currn->_desc1->_ATKey, PlainProdKind, MulProdKind);

} else {
}
;
/*SPC(1548)*/
_IG_incl38=_IL_incl38;
_IG_incl36=_IL_incl36;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_77(_TPPrule_77 _currn)
#else
void _VS6rule_77(_currn )
_TPPrule_77 _currn;

#endif
{
DefTableKey* _IL_incl38;
bool* _IL_incl36;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl38=_IG_incl38;_IG_incl38= &(_currn->_ATListKey);
_IL_incl36=_IG_incl36;_IG_incl36= &(_currn->_ATDoMakeInh);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);

if (NE(PlainProdKind, GetProdKind(_currn->_desc1->_ATKey, PlainProdKind))) {
message(ERROR, "There is a LISTOF production for the same symbol", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1552)*/
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS6MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
true;
/*SPC(1771)*/
_IG_incl38=_IL_incl38;
_IG_incl36=_IL_incl36;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_78(_TPPrule_78 _currn)
#else
void _VS1rule_78(_currn )
_TPPrule_78 _currn;

#endif
{
ProdElem _AS1ProdElem;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_78(_TPPrule_78 _currn)
#else
void _VS2rule_78(_currn )
_TPPrule_78 _currn;

#endif
{
ProdElem _AS1ProdElem;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_78(_TPPrule_78 _currn)
#else
void _VS3rule_78(_currn )
_TPPrule_78 _currn;

#endif
{
ProdElem _AS1ProdElem;

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATSymbCnt_pre=_currn->_ATSymbCnt_pre;
/*SPC(0)*/
_AVSyntUnitTermCnt_pre=_currn->_ATTermCnt_pre;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR ,ProdElem*)) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1ProdElem)));
_currn->_desc2->_ATSymbCnt_pre=_AVAltsSymbCnt_post;
/*SPC(0)*/
_currn->_desc2->_ATTermCnt_pre=_AVAltsTermCnt_post;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVSyntUnitsProduction=ConsList(_AS1ProdElem, _AVSyntUnitsProduction);
/*SPC(1399)*/
true;
/*SPC(1742)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_78(_TPPrule_78 _currn)
#else
void _VS4rule_78(_currn )
_TPPrule_78 _currn;

#endif
{
ProdElem _AS1ProdElem;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,ProdElem*)) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1ProdElem)));
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_78(_TPPrule_78 _currn)
#else
void _VS5rule_78(_currn )
_TPPrule_78 _currn;

#endif
{
ProdElem _AS1ProdElem;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,ProdElem*)) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1ProdElem)));
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_78(_TPPrule_78 _currn)
#else
void _VS6rule_78(_currn )
_TPPrule_78 _currn;

#endif
{
ProdElem _AS1ProdElem;

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR ,ProdElem*)) (VS6MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1,(&( _AS1ProdElem)));
(*(_CALL_VS_((NODEPTR )) (VS6MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_79(_TPPrule_79 _currn)
#else
void _VS3rule_79(_currn )
_TPPrule_79 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVSyntUnitsProduction=NullList;
/*SPC(1404)*/
true;
/*SPC(1738)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_79(_TPPrule_79 _currn)
#else
void _VS6rule_79(_currn )
_TPPrule_79 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAltsSymbCnt_post=_currn->_ATSymbCnt_pre;
/*SPC(0)*/
_AVAltsTermCnt_post=_currn->_ATTermCnt_pre;
/*SPC(0)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_80(_TPPrule_80 _currn)
#else
void _VS1rule_80(_currn )
_TPPrule_80 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATIsApplied=true;
/*SPC(1408)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_80(_TPPrule_80 _currn)
#else
void _VS2rule_80(_currn )
_TPPrule_80 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_80(_TPPrule_80 _currn,ProdElem* _AS0ProdElem)
#else
void _VS3rule_80(_currn ,_AS0ProdElem)
_TPPrule_80 _currn;
ProdElem* _AS0ProdElem;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATSymbCnt_pre=_currn->_ATSymbCnt_pre;
/*SPC(0)*/
_AVAltsTermCnt_post=_AVSyntUnitTermCnt_pre;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAltsSymbCnt_post=_currn->_desc1->_ATSymbCnt_post;
/*SPC(0)*/
_AVAltsTermCnt_post=_currn->_desc1->_ATTermCnt_post;
/*SPC(0)*/
(* _AS0ProdElem)=MakeProdElem(true, GetDid(_currn->_desc1->_ATKey, DIDNON), _currn->_desc1->_ATKey, 
((AND(EQ(GetSymClass(_currn->_desc1->_ATKey, SYMBNONT), SYMBTERM), NOT(GetOldTerm(_currn->_desc1->_ATKey, 0)))
) ? (_AVSyntUnitTermCnt_pre
) : (_currn->_ATSymbCnt_pre))
, (&( _currn->_AT_pos)));
/*SPC(1409)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_80(_TPPrule_80 _currn,ProdElem* _AS0ProdElem)
#else
void _VS4rule_80(_currn ,_AS0ProdElem)
_TPPrule_80 _currn;
ProdElem* _AS0ProdElem;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (AND(GetIsGen(_currn->_desc1->_ATKey, false), (* _IG_incl36))) {
MakeGenTreeDummy(_currn->_desc1->_ATKey, (* _IG_incl37), _currn->_ATSymbCnt_pre, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col));

} else {
}
;
/*SPC(1750)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_80(_TPPrule_80 _currn,ProdElem* _AS0ProdElem)
#else
void _VS5rule_80(_currn ,_AS0ProdElem)
_TPPrule_80 _currn;
ProdElem* _AS0ProdElem;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=false;
/*SPC(1695)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_80(_TPPrule_80 _currn,ProdElem* _AS0ProdElem)
#else
void _VS6rule_80(_currn ,_AS0ProdElem)
_TPPrule_80 _currn;
ProdElem* _AS0ProdElem;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_81(_TPPrule_81 _currn)
#else
void _VS1rule_81(_currn )
_TPPrule_81 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (EQ(0, strcmp(NoString, GetStringRef(_currn->_ATTERM_1)))) {
message(ERROR, "Empty literal not allowed in production", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1714)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_81(_TPPrule_81 _currn,ProdElem* _AS0ProdElem)
#else
void _VS3rule_81(_currn ,_AS0ProdElem)
_TPPrule_81 _currn;
ProdElem* _AS0ProdElem;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVAltsSymbCnt_post=_currn->_ATSymbCnt_pre;
/*SPC(0)*/
_AVAltsTermCnt_post=_AVSyntUnitTermCnt_pre;
/*SPC(0)*/
(* _AS0ProdElem)=MakeProdElem(false, _currn->_ATTERM_1, NoKey, 0, (&( _currn->_AT_pos)));
/*SPC(1420)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_81(_TPPrule_81 _currn,ProdElem* _AS0ProdElem)
#else
void _VS4rule_81(_currn ,_AS0ProdElem)
_TPPrule_81 _currn;
ProdElem* _AS0ProdElem;

#endif
{

_VisitVarDecl()
_VisitEntry();
true;
/*SPC(1758)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_81(_TPPrule_81 _currn,ProdElem* _AS0ProdElem)
#else
void _VS5rule_81(_currn ,_AS0ProdElem)
_TPPrule_81 _currn;
ProdElem* _AS0ProdElem;

#endif
{

_VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_81(_TPPrule_81 _currn,ProdElem* _AS0ProdElem)
#else
void _VS6rule_81(_currn ,_AS0ProdElem)
_TPPrule_81 _currn;
ProdElem* _AS0ProdElem;

#endif
{

_VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_82(_TPPrule_82 _currn)
#else
void _VS1rule_82(_currn )
_TPPrule_82 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (LE(_currn->_ATTERM_1, 0)) {
message(ERROR, "Symbol index must be > 0", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1526)*/

if (AND((* _IG_incl16), NOT(_AVLocAttrIsChain))) {
message(ERROR, "Symbol may not be indexed in symbol computation", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1530)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_83(_TPPrule_83 _currn)
#else
void _VS1rule_83(_currn )
_TPPrule_83 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_ATval=NoIndex;
/*SPC(1538)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_84(_TPPrule_84 _currn)
#else
void _VS1rule_84(_currn )
_TPPrule_84 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATIsApplied=false;
/*SPC(1607)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_84(_TPPrule_84 _currn)
#else
void _VS2rule_84(_currn )
_TPPrule_84 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_84(_TPPrule_84 _currn)
#else
void _VS3rule_84(_currn )
_TPPrule_84 _currn;

#endif
{
DefTableKey* _IL_incl38;

_VisitVarDecl()
_VisitEntry();
_IL_incl38=_IG_incl38;_IG_incl38= &(_currn->_ATListKey);
_currn->_desc1->_ATSymbCnt_pre=0;
/*SPC(1610)*/
_AVAltsTermCnt_post=1;
/*SPC(1611)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATLhsSymKey=_currn->_desc1->_ATKey;
/*SPC(1608)*/
_AVSymSpecIdauxKey_RuleAttr_211=Declare((* _IG_incl0), MakeListId(_currn->_desc1->_ATSym), SymDef, (* _IG_incl2), (&( _currn->_AT_pos)));
/*SPC(1617)*/
_currn->_ATListKey=
(ResetRealSym(_AVSymSpecIdauxKey_RuleAttr_211, true), ResetIsApplied(_AVSymSpecIdauxKey_RuleAttr_211, true), ResetIsDefined(_AVSymSpecIdauxKey_RuleAttr_211, true), ResetSymClass(_AVSymSpecIdauxKey_RuleAttr_211, SYMBNONT), _AVSymSpecIdauxKey_RuleAttr_211)
;
/*SPC(1623)*/
_currn->_ATProduction=ConsList(MakeProdElem(true, GetDid(_currn->_desc1->_ATKey, DIDNON), _currn->_desc1->_ATKey, 0, (&( _currn->_AT_pos))), ConsList(MakeProdElem(true, GetDid(_currn->_ATListKey, DIDNON), _currn->_ATListKey, 1, (&( _currn->_AT_pos))), NullList));
/*SPC(1630)*/
_IG_incl38=_IL_incl38;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_84(_TPPrule_84 _currn)
#else
void _VS4rule_84(_currn )
_TPPrule_84 _currn;

#endif
{
DefTableKey* _IL_incl38;
bool* _IL_incl36;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl38=_IG_incl38;_IG_incl38= &(_currn->_ATListKey);
_IL_incl36=_IG_incl36;_IG_incl36= &(_currn->_ATDoMakeInh);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_IG_incl38=_IL_incl38;
_IG_incl36=_IL_incl36;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_84(_TPPrule_84 _currn)
#else
void _VS5rule_84(_currn )
_TPPrule_84 _currn;

#endif
{
DefTableKey* _IL_incl38;
bool* _IL_incl36;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl38=_IG_incl38;_IG_incl38= &(_currn->_ATListKey);
_IL_incl36=_IG_incl36;_IG_incl36= &(_currn->_ATDoMakeInh);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
_AVLocAttrIsChain=false;
/*SPC(1695)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAltsTermCnt_post=_currn->_desc1->_ATTermCnt_post;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

if (NE(LISTOFProdKind, GetProdKind(_currn->_desc1->_ATKey, NoProdKind))) {
SetProdKind(_currn->_desc1->_ATKey, LISTOFProdKind, MulProdKind);

} else {
}
;

if (NE((* _IG_incl37), GetChkProd(_currn->_desc1->_ATKey, NoKey))) {
SetChkProd(_currn->_desc1->_ATKey, (* _IG_incl37), _currn->_desc1->_ATKey);

} else {
}
;
;
/*SPC(1560)*/
NewListProds(_currn->_ATListKey, (* _IG_incl37), (* _IG_incl0), (&( _currn->_AT_pos)));
/*SPC(1639)*/
_IG_incl38=_IL_incl38;
_IG_incl36=_IL_incl36;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_84(_TPPrule_84 _currn)
#else
void _VS6rule_84(_currn )
_TPPrule_84 _currn;

#endif
{
DefTableKey* _IL_incl38;
bool* _IL_incl36;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl38=_IG_incl38;_IG_incl38= &(_currn->_ATListKey);
_IL_incl36=_IG_incl36;_IG_incl36= &(_currn->_ATDoMakeInh);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);

if (OR(NE(LISTOFProdKind, GetProdKind(_currn->_desc1->_ATKey, NoProdKind)), NE((* _IG_incl37), GetChkProd(_currn->_desc1->_ATKey, NoKey)))) {
message(ERROR, "There is another production for defined list root", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1569)*/
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAltsSymbCnt_post=_currn->_desc1->_ATSymbCnt_post;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

if (NE(_AVAltsSymbCnt_post, 2)) {
message(ERROR, "List element symbol is missing", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1613)*/
true;
/*SPC(1767)*/
_IG_incl38=_IL_incl38;
_IG_incl36=_IL_incl36;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_85(_TPPrule_85 _currn)
#else
void _VS3rule_85(_currn )
_TPPrule_85 _currn;

#endif
{
DefTableKey* _IL_incl32;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATRuleKey);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
_currn->_ATRuleKey=NoKey;
/*SPC(1652)*/
_currn->_ATDoMakeInh=false;
/*SPC(1763)*/
true;
/*SPC(1762)*/
_IG_incl32=_IL_incl32;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_85(_TPPrule_85 _currn)
#else
void _VS4rule_85(_currn )
_TPPrule_85 _currn;

#endif
{
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATListKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATRuleKey);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
_currn->_ATListKey=(* _IG_incl38);
/*SPC(1648)*/
true;
/*SPC(1653)*/
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_85(_TPPrule_85 _currn)
#else
void _VS5rule_85(_currn )
_TPPrule_85 _currn;

#endif
{
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATListKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATRuleKey);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_86(_TPPrule_86 _currn)
#else
void _VS1rule_86(_currn )
_TPPrule_86 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATIsApplied=true;
/*SPC(1657)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_86(_TPPrule_86 _currn)
#else
void _VS2rule_86(_currn )
_TPPrule_86 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_86(_TPPrule_86 _currn)
#else
void _VS3rule_86(_currn )
_TPPrule_86 _currn;

#endif
{
DefTableKey* _IL_incl32;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATRuleKey);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
_currn->_ATRuleKey=NewElemProd((* _IG_incl37), (* _IG_incl38), _currn->_desc1->_ATKey, (* _IG_incl0), (&( _currn->_AT_pos)));
/*SPC(1659)*/
_currn->_ATDoMakeInh=
((GetMakeInh(_currn->_ATRuleKey, true)
) ? (
(ResetMakeInh(_currn->_ATRuleKey, false), true)

) : (false))
;
/*SPC(1775)*/

if (AND(GetIsGen(_currn->_desc1->_ATKey, false), _currn->_ATDoMakeInh)) {
MakeGenTreeDummy(_currn->_desc1->_ATKey, _currn->_ATRuleKey, 1, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col));

} else {
}
;
/*SPC(1780)*/
_IG_incl32=_IL_incl32;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_86(_TPPrule_86 _currn)
#else
void _VS4rule_86(_currn )
_TPPrule_86 _currn;

#endif
{
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATListKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATRuleKey);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);

if (EQ(GetSymClass(_currn->_desc1->_ATKey, SYMBNONT), SYMBTERM)) {
message(ERROR, "Terminal may not be LISTOF element", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1665)*/
_currn->_desc1->_ATSymbCnt_pre=1;
/*SPC(1658)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_ATListKey=(* _IG_incl38);
/*SPC(1648)*/
_AVLocAttrIsChain=false;
/*SPC(1695)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAltsTermCnt_post=_currn->_desc1->_ATTermCnt_post;
/*SPC(0)*/
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_86(_TPPrule_86 _currn)
#else
void _VS5rule_86(_currn )
_TPPrule_86 _currn;

#endif
{
DefTableKey* _IL_incl33;
DefTableKey* _IL_incl32;
bool* _IL_incl31;

_VisitVarDecl()
_VisitEntry();
_IL_incl33=_IG_incl33;_IG_incl33= &(_currn->_ATListKey);
_IL_incl32=_IG_incl32;_IG_incl32= &(_currn->_ATRuleKey);
_IL_incl31=_IG_incl31;_IG_incl31= &(_currn->_ATDoMakeInh);
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVAltsSymbCnt_post=_currn->_desc1->_ATSymbCnt_post;
/*SPC(0)*/
_IG_incl33=_IL_incl33;
_IG_incl32=_IL_incl32;
_IG_incl31=_IL_incl31;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_87(_TPPrule_87 _currn)
#else
void _VS1rule_87(_currn )
_TPPrule_87 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATIsApplied=true;
/*SPC(1698)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_87(_TPPrule_87 _currn)
#else
void _VS2rule_87(_currn )
_TPPrule_87 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS3rule_87(_TPPrule_87 _currn)
#else
void _VS3rule_87(_currn )
_TPPrule_87 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_currn->_desc1->_ATSymbCnt_pre=_currn->_ATSymbCnt_pre;
/*SPC(0)*/
_AVAltsTermCnt_post=_currn->_ATTermCnt_pre;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_currn->_desc2->_ATSymbCnt_pre=_currn->_desc1->_ATSymbCnt_post;
/*SPC(0)*/
_currn->_desc2->_ATTermCnt_pre=_currn->_desc1->_ATTermCnt_post;
/*SPC(0)*/
(*(_CALL_VS_((NODEPTR )) (VS3MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_AVSyntUnitsProduction=ConsList(MakeProdElem(false, SyntGenMark, NoKey, 0, (&( _currn->_AT_pos))), ConsList(MakeProdElem(true, GetDid(_currn->_desc1->_ATKey, DIDNON), _currn->_desc1->_ATKey, _currn->_ATSymbCnt_pre, (&( _currn->_AT_pos))), _AVSyntUnitsProduction));
/*SPC(1701)*/
_AVSymSpecIdauxKey_RuleAttr_211=DeclareImplAttr(_currn->_desc1->_ATKey, GenAttrId, ATCLINH, (&( _currn->_AT_pos)));
/*SPC(1722)*/
ResetIsGen(_currn->_desc1->_ATKey, true);
ResetIsGen(_AVSymSpecIdauxKey_RuleAttr_211, true);
;
/*SPC(1725)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_87(_TPPrule_87 _currn)
#else
void _VS4rule_87(_currn )
_TPPrule_87 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS5rule_87(_TPPrule_87 _currn)
#else
void _VS5rule_87(_currn )
_TPPrule_87 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (EQ(GetSymClass(_currn->_desc1->_ATKey, SYMBNONT), SYMBTERM)) {
message(ERROR, "Terminal may not be root of computed tree", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1707)*/
_AVLocAttrIsChain=true;
/*SPC(1699)*/
(*(_CALL_VS_((NODEPTR )) (VS4MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS6rule_87(_TPPrule_87 _currn)
#else
void _VS6rule_87(_currn )
_TPPrule_87 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (NOT(HasGenAttrComp(_currn->_ATSymbCnt_pre, _currn->_desc1->_ATKey, (* _IG_incl37)))) {
message(ERROR, "GENTREE computation missing", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1730)*/
(*(_CALL_VS_((NODEPTR )) (VS5MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
(*(_CALL_VS_((NODEPTR )) (VS6MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_88(_TPPrule_88 _currn)
#else
void _VS1rule_88(_currn )
_TPPrule_88 _currn;

#endif
{
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);

if (NE(_currn->_desc1->_ATSymClass, SYMBTERM)) {
message(ERROR, "Must be TERM specification", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1810)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_currn->_ATTermType=_currn->_desc3->_ATKey;
/*SPC(1808)*/
_currn->_ATTreeOrClass=_AVSymClassTreeOrClass;
/*SPC(1807)*/
_currn->_ATHasComps=0;
/*SPC(1837)*/
_AVSymSpecIdcSymKeys_post=NullList;
/*SPC(1814)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_88(_TPPrule_88 _currn)
#else
void _VS2rule_88(_currn )
_TPPrule_88 _currn;

#endif
{
int* _IL_incl8;
int* _IL_incl4;
DefTableKey* _IL_incl7;
int* _IL_incl9;

_VisitVarDecl()
_VisitEntry();
_IL_incl8=_IG_incl8;_IG_incl8= &(_currn->_ATSymClass);
_IL_incl4=_IG_incl4;_IG_incl4= &(_currn->_ATHasComps);
_IL_incl7=_IG_incl7;_IG_incl7= &(_currn->_ATTermType);
_IL_incl9=_IG_incl9;_IG_incl9= &(_currn->_ATTreeOrClass);
_currn->_ATSymClass=_currn->_desc1->_ATSymClass;
/*SPC(1806)*/
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc2->_prod])))((NODEPTR) _currn->_desc2);
(*(_CALL_VS_((NODEPTR )) (VS2MAP[_currn->_desc3->_prod])))((NODEPTR) _currn->_desc3);
_IG_incl8=_IL_incl8;
_IG_incl4=_IL_incl4;
_IG_incl7=_IL_incl7;
_IG_incl9=_IL_incl9;

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS1rule_89(_TPPrule_89 _currn)
#else
void _VS1rule_89(_currn )
_TPPrule_89 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS2rule_89(_TPPrule_89 _currn)
#else
void _VS2rule_89(_currn )
_TPPrule_89 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();

if (NOT((* _IG_incl16))) {
message(ERROR, "TERM not allowed in rule computation", 0, (&( _currn->_AT_pos)));

} else {
}
;
/*SPC(1950)*/
_AVLocAttrIsChain=true;
/*SPC(1944)*/
(*(_CALL_VS_((NODEPTR )) (VS1MAP[_currn->_desc1->_prod])))((NODEPTR) _currn->_desc1);
_AVSymClassTreeOrClass=ZERO();
/*SPC(1943)*/
_AVAttrDefsOpt_const22=0;
/*SPC(944)*/

_VisitExit();
}

#if defined(__STDC__) || defined(__cplusplus)
void _VS4rule_89(_TPPrule_89 _currn)
#else
void _VS4rule_89(_currn )
_TPPrule_89 _currn;

#endif
{

_VisitVarDecl()
_VisitEntry();
_AVLocAttrIsChain=false;
/*SPC(861)*/
_AVExpressionExpr=FcCallToExpr(MkCall(TERMFCT, creatSEQExpr(FcValToExpr(MkVal(
((EQ(_currn->_desc1->_ATval, NoIndex)
) ? (1
) : (_currn->_desc1->_ATval))
, ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)))), ((_currn->_AT_pos).line), ((_currn->_AT_pos).col)));
/*SPC(1946)*/

_VisitExit();
}


Generated by  Doxygen 1.6.0   Back to index