[antlr-interest] v3: can't seem to work out filter=true

Mark Mandel mark.mandel at gmail.com
Mon May 28 17:52:22 PDT 2007


Heya,

I'm trying to wrap my head around filter=true, and failing.

I'm currently just trying to implement a grammar that will pick up
<tag> 's anywhere in a string, regardless of the string.

I figured a perfect opportunity for filter=true, which I had thought
would ignore what I didn't want, and allow me to filter down a list of
intended tokens in order (which is very handy).. but I can't seem to
get it to work for me.

When I do a test string of '<h>' against the below grammar, I get a
TokenException, but if I take out the filter=true, then it works
fine... I'm confused?

Can someone please point me in the right direction?

grammar TAG:

options
{
	output=AST;
	filter=true;
}


/* Parser */

basicTag
	:
	TAG_OPEN TAG_CLOSE
	;

/* Lexer */

TAG_OPEN
	:
	'<'TAG_NAME
	;
	
TAG_CLOSE
	:
	'>'
	;
	
/* fragments */

fragment TAG_NAME
	:
	(LETTER)(LETTER | DIGIT | '_')*
	;

fragment DIGIT
	:
	'0'..'9'
	;

fragment LETTER
	:
	'a'..'z' | 'A'..'Z'
	;

/* hidden tokens */

WS
	:
	(' '|'\r'|'\t'|'\u000C'|'\n')
	{
		$channel=HIDDEN;
	}
	;

Thanks,

Mark

-- 
E: mark.mandel at gmail.com
W: www.compoundtheory.com


More information about the antlr-interest mailing list