libs-gsweb/GSWeb.framework/GSWPageDefParser.m
Manuel Guesdon e016ce3909 2003-01-19 Manuel Guesdon <mguesdon@orange-concept.com>
* GSWeb/GSWApplication.m
		o removed unused +initialize
	* GSWeb/GSWDefaultAdaptorThread.m:
		o more information on "bad request first line" exception
	* GSWeb/GSWHTMLDynamicElement.m
		o in -initWithName:attributeAssociations:contentElements:
			add "" to association values because XML parser romove them.
		o added -computeActionStringWithActionClassAssociation:
				directActionNameAssociation:inContext:
		o added -computeQueryDictionaryWithActionClassAssociation:
				directActionNameAssociation:queryDictionaryAssociation:
				otherQueryAssociations:inContext:
	* GSWeb/GSWResponse.m:
		o don't append debugcomment if !GSDebugSet(@"debugComments")
		o fixed bug in appendContentString: in NSAssert3 params
		o adedd -_appendTagAttribute:value:escapingHTMLAttributeValue:
		o added GSWResponse (GSWResponseRedirected)
	* GSWeb/GSWResponse.h:
		o added -forceFinalizeInContext
		o added GSWResponse (GSWResponseRedirected)
	* GSWeb/GSWTemplateParserXML.m:
		o only include comments if [GSWApplication includeCommentsInResponses]
	* GSWExtensions.framework/GSWLongResponsePage.m:
		o in -cancel call cancelPageForStatus: instead of cancelPage
		o declare private interface
	* GSWeb/GSWComponent.m:
		o don't output end of component commend if !DEBUG && !GSDebugSet(@"gswcomponents")
		o fixes in _generateResponseInContext:
	* GSWeb/GSWContext.[hm]:
		o added _userInfo to enable developper context specific
			temporary information storage
		o added -userInfo
		o added -_generateRelativeURLs
		o make -_generateCompleteURLs returning previous state.
		o added -directActionURLForActionNamed:queryDictionary:isSecure:
		o added -_directActionURLForActionNamed:queryDictionary:isSecure:url:
		o added -componentActionURLIsSecure:
		o modified -session
		o modified -_takeAwakeComponent: to not add already added component
		o implemented _takeAwakeComponentsFromArray;
		o fixed -_incrementContextID
		o added _session
		o fixes in -copyWithZone to keep mutable objects mutables.
		o added _requestContextID
		o added -_setRequestContextID: and -_requestContextID;
	* GSWeb/GSWHyperlink.[hm]:
		o added _secure
		o added binding validation tests
		o fixes in -appendToResponse:inContext:
		o handle correctly otherQueryAssociations (bindings starting with '?')
	* GSWeb/GSWConstants.[hm]:
		o added cidStore__Key for GSWHTMLURLValuedElement
		o added cidKey__Key for GSWHTMLURLValuedElement
	* GSWeb/GSWImage.[hm]:
		o added _width, _height
	* GSWeb/GSWHTMLURLValuedElement.[hm]
		o implemented -_appendCGIActionURLToResponse:inContext:
		o implemented -computeActionStringInContext:
		o implemented -computeQueryDictionaryInContext:
		o handle otherQueryAssociations (bindings starting with '?')
		o handle cidStore and cidKey
	* GSWeb/GSWRequest.[hm]:
		o added _context
		o changes for compilation warnings
		o added -sessionIDFromValuesOrCookieByLookingForCookieFirst:
		o added +_lookForIDsInCookiesFirst
		o rewrite form/uri/cookie values retrieving (for sessionID,...)
		o new use GSMimeParser for formData parsing
	* Doc/antlr.txt added
	* GSWeb/GSWPageDefParser.[hm] regenerated to handle (bindings starting with '?')
	* GSWeb/GSWPageDefParserTokenTypes.txt regenerated to handle (bindings starting with '?')
	* GSWeb/GSWPageDefParserTokenTypes.h regenerated to handle (bindings starting with '?')
	* GSWeb/GSWPageDefLexer.[hm]  regenerated to handle (bindings starting with '?')
	* GSWeb/GSWUtils.[hm]:
		o added -extractObjectsForKeysWithPrefix:removePrefix:
		o fixed bug in HexStringToData
		o fixed bug in NSDictionary +dictionaryWithArray:onSelector:withObject:
	* GSWeb/GSWForm.[hm]
		o handle otherQueryAssociations (bindings starting with '?')
		o implemented -computeQueryDictionaryInContext:
		o implemented/fixed -_appendHiddenFieldsToResponse:inContext:
		o implemented -_appendCGIActionToResponse:inContext:
		o fix -appendGSWebObjectsAssociationsToResponse:inContext: for directAction
		o added -computeActionStringInContext:
		o fixed -invokeActionForRequest:inContext: to invoke action when to element is invoked
	* GSWeb/GSWDirectAction.m:
		o fixed -_initializeRequestSessionIDInContext:
		o added -sessionIDForRequest:
	* GSWeb/NSString+HTML.[hm]:
		o added -dictionaryWithSep1:withSep2:withOptionUnescape:forceArray:
	* GSWeb/NSString+Trimming.m:
		o fix in +stringUniqueIdWithLength: initialize random generator
	* GSWeb/GSWSession.[hm]:
		o added createSessionID which create better sessionID
			(uniq in time and larger to give better security)
		o fixes in _saveCurrentPage
	* GSWeb/GSWBundle.m:
		o fix compiler warning


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@15630 72102866-910b-0410-8b05-ffd578937521
2003-01-19 15:33:07 +00:00

