mirror of
https://github.com/gnustep/libs-gsweb.git
synced 2025-05-30 08:41:24 +00:00
Initial revision
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gsweb/trunk@5815 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
commit
0b7966e1ec
376 changed files with 69720 additions and 0 deletions
199
GSWeb.framework/GSWHTMLParser.m
Normal file
199
GSWeb.framework/GSWHTMLParser.m
Normal file
|
@ -0,0 +1,199 @@
|
|||
/*
|
||||
* ANTLR-generated file resulting from grammar html.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.framework/GSWeb.h>
|
||||
|
||||
#include "gsantlr/ANTLRCommon.h"
|
||||
#include "GSWHTMLParser.h"
|
||||
#include "GSWHTMLTokenTypes.h"
|
||||
#include "gsantlr/ANTLRNoViableAltException.h"
|
||||
#include "gsantlr/ANTLRBitSet.h"
|
||||
#include "gsantlr/ANTLRAST.h"
|
||||
#include "gsantlr/ANTLRASTPair.h"
|
||||
@implementation GSWHTMLParser
|
||||
-(id)initWithTokenBuffer:(ANTLRTokenBuffer *)_buffer maxK:(int)_k
|
||||
{
|
||||
//LOGObjectFnStart();
|
||||
self=[super initWithTokenBuffer:_buffer maxK:_k];
|
||||
[self setTokenNames:GSWHTMLParser___tokenNames];
|
||||
//LOGObjectFnStop();
|
||||
return self;
|
||||
}
|
||||
|
||||
-(id)initWithTokenBuffer:(ANTLRTokenBuffer *)_buffer
|
||||
{
|
||||
//LOGObjectFnStart();
|
||||
self=[super initWithTokenBuffer:_buffer maxK:5];
|
||||
[self setTokenNames:GSWHTMLParser___tokenNames];
|
||||
//LOGObjectFnStop();
|
||||
return self;
|
||||
}
|
||||
|
||||
-(id)initWithTokenizer:(ANTLRDefTokenizer)_lexer maxK:(int)_k
|
||||
{
|
||||
//LOGObjectFnStart();
|
||||
self=[super initWithTokenizer:_lexer maxK:_k];
|
||||
[self setTokenNames:GSWHTMLParser___tokenNames];
|
||||
//LOGObjectFnStop();
|
||||
return self;
|
||||
}
|
||||
|
||||
-(id)initWithTokenizer:(ANTLRDefTokenizer)_lexer
|
||||
{
|
||||
//LOGObjectFnStart();
|
||||
self=[self initWithTokenizer:_lexer maxK:5];
|
||||
[self setTokenNames:GSWHTMLParser___tokenNames];
|
||||
//LOGObjectFnStop();
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void) document
|
||||
{
|
||||
|
||||
ANTLRASTPair* currentAST=[[ANTLRASTPair new] autorelease];
|
||||
ANTLRDefAST document_AST = ANTLRnullAST;
|
||||
ANTLRDefToken ot = nil;
|
||||
ANTLRDefAST ot_AST = ANTLRnullAST;
|
||||
ANTLRDefToken ct = nil;
|
||||
ANTLRDefAST ct_AST = ANTLRnullAST;
|
||||
ANTLRDefToken com = nil;
|
||||
ANTLRDefAST com_AST = ANTLRnullAST;
|
||||
|
||||
DESTROY(errors);
|
||||
DESTROY(warnings);
|
||||
|
||||
|
||||
//LOGObjectFnStart();
|
||||
ASSIGN(returnAST,ANTLRnullAST);
|
||||
NS_DURING // for error handling
|
||||
{
|
||||
{
|
||||
int _cnt3=0;
|
||||
do
|
||||
{
|
||||
switch ( [self LA:1])
|
||||
{
|
||||
case GSWHTMLTokenType_WS:
|
||||
{
|
||||
{
|
||||
ANTLRDefAST tmp1_AST = ANTLRnullAST;
|
||||
tmp1_AST = [astFactory create:[self LT:1]];
|
||||
[astFactory addASTChild:tmp1_AST in:currentAST];
|
||||
}
|
||||
[self matchTokenType:GSWHTMLTokenType_WS];
|
||||
break;
|
||||
}
|
||||
case GSWHTMLTokenType_TEXT:
|
||||
{
|
||||
{
|
||||
ANTLRDefAST tmp2_AST = ANTLRnullAST;
|
||||
tmp2_AST = [astFactory create:[self LT:1]];
|
||||
[astFactory addASTChild:tmp2_AST in:currentAST];
|
||||
}
|
||||
[self matchTokenType:GSWHTMLTokenType_TEXT];
|
||||
break;
|
||||
}
|
||||
case GSWHTMLTokenType_OPENTAG:
|
||||
{
|
||||
ot = [self LT:1];
|
||||
{
|
||||
ot_AST = [astFactory create:ot];
|
||||
[astFactory addASTChild:ot_AST in:currentAST];
|
||||
}
|
||||
[self matchTokenType:GSWHTMLTokenType_OPENTAG];
|
||||
[ot_AST setText:[[[ot_AST text] stringWithoutPrefix:@"<"] stringWithoutSuffix:@">"]];
|
||||
break;
|
||||
}
|
||||
case GSWHTMLTokenType_CLOSETAG:
|
||||
{
|
||||
ct = [self LT:1];
|
||||
{
|
||||
ct_AST = [astFactory create:ct];
|
||||
[astFactory addASTChild:ct_AST in:currentAST];
|
||||
}
|
||||
[self matchTokenType:GSWHTMLTokenType_CLOSETAG];
|
||||
[ct_AST setText:[[[ct_AST text] stringWithoutPrefix:@"</"] stringWithoutSuffix:@">"]];
|
||||
break;
|
||||
}
|
||||
case GSWHTMLTokenType_COMMENT:
|
||||
{
|
||||
com = [self LT:1];
|
||||
{
|
||||
com_AST = [astFactory create:com];
|
||||
[astFactory addASTChild:com_AST in:currentAST];
|
||||
}
|
||||
[self matchTokenType:GSWHTMLTokenType_COMMENT];
|
||||
[com_AST setText:[[[com_AST text] stringWithoutPrefix:@"<!--"] stringWithoutSuffix:@"-->"]];
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
if ( _cnt3>=1 ) { goto _loop3; } else {[ANTLRNoViableAltException raiseWithToken:[self LT:1]];}
|
||||
}
|
||||
}
|
||||
_cnt3++;
|
||||
} while (YES);
|
||||
_loop3:;
|
||||
}
|
||||
document_AST = [currentAST root];
|
||||
}
|
||||
NS_HANDLER
|
||||
{
|
||||
[self reportErrorWithException:localException];
|
||||
[self consume];
|
||||
[self consumeUntilTokenBitSet:GSWHTMLParser___tokenSet_0];
|
||||
}
|
||||
NS_ENDHANDLER;
|
||||
ASSIGN(returnAST,document_AST);
|
||||
//LOGObjectFnStop();
|
||||
}
|
||||
|
||||
static CONST NSString* GSWHTMLParser___tokenNames[] = {
|
||||
@"<0>",
|
||||
@"EOF",
|
||||
@"<2>",
|
||||
@"NULL_TREE_LOOKAHEAD",
|
||||
@"WS",
|
||||
@"TEXT",
|
||||
@"OPENTAG",
|
||||
@"CLOSETAG",
|
||||
@"COMMENT",
|
||||
@"ATTR",
|
||||
@"COMMENT_DATA",
|
||||
@"WORD",
|
||||
@"STRING",
|
||||
@"WSCHARS",
|
||||
@"SPECIAL",
|
||||
@"HEXNUM",
|
||||
@"INT",
|
||||
@"HEXINT",
|
||||
@"DIGIT",
|
||||
@"HEXDIGIT",
|
||||
@"LCLETTER",
|
||||
@"UPLETTER",
|
||||
@"LETTER",
|
||||
@"UNDEFINED_TOKEN",
|
||||
0
|
||||
};
|
||||
|
||||
CONST unsigned long GSWHTMLParser___tokenSet_0_data_[] = { 2UL, 0UL, 0UL, 0UL };
|
||||
static ANTLRBitSet* GSWHTMLParser___tokenSet_0=nil;
|
||||
+(void)initialize
|
||||
{
|
||||
if (!GSWHTMLParser___tokenSet_0)
|
||||
GSWHTMLParser___tokenSet_0=[[ANTLRBitSet bitSetWithULongBits:GSWHTMLParser___tokenSet_0_data_ length:8] retain];
|
||||
}
|
||||
+(void)dealloc
|
||||
{
|
||||
DESTROY(GSWHTMLParser___tokenSet_0);
|
||||
[[self superclass] dealloc];
|
||||
}
|
||||
@end
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue