mirror of
https://github.com/gnustep/libs-gsweb.git
synced 2025-02-23 11:41:20 +00:00
* 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
750 lines
19 KiB
Objective-C
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
|
|
|