本文整理汇总了C#中StringTemplate.parseAction方法的典型用法代码示例。如果您正苦于以下问题:C# StringTemplate.parseAction方法的具体用法?C# StringTemplate.parseAction怎么用?C# StringTemplate.parseAction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringTemplate
的用法示例。
在下文中一共展示了StringTemplate.parseAction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: action
//throws RecognitionException, TokenStreamException
public void action(
StringTemplate self
)
{
IToken a = null;
IToken i = null;
try { // for error handling
switch ( LA(1) )
{
case ACTION:
{
a = LT(1);
match(ACTION);
String indent = ((ChunkToken)a).getIndentation();
ASTExpr c = self.parseAction(a.getText());
c.setIndentation(indent);
self.addChunk(c);
break;
}
case IF:
{
i = LT(1);
match(IF);
ConditionalExpr c = (ConditionalExpr)self.parseAction(i.getText());
// create and precompile the subtemplate
StringTemplate subtemplate =
new StringTemplate(self.getGroup(), null);
subtemplate.setEnclosingInstance(self);
subtemplate.setName(i.getText()+" subtemplate");
self.addChunk(c);
template(subtemplate);
if ( c!=null ) c.setSubtemplate(subtemplate);
{
switch ( LA(1) )
{
case ELSE:
{
match(ELSE);
// create and precompile the subtemplate
StringTemplate elseSubtemplate =
new StringTemplate(self.getGroup(), null);
elseSubtemplate.setEnclosingInstance(self);
elseSubtemplate.setName("else subtemplate");
template(elseSubtemplate);
if ( c!=null ) c.setElseSubtemplate(elseSubtemplate);
break;
}
case ENDIF:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
match(ENDIF);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
catch (RecognitionException ex)
{
reportError(ex);
recover(ex,tokenSet_1_);
}
}