/** Load a group file with full path {@code fileName}; it's relative to root by {@code prefix}. */ public void loadGroupFile(String prefix, String fileName) { if ( verbose ) System.out.println(this.getClass().getSimpleName()+ ".loadGroupFile(group-file-prefix="+prefix+", fileName="+fileName+")"); GroupParser parser; try { URL f = new URL(fileName); ANTLRInputStream fs = new ANTLRInputStream(f.openStream(), encoding); GroupLexer lexer = new GroupLexer(fs); fs.name = fileName; CommonTokenStream tokens = new CommonTokenStream(lexer); parser = new GroupParser(tokens); parser.group(this, prefix); } catch (Exception e) { errMgr.IOError(null, ErrorType.CANT_LOAD_GROUP_FILE, e, fileName); } }
pushFollow(FOLLOW_oldStyleHeader_in_group86); oldStyleHeader(); state._fsp--; pushFollow(FOLLOW_delimiters_in_group91); delimiters(); state._fsp--; match(input,29,FOLLOW_29_in_group101); STRING1=(Token)match(input,STRING,FOLLOW_STRING_in_group103); group.importTemplates(STRING1); match(input,29,FOLLOW_29_in_group111); reportError(e); match(input,ID,FOLLOW_ID_in_group122); match(input,19,FOLLOW_19_in_group125); match(input,ID,FOLLOW_ID_in_group127); pushFollow(FOLLOW_def_in_group139); def(prefix); state._fsp--; match(input,EOF,FOLLOW_EOF_in_group145); reportError(re); recover(input,re);
pushFollow(FOLLOW_keyValuePair_in_dictPairs607); keyValuePair(mapping); state._fsp--; match(input,18,FOLLOW_18_in_dictPairs616); pushFollow(FOLLOW_keyValuePair_in_dictPairs618); keyValuePair(mapping); state._fsp--; match(input,18,FOLLOW_18_in_dictPairs624); pushFollow(FOLLOW_defaultValuePair_in_dictPairs626); defaultValuePair(mapping); state._fsp--; pushFollow(FOLLOW_defaultValuePair_in_dictPairs637); defaultValuePair(mapping); state._fsp--; error("missing dictionary entry at '"+input.LT(1).getText()+"'");
public final Map<String,Object> dict() throws RecognitionException { Map<String,Object> mapping = null; mapping=new HashMap<String,Object>(); try { // org/stringtemplate/v4/compiler/Group.g:269:2: ( '[' dictPairs[mapping] ']' ) // org/stringtemplate/v4/compiler/Group.g:269:6: '[' dictPairs[mapping] ']' { match(input,26,FOLLOW_26_in_dict517); pushFollow(FOLLOW_dictPairs_in_dict519); dictPairs(mapping); state._fsp--; match(input,27,FOLLOW_27_in_dict522); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { } return mapping; } // $ANTLR end "dict"
@Override public void displayRecognitionError(String[] tokenNames, RecognitionException e) { String msg = getErrorMessage(e, tokenNames); group.errMgr.groupSyntaxError(ErrorType.SYNTAX_ERROR, getSourceName(), e, msg); } @Override
match(input,21,FOLLOW_21_in_templateDef257); enclosing=(Token)match(input,ID,FOLLOW_ID_in_templateDef261); match(input,15,FOLLOW_15_in_templateDef263); name=(Token)match(input,ID,FOLLOW_ID_in_templateDef267); match(input,22,FOLLOW_22_in_templateDef269); match(input,23,FOLLOW_23_in_templateDef271); name=(Token)match(input,ID,FOLLOW_ID_in_templateDef279); match(input,22,FOLLOW_22_in_templateDef281); pushFollow(FOLLOW_formalArgs_in_templateDef283); formalArgs5=formalArgs(); match(input,23,FOLLOW_23_in_templateDef285); match(input,24,FOLLOW_24_in_templateDef296); Token templateToken = input.LT(1); STRING2=(Token)match(input,STRING,FOLLOW_STRING_in_templateDef312); template=(STRING2!=null?STRING2.getText():null); n=1; BIGSTRING3=(Token)match(input,BIGSTRING,FOLLOW_BIGSTRING_in_templateDef327); template=(BIGSTRING3!=null?BIGSTRING3.getText():null); n=2; BIGSTRING_NO_NL4=(Token)match(input,BIGSTRING_NO_NL,FOLLOW_BIGSTRING_NO_NL_in_templateDef339); template=(BIGSTRING_NO_NL4!=null?BIGSTRING_NO_NL4.getText():null); n=2; String msg = "missing template at '"+input.LT(1).getText()+"'"; NoViableAltException e = new NoViableAltException("", 0, 0, input); group.errMgr.groupSyntaxError(ErrorType.SYNTAX_ERROR, getSourceName(), e, msg);
ID7=(Token)match(input,ID,FOLLOW_ID_in_dictDef551); match(input,21,FOLLOW_21_in_dictDef553); pushFollow(FOLLOW_dict_in_dictDef555); dict8=dict(); state._fsp--; reportError(re); recover(input,re);
pushFollow(FOLLOW_formalArg_in_formalArgs462); formalArg(args); state._fsp--; match(input,18,FOLLOW_18_in_formalArgs466); pushFollow(FOLLOW_formalArg_in_formalArgs468); formalArg(args); state._fsp--; reportError(re); recover(input,re);
pushFollow(FOLLOW_templateDef_in_def228); templateDef(prefix); pushFollow(FOLLOW_dictDef_in_def233); dictDef(); error("garbled template definition starting at '"+input.LT(1).getText()+"'");
/** Load template stream into this group */ public CompiledST loadTemplateFile(String prefix, String fileName, CharStream templateStream) { GroupLexer lexer = new GroupLexer(templateStream); CommonTokenStream tokens = new CommonTokenStream(lexer); GroupParser parser = new GroupParser(tokens); parser.group = this; lexer.group = this; try { parser.templateDef(prefix); } catch (RecognitionException re) { errMgr.groupSyntaxError(ErrorType.SYNTAX_ERROR, fileName, re, re.getMessage()); } String templateName = Misc.getFileNameNoSuffix(fileName); if ( prefix!=null && prefix.length()>0 ) templateName = prefix+"/"+templateName; return rawGetTemplate(templateName); }
BIGSTRING12=(Token)match(input,BIGSTRING,FOLLOW_BIGSTRING_in_keyValue699); value = group.createSingleton(BIGSTRING12); BIGSTRING_NO_NL13=(Token)match(input,BIGSTRING_NO_NL,FOLLOW_BIGSTRING_NO_NL_in_keyValue708); value = group.createSingleton(BIGSTRING_NO_NL13); ANONYMOUS_TEMPLATE14=(Token)match(input,ANONYMOUS_TEMPLATE,FOLLOW_ANONYMOUS_TEMPLATE_in_keyValue716); value = group.createSingleton(ANONYMOUS_TEMPLATE14); STRING15=(Token)match(input,STRING,FOLLOW_STRING_in_keyValue723); value = Misc.replaceEscapes(Misc.strip((STRING15!=null?STRING15.getText():null), 1)); match(input,TRUE,FOLLOW_TRUE_in_keyValue733); value = true; match(input,FALSE,FOLLOW_FALSE_in_keyValue743); value = false; match(input,LBRACK,FOLLOW_LBRACK_in_keyValue753); match(input,RBRACK,FOLLOW_RBRACK_in_keyValue755); value = Collections.emptyList(); throw new FailedPredicateException(input, "keyValue", "input.LT(1).getText().equals(\"key\")"); match(input,ID,FOLLOW_ID_in_keyValue768); value = STGroup.DICT_KEY; error("missing value for key at '"+input.LT(1).getText()+"'");
match(input,24,FOLLOW_24_in_templateDef313); enclosing=(Token)match(input,ID,FOLLOW_ID_in_templateDef317); match(input,19,FOLLOW_19_in_templateDef319); name=(Token)match(input,ID,FOLLOW_ID_in_templateDef323); match(input,16,FOLLOW_16_in_templateDef325); match(input,17,FOLLOW_17_in_templateDef327); name=(Token)match(input,ID,FOLLOW_ID_in_templateDef335); match(input,16,FOLLOW_16_in_templateDef337); pushFollow(FOLLOW_formalArgs_in_templateDef339); formalArgs5=formalArgs(); state._fsp--; match(input,17,FOLLOW_17_in_templateDef341); match(input,21,FOLLOW_21_in_templateDef352); Token templateToken = input.LT(1); STRING2=(Token)match(input,STRING,FOLLOW_STRING_in_templateDef368); template=(STRING2!=null?STRING2.getText():null); n=1; BIGSTRING3=(Token)match(input,BIGSTRING,FOLLOW_BIGSTRING_in_templateDef383); template=(BIGSTRING3!=null?BIGSTRING3.getText():null); n=2; BIGSTRING_NO_NL4=(Token)match(input,BIGSTRING_NO_NL,FOLLOW_BIGSTRING_NO_NL_in_templateDef395); template=(BIGSTRING_NO_NL4!=null?BIGSTRING_NO_NL4.getText():null); n=2; String msg = "missing template at '"+input.LT(1).getText()+"'"; NoViableAltException e = new NoViableAltException("", 0, 0, input);
public final Map<String,Object> dict() throws RecognitionException { Map<String,Object> mapping = null; mapping=new HashMap<String,Object>(); try { // org\\stringtemplate\\v4\\compiler\\Group.g:294:2: ( '[' dictPairs[mapping] ']' ) // org\\stringtemplate\\v4\\compiler\\Group.g:294:6: '[' dictPairs[mapping] ']' { match(input,LBRACK,FOLLOW_LBRACK_in_dict587); pushFollow(FOLLOW_dictPairs_in_dict589); dictPairs(mapping); state._fsp--; match(input,RBRACK,FOLLOW_RBRACK_in_dict592); } } catch (RecognitionException re) { reportError(re); recover(input,re); } finally { // do for sure before leaving } return mapping; } // $ANTLR end "dict"
ID7=(Token)match(input,ID,FOLLOW_ID_in_dictDef551); match(input,21,FOLLOW_21_in_dictDef553); pushFollow(FOLLOW_dict_in_dictDef555); dict8=dict(); state._fsp--; reportError(re); recover(input,re);
pushFollow(FOLLOW_formalArg_in_formalArgs406); formalArg(args); match(input,19,FOLLOW_19_in_formalArgs410); pushFollow(FOLLOW_formalArg_in_formalArgs412); formalArg(args); reportError(re); recover(input,re);
pushFollow(FOLLOW_templateDef_in_def284); templateDef(prefix); state._fsp--; pushFollow(FOLLOW_dictDef_in_def289); dictDef(); state._fsp--; error("garbled template definition starting at '"+input.LT(1).getText()+"'");
public void displayRecognitionError(String[] tokenNames, RecognitionException e) { String msg = getErrorMessage(e, tokenNames); group.errMgr.groupSyntaxError(ErrorType.SYNTAX_ERROR, getSourceName(), e, msg); } public String getSourceName() {
/** Load template stream into this group. {@code unqualifiedFileName} is * {@code "a.st"}. The {@code prefix} is path from group root to * {@code unqualifiedFileName} like {@code "/subdir"} if file is in * {@code /subdir/a.st}. */ public CompiledST loadTemplateFile(String prefix, String unqualifiedFileName, CharStream templateStream) { GroupLexer lexer = new GroupLexer(templateStream); CommonTokenStream tokens = new CommonTokenStream(lexer); GroupParser parser = new GroupParser(tokens); parser.group = this; lexer.group = this; try { parser.templateDef(prefix); } catch (RecognitionException re) { errMgr.groupSyntaxError(ErrorType.SYNTAX_ERROR, unqualifiedFileName, re, re.getMessage()); } String templateName = Misc.getFileNameNoSuffix(unqualifiedFileName); if ( prefix!=null && prefix.length()>0 ) templateName = prefix+templateName; CompiledST impl = rawGetTemplate(templateName); impl.prefix = prefix; return impl; }
BIGSTRING12=(Token)match(input,BIGSTRING,FOLLOW_BIGSTRING_in_keyValue699); value = group.createSingleton(BIGSTRING12); BIGSTRING_NO_NL13=(Token)match(input,BIGSTRING_NO_NL,FOLLOW_BIGSTRING_NO_NL_in_keyValue708); value = group.createSingleton(BIGSTRING_NO_NL13); ANONYMOUS_TEMPLATE14=(Token)match(input,ANONYMOUS_TEMPLATE,FOLLOW_ANONYMOUS_TEMPLATE_in_keyValue716); value = group.createSingleton(ANONYMOUS_TEMPLATE14); STRING15=(Token)match(input,STRING,FOLLOW_STRING_in_keyValue723); value = Misc.replaceEscapes(Misc.strip((STRING15!=null?STRING15.getText():null), 1)); match(input,TRUE,FOLLOW_TRUE_in_keyValue733); value = true; match(input,FALSE,FOLLOW_FALSE_in_keyValue743); value = false; match(input,LBRACK,FOLLOW_LBRACK_in_keyValue753); match(input,RBRACK,FOLLOW_RBRACK_in_keyValue755); value = Collections.emptyList(); throw new FailedPredicateException(input, "keyValue", "input.LT(1).getText().equals(\"key\")"); match(input,ID,FOLLOW_ID_in_keyValue768); value = STGroup.DICT_KEY; error("missing value for key at '"+input.LT(1).getText()+"'");
pushFollow(FOLLOW_oldStyleHeader_in_group86); oldStyleHeader(); state._fsp--; pushFollow(FOLLOW_delimiters_in_group91); delimiters(); state._fsp--; match(input,29,FOLLOW_29_in_group101); STRING1=(Token)match(input,STRING,FOLLOW_STRING_in_group103); group.importTemplates(STRING1); match(input,29,FOLLOW_29_in_group111); reportError(e); match(input,ID,FOLLOW_ID_in_group122); match(input,19,FOLLOW_19_in_group125); match(input,ID,FOLLOW_ID_in_group127); pushFollow(FOLLOW_def_in_group139); def(prefix); state._fsp--; match(input,EOF,FOLLOW_EOF_in_group145); reportError(re); recover(input,re);