750 lines
19 KiB
Objective-C

/*
* ANTLR-generated file resulting from grammar /tmp/PageDef.g
*
* Terence Parr, MageLang Institute
* with John Lilley, Empathy Software
* and Manuel Guesdon, Software Builders
* ANTLR Version 2.5.0; 1996,1997,1998,1999
*/
#include <GSWeb/GSWeb.h>
#include "gsantlr/ANTLRCommon.h"
#include "GSWPageDefParser.h"
#include "GSWPageDefParserTokenTypes.h"
#include "gsantlr/ANTLRNoViableAltException.h"
#include "gsantlr/ANTLRBitSet.h"
#include "gsantlr/ANTLRAST.h"
#include "gsantlr/ANTLRASTPair.h"
@implementation GSWPageDefParser
-(id)initWithTokenBuffer:(ANTLRTokenBuffer *)_buffer maxK:(int)_k
{
//LOGObjectFnStart();
self=[super initWithTokenBuffer:_buffer maxK:_k];
[self setTokenNames:GSWPageDefParser___tokenNames];
//LOGObjectFnStop();
return self;
}
-(id)initWithTokenBuffer:(ANTLRTokenBuffer *)_buffer
{
//LOGObjectFnStart();
self=[super initWithTokenBuffer:_buffer maxK:5];
[self setTokenNames:GSWPageDefParser___tokenNames];
//LOGObjectFnStop();
return self;
}
-(id)initWithTokenizer:(ANTLRDefTokenizer)_lexer maxK:(int)_k
{
//LOGObjectFnStart();
self=[super initWithTokenizer:_lexer maxK:_k];
[self setTokenNames:GSWPageDefParser___tokenNames];
//LOGObjectFnStop();
return self;
}
-(id)initWithTokenizer:(ANTLRDefTokenizer)_lexer
{
//LOGObjectFnStart();
self=[self initWithTokenizer:_lexer maxK:5];
[self setTokenNames:GSWPageDefParser___tokenNames];
//LOGObjectFnStop();
return self;
}
-(void) document
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST document_AST = ANTLRnullAST;
DESTROY(elements);
elements=[NSMutableDictionary new];
DESTROY(includes);
includes=[NSMutableArray new];
DESTROY(errors);
DESTROY(warnings);
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
{
int _cnt5=0;
do
{
switch ( [self LA:1])
{
case GSWPageDefParserTokenType_IDENT:
{
{
[self object];
[astFactory addASTChild:returnAST in:currentAST];
[elements setObject:currentElement forKey:[currentElement elementName]];
}
break;
}
case GSWPageDefParserTokenType_INCLUDE:
{
{
[self include];
[astFactory addASTChild:returnAST in:currentAST];
}
break;
}
default:
{
if ( _cnt5>=1 ) { goto _loop5; } else {[ANTLRNoViableAltException raiseWithToken:[self LT:1]];}
}
}
_cnt5++;
} while (YES);
_loop5:;
}
document_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_0];
}
NS_ENDHANDLER;
ASSIGN(returnAST,document_AST);
//LOGObjectFnStop();
}
-(void) object
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST object_AST = ANTLRnullAST;
ANTLRDefToken objectId = nil;
ANTLRDefAST objectId_AST = ANTLRnullAST;
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
objectId = [self LT:1];
{
objectId_AST = [astFactory create:objectId];
[astFactory makeASTRoot:objectId_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_IDENT];
currentElement=[[GSWPageDefElement new] autorelease]; [currentElement setElementName:[objectId_AST text]];
{
ANTLRDefAST tmp1_AST = ANTLRnullAST;
tmp1_AST = [astFactory create:[self LT:1]];
[astFactory makeASTRoot:tmp1_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_COLUMN];
{
[self definition];
[astFactory addASTChild:returnAST in:currentAST];
}
object_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_1];
}
NS_ENDHANDLER;
ASSIGN(returnAST,object_AST);
//LOGObjectFnStop();
}
-(void) include
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST include_AST = ANTLRnullAST;
ANTLRDefToken includeObj = nil;
ANTLRDefAST includeObj_AST = ANTLRnullAST;
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
{
{
ANTLRDefAST tmp2_AST = ANTLRnullAST;
tmp2_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp2_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_INCLUDE];
{
do
{
if (([self LA:1]==GSWPageDefParserTokenType_WS))
{
{
ANTLRDefAST tmp3_AST = ANTLRnullAST;
tmp3_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp3_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_WS];
}
else
{
goto _loop9;
}
} while (YES);
_loop9:;
}
}
includeObj = [self LT:1];
{
includeObj_AST = [astFactory create:includeObj];
[astFactory addASTChild:includeObj_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_STRING];
[includes addObject:[self unescapedString:[[[includeObj text] stringByDeletingPrefix:@"\""] stringByDeletingSuffix:@"\""]]];
include_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_1];
}
NS_ENDHANDLER;
ASSIGN(returnAST,include_AST);
//LOGObjectFnStop();
}
-(void) definition
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST definition_AST = ANTLRnullAST;
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
{
[self classname];
[astFactory addASTChild:returnAST in:currentAST];
}
{
ANTLRDefAST tmp4_AST = ANTLRnullAST;
tmp4_AST = [astFactory create:[self LT:1]];
[astFactory makeASTRoot:tmp4_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_LCURLY];
{
do
{
if (([self LA:1]==GSWPageDefParserTokenType_IDENT||[self LA:1]==GSWPageDefParserTokenType_QUESTIONMARK))
{
[self member];
[astFactory addASTChild:returnAST in:currentAST];
[currentElement setAssociation:currentAssociation forKey:currentMemberName]; DESTROY(currentMemberName); DESTROY(currentAssociation);
}
else
{
goto _loop15;
}
} while (YES);
_loop15:;
}
{
ANTLRDefAST tmp5_AST = ANTLRnullAST;
tmp5_AST = [astFactory create:[self LT:1]];
}
[self matchTokenType:GSWPageDefParserTokenType_RCURLY];
{
switch ( [self LA:1])
{
case GSWPageDefParserTokenType_SEMI:
{
{
ANTLRDefAST tmp6_AST = ANTLRnullAST;
tmp6_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp6_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_SEMI];
break;
}
case ANTLRToken_EOF_TYPE:
case GSWPageDefParserTokenType_INCLUDE:
case GSWPageDefParserTokenType_IDENT:
{
break;
}
default:
{
[ANTLRNoViableAltException raiseWithToken:[self LT:1]];
}
}
}
definition_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_1];
}
NS_ENDHANDLER;
ASSIGN(returnAST,definition_AST);
//LOGObjectFnStop();
}
-(void) classname
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST classname_AST = ANTLRnullAST;
ANTLRDefToken objectClass = nil;
ANTLRDefAST objectClass_AST = ANTLRnullAST;
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
objectClass = [self LT:1];
{
objectClass_AST = [astFactory create:objectClass];
[astFactory addASTChild:objectClass_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_IDENT];
[currentElement setClassName:[objectClass text]];
classname_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_2];
}
NS_ENDHANDLER;
ASSIGN(returnAST,classname_AST);
//LOGObjectFnStop();
}
-(void) member
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST member_AST = ANTLRnullAST;
ANTLRDefAST memberName_AST = ANTLRnullAST;
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
[self mname];
memberName_AST = returnAST;
[astFactory addASTChild:returnAST in:currentAST];
ASSIGN(currentMemberName,([memberName_AST toStringListWithSiblingSeparator:@"" openSeparator:@"" closeSeparator:@""]));
{
ANTLRDefAST tmp7_AST = ANTLRnullAST;
tmp7_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp7_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_ASSIGN];
{
[self mvalue];
[astFactory addASTChild:returnAST in:currentAST];
}
{
do
{
if (([self LA:1]==GSWPageDefParserTokenType_SEMI))
{
{
ANTLRDefAST tmp8_AST = ANTLRnullAST;
tmp8_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp8_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_SEMI];
}
else
{
goto _loop21;
}
} while (YES);
_loop21:;
}
member_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_3];
}
NS_ENDHANDLER;
ASSIGN(returnAST,member_AST);
//LOGObjectFnStop();
}
-(void) mname
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST mname_AST = ANTLRnullAST;
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
{
switch ( [self LA:1])
{
case GSWPageDefParserTokenType_QUESTIONMARK:
{
{
ANTLRDefAST tmp9_AST = ANTLRnullAST;
tmp9_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp9_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_QUESTIONMARK];
break;
}
case GSWPageDefParserTokenType_IDENT:
{
break;
}
default:
{
[ANTLRNoViableAltException raiseWithToken:[self LT:1]];
}
}
}
{
{
ANTLRDefAST tmp10_AST = ANTLRnullAST;
tmp10_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp10_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_IDENT];
}
mname_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_4];
}
NS_ENDHANDLER;
ASSIGN(returnAST,mname_AST);
//LOGObjectFnStop();
}
-(void) mvalue
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST mvalue_AST = ANTLRnullAST;
ANTLRDefAST assocKeyPath_AST = ANTLRnullAST;
ANTLRDefToken assocConstantInt = nil;
ANTLRDefAST assocConstantInt_AST = ANTLRnullAST;
ANTLRDefToken assocConstantString = nil;
ANTLRDefAST assocConstantString_AST = ANTLRnullAST;
ANTLRDefToken assocConstantHexNum = nil;
ANTLRDefAST assocConstantHexNum_AST = ANTLRnullAST;
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
{
switch ( [self LA:1])
{
case GSWPageDefParserTokenType_IDENT:
case GSWPageDefParserTokenType_CIRC:
case GSWPageDefParserTokenType_TILDE:
case GSWPageDefParserTokenType_IDENTREF:
{
[self idref];
assocKeyPath_AST = returnAST;
[astFactory addASTChild:returnAST in:currentAST];
{ GSWAssociation* assoc=[GSWAssociation associationWithKeyPath:[assocKeyPath_AST toStringListWithSiblingSeparator:@"" openSeparator:@"" closeSeparator:@""]];
ASSIGN(currentAssociation,assoc); };
break;
}
case GSWPageDefParserTokenType_INT:
{
assocConstantInt = [self LT:1];
{
assocConstantInt_AST = [astFactory create:assocConstantInt];
[astFactory addASTChild:assocConstantInt_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_INT];
{ GSWAssociation* assoc=[GSWAssociation associationWithValue:[NSNumber valueFromString:[assocConstantInt text]]];
ASSIGN(currentAssociation,assoc); };
break;
}
case GSWPageDefParserTokenType_YES:
{
{
ANTLRDefAST tmp11_AST = ANTLRnullAST;
tmp11_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp11_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_YES];
{ GSWAssociation* assoc=[GSWAssociation associationWithValue:[NSNumber numberWithBool:YES]];
ASSIGN(currentAssociation,assoc); };
break;
}
case GSWPageDefParserTokenType_NO:
{
{
ANTLRDefAST tmp12_AST = ANTLRnullAST;
tmp12_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp12_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_NO];
{ GSWAssociation* assoc=[GSWAssociation associationWithValue:[NSNumber numberWithBool:NO]];
ASSIGN(currentAssociation,assoc); };
break;
}
case GSWPageDefParserTokenType_STRING:
{
assocConstantString = [self LT:1];
{
assocConstantString_AST = [astFactory create:assocConstantString];
[astFactory addASTChild:assocConstantString_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_STRING];
{ GSWAssociation* assoc=[GSWAssociation associationWithValue:[self unescapedString:[[[assocConstantString text] stringByDeletingPrefix:@"\""] stringByDeletingSuffix:@"\""]]];
ASSIGN(currentAssociation,assoc); };
break;
}
case GSWPageDefParserTokenType_HEXNUM:
{
assocConstantHexNum = [self LT:1];
{
assocConstantHexNum_AST = [astFactory create:assocConstantHexNum];
[astFactory addASTChild:assocConstantHexNum_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_HEXNUM];
{ GSWAssociation* assoc=[GSWAssociation associationWithValue:[NSNumber valueFromString:[assocConstantHexNum text]]];
ASSIGN(currentAssociation,assoc); };
break;
}
default:
{
[ANTLRNoViableAltException raiseWithToken:[self LT:1]];
}
}
}
mvalue_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_5];
}
NS_ENDHANDLER;
ASSIGN(returnAST,mvalue_AST);
//LOGObjectFnStop();
}
-(void) idref
{
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
ANTLRDefAST idref_AST = ANTLRnullAST;
//LOGObjectFnStart();
ASSIGN(returnAST,ANTLRnullAST);
NS_DURING // for error handling
{
{
switch ( [self LA:1])
{
case GSWPageDefParserTokenType_CIRC:
{
{
ANTLRDefAST tmp13_AST = ANTLRnullAST;
tmp13_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp13_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_CIRC];
break;
}
case GSWPageDefParserTokenType_TILDE:
{
{
ANTLRDefAST tmp14_AST = ANTLRnullAST;
tmp14_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp14_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_TILDE];
break;
}
case GSWPageDefParserTokenType_IDENT:
case GSWPageDefParserTokenType_IDENTREF:
{
break;
}
default:
{
[ANTLRNoViableAltException raiseWithToken:[self LT:1]];
}
}
}
{
switch ( [self LA:1])
{
case GSWPageDefParserTokenType_IDENT:
{
{
ANTLRDefAST tmp15_AST = ANTLRnullAST;
tmp15_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp15_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_IDENT];
break;
}
case GSWPageDefParserTokenType_IDENTREF:
{
{
ANTLRDefAST tmp16_AST = ANTLRnullAST;
tmp16_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp16_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_IDENTREF];
break;
}
default:
{
[ANTLRNoViableAltException raiseWithToken:[self LT:1]];
}
}
}
{
do
{
switch ( [self LA:1])
{
case GSWPageDefParserTokenType_PIDENT:
{
{
ANTLRDefAST tmp17_AST = ANTLRnullAST;
tmp17_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp17_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_PIDENT];
break;
}
case GSWPageDefParserTokenType_PIDENTREF:
{
{
ANTLRDefAST tmp18_AST = ANTLRnullAST;
tmp18_AST = [astFactory create:[self LT:1]];
[astFactory addASTChild:tmp18_AST in:currentAST];
}
[self matchTokenType:GSWPageDefParserTokenType_PIDENTREF];
break;
}
default:
{
goto _loop31;
}
}
} while (YES);
_loop31:;
}
idref_AST = [currentAST root];
}
NS_HANDLER
{
[self reportErrorWithException:localException];
[self consume];
[self consumeUntilTokenBitSet:GSWPageDefParser___tokenSet_5];
}
NS_ENDHANDLER;
ASSIGN(returnAST,idref_AST);
//LOGObjectFnStop();
}
static CONST NSString* GSWPageDefParser___tokenNames[] = {
@"<0>",
@"EOF",
@"<2>",
@"NULL_TREE_LOOKAHEAD",
@"INCLUDE",
@"WS",
@"STRING",
@"IDENT",
@"COLUMN",
@"LCURLY",
@"RCURLY",
@"SEMI",
@"ASSIGN",
@"QUESTIONMARK",
@"INT",
@"YES",
@"NO",
@"HEXNUM",
@"CIRC",
@"TILDE",
@"IDENTREF",
@"PIDENT",
@"PIDENTREF",
@"SL_COMMENT",
@"ML_COMMENT",
@"POINT",
@"ESC",
@"HEXINT",
@"DIGIT",
@"HEXDIGIT",
@"LCLETTER",
@"LETTER",
0
};
CONST unsigned long GSWPageDefParser___tokenSet_0_data_[] = { 2UL, 0UL, 0UL, 0UL };
static ANTLRBitSet* GSWPageDefParser___tokenSet_0=nil;
CONST unsigned long GSWPageDefParser___tokenSet_1_data_[] = { 146UL, 0UL, 0UL, 0UL };
static ANTLRBitSet* GSWPageDefParser___tokenSet_1=nil;
CONST unsigned long GSWPageDefParser___tokenSet_2_data_[] = { 512UL, 0UL, 0UL, 0UL };
static ANTLRBitSet* GSWPageDefParser___tokenSet_2=nil;
CONST unsigned long GSWPageDefParser___tokenSet_3_data_[] = { 9344UL, 0UL, 0UL, 0UL };
static ANTLRBitSet* GSWPageDefParser___tokenSet_3=nil;
CONST unsigned long GSWPageDefParser___tokenSet_4_data_[] = { 4096UL, 0UL, 0UL, 0UL };
static ANTLRBitSet* GSWPageDefParser___tokenSet_4=nil;
CONST unsigned long GSWPageDefParser___tokenSet_5_data_[] = { 11392UL, 0UL, 0UL, 0UL };
static ANTLRBitSet* GSWPageDefParser___tokenSet_5=nil;
+(void)initialize
{
if (!GSWPageDefParser___tokenSet_0)
GSWPageDefParser___tokenSet_0=[[ANTLRBitSet bitSetWithULongBits:GSWPageDefParser___tokenSet_0_data_ length:8] retain];
if (!GSWPageDefParser___tokenSet_1)
GSWPageDefParser___tokenSet_1=[[ANTLRBitSet bitSetWithULongBits:GSWPageDefParser___tokenSet_1_data_ length:8] retain];
if (!GSWPageDefParser___tokenSet_2)
GSWPageDefParser___tokenSet_2=[[ANTLRBitSet bitSetWithULongBits:GSWPageDefParser___tokenSet_2_data_ length:8] retain];
if (!GSWPageDefParser___tokenSet_3)
GSWPageDefParser___tokenSet_3=[[ANTLRBitSet bitSetWithULongBits:GSWPageDefParser___tokenSet_3_data_ length:8] retain];
if (!GSWPageDefParser___tokenSet_4)
GSWPageDefParser___tokenSet_4=[[ANTLRBitSet bitSetWithULongBits:GSWPageDefParser___tokenSet_4_data_ length:8] retain];
if (!GSWPageDefParser___tokenSet_5)
GSWPageDefParser___tokenSet_5=[[ANTLRBitSet bitSetWithULongBits:GSWPageDefParser___tokenSet_5_data_ length:8] retain];
}
+(void)dealloc
{
DESTROY(GSWPageDefParser___tokenSet_0);
DESTROY(GSWPageDefParser___tokenSet_1);
DESTROY(GSWPageDefParser___tokenSet_2);
DESTROY(GSWPageDefParser___tokenSet_3);
DESTROY(GSWPageDefParser___tokenSet_4);
DESTROY(GSWPageDefParser___tokenSet_5);
[[self superclass] dealloc];
}
@end