[stringtemplate-interest] Bug in group map parsing??
Caleb Lyness
caleb.lyness at ezswitch.net
Fri Dec 22 04:25:26 PST 2006
Hello all,
Can I use my wiki login to login on Jira and reports bugs?
And here are the bugs I have come across:
1) The string "default" cannot be used as the string in the map
2) If default is the only element in the map, parsing fails:
*
Group definition:*
group testGroup;
map ::= [
default: "default"
]
t1() ::= "$map.(1)$"
fails as follows:
template group parse error
line 3:6: expecting STRING, found 'default'
at antlr.Parser.match(Parser.java:211)
at
org.antlr.stringtemplate.language.GroupParser.keyValuePair(GroupParser.java:529)
at
org.antlr.stringtemplate.language.GroupParser.map(GroupParser.java:474)
at
org.antlr.stringtemplate.language.GroupParser.mapdef(GroupParser.java:369)
at
org.antlr.stringtemplate.language.GroupParser.group(GroupParser.java:189)
at
org.antlr.stringtemplate.StringTemplateGroup.parseGroup(StringTemplateGroup.java:769)
at
org.antlr.stringtemplate.StringTemplateGroup.<init>(StringTemplateGroup.java:271)
at
org.antlr.stringtemplate.StringTemplateGroup.<init>(StringTemplateGroup.java:249)
at t.main(t.java:22)
*Group definition:*
group testGroup;
map ::= [
"str": "value",
default: "default"
]
t1() ::= "$map.(1)$"
fails as follows:
template group parse error
line 4:15: unexpected token: default
at
org.antlr.stringtemplate.language.GroupParser.keyValue(GroupParser.java:580)
at
org.antlr.stringtemplate.language.GroupParser.map(GroupParser.java:495)
at
org.antlr.stringtemplate.language.GroupParser.mapdef(GroupParser.java:369)
at
org.antlr.stringtemplate.language.GroupParser.group(GroupParser.java:189)
at
org.antlr.stringtemplate.StringTemplateGroup.parseGroup(StringTemplateGroup.java:769)
at
org.antlr.stringtemplate.StringTemplateGroup.<init>(StringTemplateGroup.java:271)
at
org.antlr.stringtemplate.StringTemplateGroup.<init>(StringTemplateGroup.java:249)
at t.main(t.java:22)
*This group definition works:*
group testGroup;
map ::= [
"str": "value",
default: "defaul"
]
t1() ::= "$map.(1)$"
*Code to reproduce results:*
String templateGroupDef = "group testGroup; \n"
+ "map ::= [\n"
+ " \"str\": \"value\",\n"
+ " default: \"defaul\"\n"
+ "]\n\n"
+ "t1() ::= \"$map.(1)$\"\n";
StringTemplateGroup group = new StringTemplateGroup(
new StringReader(templateGroupDef),
DefaultTemplateLexer.class);
System.out.println(templateGroupDef);
StringTemplate tmpl = group.getInstanceOf("t1");
System.out.println(tmpl.toString());
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org:8080/pipermail/stringtemplate-interest/attachments/20061222/5cb813ab/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3269 bytes
Desc: S/MIME Cryptographic Signature
Url : http://www.antlr.org:8080/pipermail/stringtemplate-interest/attachments/20061222/5cb813ab/attachment-0001.bin
More information about the stringtemplate-interest
mailing list