[antlr-interest] String template question..

sarim ssiddiqu at yahoo.com
Wed Jul 18 18:03:45 PDT 2007


Hi,
  I am new to StringTemplate. I have the following template:
  ************************
  group RuleTemplate;
fulldef(package,import,rulename) ::= <<$packagedef()$
$importdef(); separator="\n"$
$rulestart()$
>>
packagedef()::="package $package$"
importdef()::=<<
import $import$
>>
rulestart()::="rule $rulename$ "
  ********************
  Here is how I am calling it:
  String fileName="RuleTemplate.st";
  try
  {
  StringTemplateGroup group = new StringTemplateGroup(new BufferedReader( new FileReader(new File (fileName ))),DefaultTemplateLexer.class);
  StringTemplate query = group.getInstanceOf("fulldef");
  query.setAttribute("package","org.com");
  query.setAttribute("import","java.util.*");
  query.setAttribute("import","java.io.*");
  query.setAttribute("rulename","myfirstrule");
  System.out.println(query);
  ....
  *************************************
  There are no errors and I see the following output:
  ***********************************
  package org.com
  import java.util.*java.io.*
  rule myfirstrule 
  *****************************
  I want to get:
   
  package org.com
  import java.util.*
  import java.io.*
  rule myfirstrule 
   
  How should I change my template so that I can get the desired output? Why is the "separator" not taking effect?
  Thanks.
  --Sarim.

       
---------------------------------
Boardwalk for $500? In 2007? Ha! 
Play Monopoly Here and Now (it's updated for today's economy) at Yahoo! Games.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20070718/33f86648/attachment.html 


More information about the antlr-interest mailing list