[antlr-interest] null pointer to ADAPTOR->setTokenBoundaries

Alan Condit acondit at ipns.com
Wed May 19 14:06:25 PDT 2010


Jim,

Here is what I have set in options:
options {
	backtrack 	= 	true;
	memoize		= 	true;
	language	=	C;
	output		=	AST;
	ASTLabelType	=	pANTLR3_BASE_TREE;
	}

The null is inside 'ctx' inside 'adaptor' at 'setTokenBoundaries'.

It is inside a function 
/** 
* $ANTLR start line
* /Users/acondit/source/GCCnv/LatheBranch/trunk/Parser/RS274ngc.g:184:1: line : ( ( line_number )? ( segment )+ K_NEWLINE -> ^( STMT ( segment )+ ) | ( line_number )? K_NEWLINE -> | oword_stmt -> ^( STMT oword_stmt ) );
*/
static RS274ngcParser_line_return
line(pRS274ngcParser ctx)
{
...
}

which I assume, based on the comment, is generated from this rule:
line	:	line_number? segment+ K_NEWLINE
		-> ^(STMT segment+)
	|	line_number? K_NEWLINE
		->
	|	oword_stmt
		-> ^(STMT oword_stmt)
	;

The grammar is for parsing an existing language not one of my invention, and grammatically the newlines delineate a semantic block therefore must be known by the parser, but empty lines are discarded and therefore should not be in the tree.

Alan
---

Alan's MachineWorks
1085 Tierra Ct.
Woodburn, OR 97071

Email -- acondit at alansmachineworks.com
www.alansmachineworks.com

Jim wrote--
Please post more information about your grammar, what the null pointer is, etc. It is hard to interpolate, but the common mistake is not adding output=AST; to the options, so you do not get a tree adaptor created.

Jim
> -----Original Message-----
> From: antlr-interest-bounces at antlr.org
[mailto:antlr-interest-
> bounces at antlr.org
] On Behalf Of Alan Condit

> Sent: Wednesday, May 19, 2010 11:25 AM
> To: antlr-interest at antlr.org
> Subject: [antlr-interest] null pointer to ADAPTOR->setTokenBoundaries
> 
> Help!!!
> 
> I am getting a null pointer to setTokenBoundaries in the following line
> of generated code.
> "ADAPTOR->setTokenBoundaries(ADAPTOR, retval.tree, retval.start,
> retval.stop);"
> 
> The grammar works under Java.  In moving it back to 'C', I changed the
> language option to 'C', added option ASTLabelType=pANTLR3_BASE_TREE;
> and added the necessary includes to compile and link under Objective-C.
> 
> Is there anything obvious that I am doing wrong?
> 
> Thanks,
> Alan
> 




More information about the antlr-interest mailing list