[stringtemplate-interest] [ST4] How to apply multiple "format"s to an expression?
Sam Harwell
sharwell at pixelminegames.com
Fri Feb 18 14:29:22 PST 2011
Does this work:
<(upper(n)); format="%-15s">
With this definition of upper(x)?
upper(x) ::= <<
<x; format="upper">
>>
Also, here's an interesting case where if <x.y> checked for a method y()
(zero parameters and non-void return value), you could use <n.toUpperCase;
format="%-15s">. This could actually be done by extending the
ObjectModelAdaptor model adapter to have it check for such a method.
Sam
From: stringtemplate-interest-bounces at antlr.org
[mailto:stringtemplate-interest-bounces at antlr.org] On Behalf Of Udo
Borkowski
Sent: Friday, February 18, 2011 4:02 PM
To: stringtemplate-interest List
Subject: [stringtemplate-interest] [ST4] How to apply multiple "format"s to
an expression?
Hi,
I would like to generate a constant definition like this:
public static final int ABC = 123;
public static final int GHIJKLMN = 456;
To make sure the "="s are aligned I can use the Java String format padding
feature, e.g. use a template like this:
t1(n,v) ::= <<
public static final int <n;format="%-15s"> = <v>;
>>
However the name is given in mixed case and I need to "upper" it, e.g. with
something like this:
t2(n,v) ::= <<
public static final int <n;format="upper"> = <v>;
>>
Is there a way to combine both formats, so I get an uppercased, right padded
name?
Udo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/stringtemplate-interest/attachments/20110218/53660b47/attachment.html
More information about the stringtemplate-interest
mailing list