[stringtemplate-interest] who uses regions?

Sam Harwell sharwell at pixelminegames.com
Thu Jun 30 12:39:41 PDT 2011


I actually came up with an idea last week concerning this, but figured you
were done looking at regions so I didn't mention it. Looks like that might
not be the case anymore. :)

Summary of how it could work:

* Get rid of explicit/implicit/embedded regions. Regions are always defined
explicitly, and a region reference is just a normal template reference.
* Allow a template definition to be formatted as "@dotted.ident.ifier".
* For the above rule, the template name is "@dotted.ident.ifier". The
character '@' is a new ID start char. The characters '-', '_', and '.' are
ID characters (but not ID start chars).
* A template expression <@name> refers to @currentTemplate.name.

In the implementation, the notion of regions is now gone. The @ syntax is
just shorthand for adding "@currentTemplateName." to the name of the
template to lookup, which makes them effectively the same as they used to be
since the automatic insertion of the current template name means you can
only reference them within a specific template.

If <@name()> appears within a template named "@other.item", the extra @ is
dropped when forming "@other.item.name".

When looking up a template, if the name starts with @ and isn't found,
return an empty template without printing an error message (covers the case
where implicit regions were used before).

Sam

-----Original Message-----
From: stringtemplate-interest-bounces at antlr.org
[mailto:stringtemplate-interest-bounces at antlr.org] On Behalf Of Terence Parr
Sent: Thursday, June 30, 2011 1:56 PM
To: stringtemplate-interest Template
Subject: [stringtemplate-interest] who uses regions?

they are driving me nuts in STv4 implementation. i'm not even sure what they
mean anymore with subdirs and /a/b/c/d style references with inheritance
mixed in.

I don't use anymore myself. I released I needed them in ANTLR v3 code gen
due to forcing too much of logic into templates.  v4 does all thinking in
code and constructs internal model and then just makes templates and fills
and renders.

i'd love to eject regions but not if people use.  I guess ANTLR 3.4 needs
them...hmm...

Ter
_______________________________________________
stringtemplate-interest mailing list
stringtemplate-interest at antlr.org
http://www.antlr.org/mailman/listinfo/stringtemplate-interest



More information about the stringtemplate-interest mailing list