[stringtemplate-interest] Parallel list iteration over a template

Terence Parr parrt at cs.usfca.edu
Sun Mar 4 18:41:52 PST 2012


hi. Welcome Othmar.Can you narrow this down to a much smaller problem. there is a lot of stuff in there and I'm not sure which parallel walk you want to do. to me it sounds like you want something like

<list1,list2:{a,b | <foo(a,b)>}>

Ter
On Mar 4, 2012, at 12:41 PM, ..... Ollio ...... wrote:

> Hello 
> 
> I discovered stringtemplate and antler and got into a keen interest.
> 
> Rightnow I try fitting Stringtemplate to generate some PLSQL-code. Till now it took my several hours and some days and did some good progress, but now it seems I'm really stuck:
> 
> How can I do parallel iteration over severval parameterlists while calling a named template for each step?
> 
> I can see there are these anonymous inline templates that could do the work. But this lead to blobed code without any modularisation. 
> 
> I'm Working with STST on CMD.EXE with a JSON Datarepositry:
> 
> 
> $stst LPNO_TUT01.main LPNO_TUT01.js -a
> 
> ----------------------------------------
> LPNO_TUT01.stg
> ----------------------------------------
> group LPNO_TUT01;
> 
> main() ::= <<
> 
> create or replace
> package API$<TABLE_NAME> 
> 
> --- TABLE_NAME : <TABLE_NAME>,
> --- PARAMLIST : <PARAMLIST>,
> --- UFLDSET_SUFFIX : <UFLDSET_SUFFIX; separator="\n--- UFLDSET_SUFFIX : "> 
> --- UFLDSET_PARAMLIST : <UFLDSET_PARAMLIST; separator="\n--- UFLDSET_PARAMLIST : ">
> 
> <SubA()>
> <vars:{v | int <v>;}>
> 
> <SubB("suffix0")>
> 
> --- Testchunks
> --- <TABLE_NAME:{v | int <v>;}>
> --- <TABLE_NAME, PARAMLIST:{v, p | int <v>; float <p>;}>
> 
> --- Pre- and Posttext with anonymous inline template: 1 Parameter
> <UFLDSET_SUFFIX:{v | Pretext <v> Posttext;<\n>}>
> 
> 
> --- Pre- and Posttext with anonymous inline template: 2 Parameter, parallel interation
> <UFLDSET_SUFFIX, UFLDSET_PARAMLIST:{v, p | Pretext v: <v>  p: <p> Posttext;<\n>}>
> 
> ---??   )-:  First Try doing parallel iteration on the two Parameter-ARRAYs:  :-( ???? 
> <SHOW_4UNIQUE_FIELDSET(suffix=UFLDSET_SUFFIX, params=UFLDSET_PARAMLIST)>
> 
> 
> ---??   )-:  Second Try doing parallel iteration on the two Parameter-ARRAYs:  :-( ???? 
> <UFLDSET_SUFFIX, UFLDSET_PARAMLIST:{s, p | SHOW_4UNIQUE_FIELDSET(<s>,<p>)<\n>}>
> 
> end package API$<TABLE_NAME>;
> -- eof     eof     eof     eof     eof     eof     eof     eof     eof     eof     eof     eof     eof     eof     eof     eof     eof     eof  
> 
> 
> 
>>> 
> 
> 
> /* 
> <SHOW_4UNIQUE_FIELDSET("suffix1", "params1")>
> */
> 
> SubA() ::= <<
> function SHOW_SubA()   
> RETURN <TABLE_NAME>%ROWTYPE;
>>> 
> 
> SubB(suffix) ::= <<
> function SHOW_SubB_<suffix>()   
> RETURN <TABLE_NAME>%ROWTYPE;
>>> 
> 
> 
> SHOW_4UNIQUE_FIELDSET(suffix, params) ::=  <<
> function SHOW_BY_<suffix>(<params>)   
> RETURN <TABLE_NAME>%ROWTYPE;
> --- returns the %ROWTYPE or NULL if failure
> --- exceptions by any constraint-violation are raised
>>> 
> 
> 
> enum() ::= <<
> 
>>> 
> 
> 
> ----------------------------------------
> LPNO_TUT01.js
> ----------------------------------------
> 
> {
> "TABLE_NAME" : "KATT_TAB2",
> "PARAMLIST" : "T2PK1 number",
> "UFLDSET_SUFFIX" : ["T2ATTR0_T2ATTR1_T2ATTR2", "T2ATTR3"],
> "UFLDSET_PARAMLIST" : ["T2ATTR0 Number, T2ATTR1 Varchar, T2ATTR2 varchar", "T2ATTR3 number"]
> }
> 
> 
> 
> ---------------------
> Can anyone guide me in the right direction?
> Thanks 
> 
> Othmar
> 
> 
> -- 
> NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone!                                  
> Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a
> _______________________________________________
> 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