Files
secondo/Tools/Parser/SecParser.y
2026-01-23 17:03:45 +08:00

18366 lines
492 KiB
Plaintext

/*
----
This file is part of SECONDO.
Copyright (C) 2004, University in Hagen, Department of Computer Science,
Database Systems for New Applications.
SECONDO is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
SECONDO is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SECONDO; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
----
Dec. 2004, M. Spiekermann. YYERROR\_VERBOSE defined. Implementation of
yyerror need to be moved to SecParser.cpp.
July 15, 2010 Christian Duentgen added conditionalcommand
*/
%{
#include <cstdio>
#include <string>
#include <string.h>
#include <stack>
#include <utility>
#include "NestedText.h"
#define YYERROR_VERBOSE
#define YYDEBUG 1
bool USE_AUTO_BUFFER = false;
extern int yylex();
string* yacc_outtext;
typedef char cstring[50];
cstring paramname; // temporarly variable
#define maxparams 10
cstring params[maxparams];
int paramno;
stack<pair<int,string> > paramstack;
extern void yyerror( const char* s );
void cleanVariables(int max){
if(maxparams<max) max = maxparams;
for(int i=0;i<max;i++){
strcpy(params[i],"");
}
}
void emptystack(){
while(!paramstack.empty())
paramstack.pop();
cleanVariables(maxparams);
}
void restoreVariables(){
stack<pair<int,string> > tmpstack;
while(!paramstack.empty()){
pair<int,string> t = paramstack.top();
tmpstack.push(t);
paramstack.pop();
}
while(!tmpstack.empty()){
pair<int,string> t = tmpstack.top();
paramstack.push(t);
tmpstack.pop();
strcpy(params[t.first], t.second.c_str());
}
}
void PRINTF (const char *s)
{
(*yacc_outtext).append( s );
}
void PRINT (int i)
{
string temp;
NestedText::CopyOut( i, temp );
*yacc_outtext += temp;
}
void CLEAR(){
*yacc_outtext="";
}
%}
%verbose
%locations
%token ZZATTRABBR ZZATTRABBR2 ZZIDENTIFIER ZZFUN ZZINTEGER ZZREAL
ZZSTRING ZZBOOLEAN ZZCONST
ZZTUPLE ZZGROUP ZZTYPE ZZDELETE ZZCREATE ZZUPDATE ZZKILL ZZQUERY
ZZQUERYNT ZZPQUERY ZZPCOMPILE ZZLET ZZDERIVE ZZPERSISTENT ZZBEGIN1 ZZTRANSACTION ZZCOMMIT
ZZABORT ZZDATABASE ZZOPEN ZZCLOSE ZZSAVE ZZTO ZZRESTORE ZZFROM
ZZLIST ZZDATABASES ZZCONSTRUCTORS ZZOPERATORS ZZTYPES ZZOBJECTS
ZZASSIGN ZZDOUBLE ZZVALUE ZZPOINTER ZZCOUNTERS ZZALGEBRAS ZZALGEBRA ZZTEXT
ZZFILE ZZINFIXOP ZZPREFIXOP ZZINFIXOP_BUF ZZPREFIXOP_BUF ZZIF ZZTHEN
ZZELSE ZZENDIF ZZWHILE ZZDO ZZENDWHILE ZZNAMING ZZMEMORY ZZDEFAULTSEP
OPENDOUBLEBRACE CLOSEDOUBLEBRACE ZZSINGLE ZZARG3 ZZARG4 ZZARG5 ZZARG6 ZZARG7
ZZARG8 ZZARG9 ZZATTRABBR3 ZZATTRABBR4 ZZATTRABBR5 ZZATTRABBR6 ZZATTRABBR7 ZZATTRABBR8 ZZATTRABBR9
ZZCHANGENAME ZZTYPEOF
ZZPOSTFIXOP1 ZZPOSTFIXOP1_a ZZPOSTFIXOP2_a ZZNEST ZZPOSTFIXOP2 ZZSORTBY
ZZSORTBYPARAM ZZSORTBYH ZZGDIJKSTRA ZZMINPATHCOST2 ZZGBIDIJKSTRA
ZZMTMINPATHCOSTS2 ZZD_SEND_SHUFFLE ZZDSHUFFLE ZZDSHUFFLE2 ZZDSHUFFLE1
ZZDLOOP_OLD ZZDLOOPA_OLD ZZDTIE ZZPARTITIONDMAP ZZDMAPPDMAP
ZZFDISTRIBUTE2TES ZZDISTRIBUTE2TES ZZCOLLECTPC2 ZZOPTICSR ZZOPTICSM
ZZOPTICSF ZZOPTICSTF ZZFILTERV ZZFILTERNP ZZEXTENDV ZZPROJECTEXTENDV
ZZEXTENDNP ZZPROJECTEXTENDNP ZZDBDACSCAN ZZDISTSAMP ZZAPPLYPREDICATE
ZZFEEDPROJECT ZZFILTER ZZCFILTER ZZCAND ZZCOR ZZWITHIN ZZWITHIN2
ZZWHILEDO ZZFUNSEQ1 ZZFUNSEQ2 ZZFUNSEQ3 ZZFUNSEQ4 ZZFUNSEQ5 ZZFUNSEQ6
ZZDDISTRIBUTE4 ZZFDISTRIBUTE7 ZZDLOOP ZZDLOOP2 ZZDMAP ZZPDMAP
ZZDMAP2n ZZDMAP2 ZZDMAP3 ZZDMAP4 ZZDMAP5 ZZDMAP6 ZZDMAP7 ZZDMAP8
ZZPDMAP2 ZZPDMAP3 ZZPDMAP4 ZZPDMAP5 ZZPDMAP6 ZZPDMAP7 ZZPDMAP8
ZZDFDISTRIBUTE4 ZZPARTITION ZZPARTITIONF ZZAREDUCE ZZAREDUCE2
ZZAREDUCE2F ZZDPRODUCT ZZDDISTRIBUTE ZZDFDISTRIBUTE ZZPARTITION8LOCAL
ZZPARTITIONF8 ZZLOOPJOINREL ZZCONSTGRAPH ZZCONSTGRAPHPOINTS
ZZTRANSLATE ZZPOSTFIXOP3_a ZZEXISTS ZZFORALL ZZPOSTFIXOP3 ZZPARAJOIN
ZZFCONSUME ZZFFEED ZZHADOOPJOIN ZZFDISTRIBUTE ZZFFEED2 ZZFCONSUME3
ZZFFEED3 ZZFETCHFLOB ZZFDISTRIBUTE3 ZZMOCONSUME ZZMOCONSUMEFLOB
ZZMINSERTTUPLE ZZMINSERTTUPLESAVE ZZMUPDATE ZZMUPDATESAVE
ZZMUPDATEBYID ZZMUPDATEDIRECT2 ZZMORANGE ZZMOLEFTRANGE ZZMORIGHTRANGE
ZZMOSHORTESTPATHD ZZMOSHORTESTPATHA ZZMQUICKSORTBY ZZMGSHORTESTPATHD
ZZMGSHORTESTPATHA ZZMINSERTTUPLEPQPROJECTU ZZMINSERTTUPLEPQPROJECT
ZZMPQREORDER ZZMPQREORDERUPDATE ZZCREATEMGRAPH2 ZZCREATEMGRAPH2FLOB
ZZMG2INSERTORIG ZZMEMGROUPBY ZZMMERGEJOINPROJECT ZZPUSE ZZPJOIN2
ZZPJOIN1 ZZEXTENDITEMNAMES ZZSORTARRAY ZZTIE ZZCUMULATE ZZLOOP
ZZLOOPA ZZLOOPB ZZLOOPSWITCH ZZLOOPSWITCHA ZZLOOPSWITCHB ZZLOOPSELECT
ZZLOOPSELECTA ZZLOOPSELECTB ZZPARTJOIN ZZPARTJOINSWITCH
ZZPARTJOINSELECT ZZEXTEND ZZPARAJOIN2 ZZDRELFILTER ZZDRELEXTEND
ZZDRELPROJECTEXTEND ZZPROJECT ZZLSORTBY ZZDRELLGROUPBY ZZDRELGROUPBY
ZZDRELINSERTTUPLE ZZDRELUPDATE ZZDRELUPDATEBYID ZZDRELFILTERADDID
ZZDRELFILTERDELETE ZZDRELFILTERUPDATE ZZDBSCANR ZZDBSCANM ZZDBSCANF
ZZDBSCANTF ZZPFILTERS ZZPEXTEND ZZPEXTENDSTREAM ZZPLOOPSEL
ZZPLOOPJOIN ZZPAGGREGATE ZZPAGGREGATEB ZZPSORTBY ZZPOSTFIXOP4_a
ZZPOSTFIXOP6_a ZZAGGREGATES ZZUSE ZZUSE2 ZZTS ZZAS ZZstreamfun ZZprog
ZZSYNC ZZSideEffect ZZTRANSLATE_GROOM ZZOLEFTRANGE ZZORIGHTRANGE
ZZORANGE ZZOSHORTESTPATHD ZZOSHORTESTPATHA ZZREAD2 ZZREAD3 ZZRDERIVE
ZZREAD3_1 ZZREAD3_2 ZZFILTERX ZZINSERTTUPLE ZZINSERTTUPLESAVE
ZZUPDATESEARCH ZZUPDATEDIRECT ZZUPDATEDIRECT2 ZZUPDATEBYID2
ZZUPDATESEARCHSAVE ZZUPDATEDIRECTSAVE ZZUPDATEBYID ZZFILTERINSERT
ZZCPROJECTEXTEND ZZMAP ZZMAP2 ZZMATCHGRID ZZREPLACEELEM ZZGROUPBY2
ZZSPREAD ZZCOLLECT ZZHADOOPMAP ZZHADOOPREDUCE ZZHADOOPREDUCE2
ZZPFFEED ZZPFFEED2 ZZPFFEED3 ZZHADOOPMAP2 ZZREPORTPATTERN ZZGPATTERN
ZZCROSSPATTERN ZZMTHREADEDMERGESORT ZZMTHREADEDFILTER ZZCANCEL
ZZKRDUP ZZPROJECTEXTEND ZZEXTENDSTREAM ZZPROJECTEXTENDSTREAM
ZZGROUPBY ZZSLIDINGWINDOW ZZSORTBYOLD ZZPOSTFIXOP2_a_autobuffer
ZZLOOPJOIN ZZLOOPSEL ZZAGGREGATE ZZAGGREGATEB ZZSYMMJOIN
ZZSYMMOUTERJOIN ZZSYMMPRODUCTEXTEND ZZKSMALLEST ZZKBIGGEST
ZZEXTEND_AGGR ZZEXTEND_LAST ZZEXTEND_NEXT ZZREPLACEATTR ZZPFILTER
ZZEXTENDX ZZOBOJOIND ZZISORDEREDBY ZZADDMODCOUNTER ZZUSEHISTOGRAM
ZZUSEHISTOGRAM2 ZZDMAPS ZZDMAPS2 ZZDMAPS3 ZZDMAPS4 ZZDMAPS5
ZZDPRODUCTS ZZPARTITIONFS ZZDBSCAN ZZREGISTERFORSTREAM ZZNEST2
ZZPREDCOUNTS ZZSTPATTERN ZZSTPATTERN2 ZZSTPATTERNEX ZZSTPATTERNEX2
ZZSTPATTERNEXTEND ZZSTPATTERNEXTEND2 ZZSTPATTERNEXEXTEND
ZZSTPATTERNEXEXTEND2 ZZSTPATTERNEXTENDSTREAM ZZSTPATTERNEXTENDSTREAM2
ZZSTPATTERNEXEXTENDSTREAM ZZSTPATTERNEXEXTENDSTREAM2 ZZCOMPUTECLOSURE
ZZOCONSUME ZZREMOVE ZZREDUCE ZZRENAMEATTR ZZTSMOTIFBFFUN
ZZTSDISTANCEFUN
/*
----
This file is part of SECONDO.
Copyright (C) 2004, University in Hagen, Department of Computer Science,
Database Systems for New Applications.
SECONDO is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
SECONDO is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SECONDO; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
----
May 15, 1998 RHG Added rule for the ~model~ command.
Feb 3, 1999 Stefan Dieker Added "typexpr : typeexpr ':' typeexpr" rule
August 10, 2000 RHG Changed definition of syntax for constant values. Now to be written as
'[' typeexpr 'const' valueexpr ']'
for example,
---- [points const ((1 -4) (2 3))]
[int const 954]
----
March 2002 Ulrich Telle Port to C++
November 5, 2002 RHG Added the cases ~function~ and ~IDENTIFIER~ '(' elems ')' ~ to
~valueexpr~ to support function definitions and function calls.
November 7, 2002 RHG Extended the definition of ~function~ and of ~valueexpr~ to support
function definitions and function calls with 0 parameters; these are translated to functions
with an integer parameter and which are called with 0.
November 22, 2002 RHG Discovered that the query processor can handle functions with 0
parameters; hence translated definitions and function calls directly to use 0 parameters.
December 12, 2002 RHG Changed the notation for constants once more so that
relation constants can be parsed correctly. The new notation is
[const <type> value <value-list>]
for example
[const int value 25]
[const rel(tuple([no1:int, no2:int])) value ((1 4) (2 5) (3 6))]
February 3, 2003 RHG Added translation of counters of the form e.g. ``{5}'' and
a ``list counters'' command.
May 19, 2003 RHG Added missing syntax '..' to refer to the second implicit argument.
October 14, 2004 RHG Added text atoms and file atoms for nested lists.
January 10, 2005 Victor Almeida removed the ~model~ token.
July 15, 2010 Christian Duentgen added conditionalcommand.
*/
%%
/* commands */
commands : command
| command ';'
| command ';' commands
;
command : basic
| transaction
| database
| inquiries
| set
| conditionalcommand
| commandblock
| whilecommand
;
whilecommand : ZZWHILE valueexpr ZZDO command ZZENDWHILE
{ CLEAR();
PRINTF("(while ");
PRINT($2);
PRINTF(" do ");
PRINT($4);
PRINTF(" endwhile)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
commandblock : commandblock1 | commandblock2
;
commandblock1 : '{' commandseq '}'
{ CLEAR();
PRINTF("(beginseq (");
PRINT($2);
PRINTF(") endseq)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| '{' '}'
{ CLEAR();
PRINTF("(beginseq () endseq)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
commandblock2 : OPENDOUBLEBRACE commandseq CLOSEDOUBLEBRACE
{ CLEAR();
PRINTF("(beginseq2 (");
PRINT($2);
PRINTF(") endseq2)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| '{' '}'
{ CLEAR();
PRINTF("(beginseq2 () endseq2)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
commandseq : commandseq '|' command
{ CLEAR();
PRINT($1);
PRINTF(" ");
PRINT($3);
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| command
{ $$ = $1;
}
;
conditionalcommand : ZZIF valueexpr ZZTHEN command ZZELSE command ZZENDIF
{ CLEAR();
PRINTF("(if ");
PRINT($2);
PRINTF(" then ");
PRINT($4);
PRINTF(" else ");
PRINT($6);
PRINTF(" endif)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZIF valueexpr ZZTHEN command ZZENDIF
{ CLEAR();
PRINTF("(if ");
PRINT($2);
PRINTF(" then ");
PRINT($4);
PRINTF(" endif)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
basic : ZZTYPE ZZIDENTIFIER ZZINFIXOP typeexpr
{
CLEAR();
string equalstr;
NestedText::CopyOut( $3, equalstr );
if(equalstr!="=") {
yyerror("type declataion expects a '=' at the third position");
return -1;
}
PRINTF("(type "); PRINT($2);
PRINTF(" = "); PRINT($4); PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZDELETE ZZTYPE ZZIDENTIFIER
{CLEAR();
PRINTF("(delete type "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZCREATE ZZNAMING typeexpr
{
CLEAR();
PRINTF("(create "); PRINT($2);
PRINTF(" : "); PRINT($3); PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| {paramno=0; emptystack();}
ZZUPDATE ZZIDENTIFIER ZZASSIGN valueexpr
{
CLEAR();
PRINTF("(update "); PRINT($3);
PRINTF(" := "); PRINT($5); PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZKILL ZZIDENTIFIER
{PRINTF("(kill "); PRINT($2);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZDELETE ZZIDENTIFIER
{
CLEAR();
PRINTF("(delete "); PRINT($2);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| {paramno=0; emptystack();}
ZZQUERY valueexpr
{
CLEAR();
PRINTF("(query "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| {paramno=0; emptystack();}
ZZQUERYNT valueexpr
{
CLEAR();
PRINTF("(querynt "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| {paramno=0; emptystack();}
ZZPQUERY valueexpr
{
CLEAR();
PRINTF("(pquery "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| {paramno=0; emptystack();}
ZZPCOMPILE valueexpr
{
CLEAR();
PRINTF("(pcompile "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| {paramno=0; emptystack();}
ZZLET ZZIDENTIFIER ZZINFIXOP valueexpr
{
CLEAR();
string equalstr;
NestedText::CopyOut( $4, equalstr );
if(equalstr!="=") {
yyerror("let command expects a '=' at the third position");
return -1;
}
PRINTF("(let "); PRINT($3);
PRINTF(" = "); PRINT($5); PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| {paramno=0; emptystack();}
ZZCHANGENAME ZZIDENTIFIER ZZTO ZZIDENTIFIER
{
CLEAR();
PRINTF("(changename "); PRINT($3);
PRINTF(" to " ); PRINT($5); PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| {paramno=0; emptystack();}
ZZDERIVE ZZIDENTIFIER ZZINFIXOP valueexpr
{
CLEAR();
string equalstr;
NestedText::CopyOut( $4, equalstr );
if(equalstr!="=") {
yyerror("derive command expects a '=' at the third position");
return -1;
}
PRINTF("(derive "); PRINT($3);
PRINTF(" = "); PRINT($5); PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZPERSISTENT ZZIDENTIFIER
{
CLEAR();
PRINTF("(persistent "); PRINT($2);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
transaction : ZZBEGIN1 ZZTRANSACTION
{
CLEAR();
PRINTF("(begin transaction)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZCOMMIT ZZTRANSACTION
{
CLEAR();
PRINTF("(commit transaction)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZABORT ZZTRANSACTION
{
CLEAR();
PRINTF("(abort transaction)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
database : ZZCREATE ZZDATABASE ZZIDENTIFIER
{
CLEAR();
PRINTF("(create database "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZDELETE ZZDATABASE ZZIDENTIFIER
{
CLEAR();
PRINTF("(delete database "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZOPEN ZZDATABASE ZZIDENTIFIER
{
CLEAR();
PRINTF("(open database "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZCLOSE ZZDATABASE
{
CLEAR();
PRINTF("(close database)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZSAVE ZZDATABASE ZZTO filename
{
CLEAR();
PRINTF("(save database to "); PRINT($4);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZSAVE ZZIDENTIFIER ZZTO filename
{
CLEAR();
PRINTF("(save "); PRINT($2);
PRINTF(" to "); PRINT($4);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZRESTORE ZZDATABASE ZZIDENTIFIER ZZFROM filename
{
CLEAR();
PRINTF("(restore database "); PRINT($3);
PRINTF(" from "); PRINT($5); PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZRESTORE ZZIDENTIFIER ZZFROM filename
{
CLEAR();
PRINTF("(restore "); PRINT($2);
PRINTF(" from "); PRINT($4); PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
filename : ZZIDENTIFIER
| ZZTEXT
;
inquiries : ZZLIST ZZDATABASES
{
CLEAR();
PRINTF("(list databases)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZLIST ZZALGEBRAS
{
CLEAR();
PRINTF("(list algebras)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZLIST ZZALGEBRA ZZIDENTIFIER
{
CLEAR();
PRINTF("(list algebra "); PRINT($3);
PRINTF(")\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZLIST ZZTYPE ZZCONSTRUCTORS
{
CLEAR();
PRINTF("(list type constructors)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZLIST ZZOPERATORS
{
CLEAR();
PRINTF("(list operators)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZLIST ZZTYPES
{
CLEAR();
PRINTF("(list types)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZLIST ZZOBJECTS
{
CLEAR();
PRINTF("(list objects)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
| ZZLIST ZZCOUNTERS
{
CLEAR();
PRINTF("(list counters)\n");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
set : ZZIDENTIFIER ZZSTRING ZZINFIXOP ZZBOOLEAN {
CLEAR();
string setstr;
NestedText::CopyOut( $1, setstr );
string equalstr;
NestedText::CopyOut( $3, equalstr );
if(setstr!="set"){
yyerror("expected set but got ZZIDENTIFIER");
return -1;
}
if(equalstr!="="){
yyerror("'=' expected in set command");
return -1;
}
PRINTF("( set ");
PRINT($2);
PRINTF(" = ");
PRINT($4);
PRINTF(" )");
$$ = NestedText::AtomC(yacc_outtext->c_str());
}
;
/* typeexpr*/
typeexpr : constructor {$$ = $1;}
| constructor '(' typeexprs ')'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3, NestedText::AtomC(")")))));}
| '(' typeexprs ')'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($2, NestedText::AtomC(")")));}
| '[' typeexprs ']'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($2, NestedText::AtomC(")")));}
| '[' ']' {$$ = NestedText::AtomC("()");}
| ZZNAMING typeexpr {$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2, NestedText::AtomC(")")))));}
| ZZTYPEOF '(' valueexpr ')' {
$$ = NestedText::Concat(NestedText::AtomC("(typeOf "),
NestedText::Concat($3, NestedText::AtomC(")")));
}
;
typeexpr2 : constructor {$$ = $1;}
| constructor '(' typeexprs ')'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3, NestedText::AtomC(")")))));}
| nestedlist
{$$ = $1;}
| ZZTYPEOF '(' valueexpr ')' {
$$ = NestedText::Concat(NestedText::AtomC("(typeOf "),
NestedText::Concat($3, NestedText::AtomC(")")));
}
;
constructor : ZZIDENTIFIER {$$ = $1;}
| ZZTUPLE {$$ = $1;}
| ZZGROUP {$$ = $1;}
| ZZINTEGER {$$ = $1;}
;
typeexprs : typeexpr {$$ = $1;}
| typeexprs ',' typeexpr
{$$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));}
;
/* valueexpr, general part */
namedfunction : naming valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")")))));}
;
function : ZZFUN '(' args ')' valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("(fun "),
NestedText::Concat($3,
NestedText::Concat (NestedText::AtomC(" "),
NestedText::Concat($5, NestedText::AtomC(")") ))));}
| ZZFUN '(' ')' valueexpr
{$$ = NestedText::Concat(
NestedText::AtomC("(fun "),
NestedText::Concat($4, NestedText::AtomC(")")) );}
| ZZFUN ZZIDENTIFIER
{$$ = $2;}
| ZZFUN '(' args ')' valueexpr ZZDEFAULTSEP valueexpr
{
$$ = NestedText::Concat(NestedText::AtomC("(fun "),
NestedText::Concat($3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($5,
NestedText::Concat(NestedText::AtomC(" ) "),
NestedText::Concat($7,
NestedText::AtomC(" ") ))))));
}
| ZZFUN '(' ')' valueexpr ZZDEFAULTSEP valueexpr
{
$$ = NestedText::Concat(NestedText::AtomC(" (fun "),
NestedText::Concat($4,
NestedText::Concat(NestedText::AtomC(" ) "),
NestedText::Concat($6,
NestedText::AtomC(" ") ))));
}
;
arg : ZZNAMING typeexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2, NestedText::AtomC(")") ))));}
;
args : arg {$$ = $1;}
| args ',' arg {$$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));}
;
attribute : ZZATTRABBR
{ $$ = NestedText::Concat(NestedText::AtomC("(attr "),
NestedText::Concat(NestedText::AtomC(params[1]),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::AtomC(")") ))));}
;
attribute2 : ZZATTRABBR2
{$$ = NestedText::Concat(NestedText::AtomC("(attr "),
NestedText::Concat(NestedText::AtomC(params[2]),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::AtomC(")") ))));}
;
constant : ZZINTEGER | ZZREAL | ZZSTRING | ZZTEXT | ZZBOOLEAN
;
nestedlist : atom {$$ = $1;}
| '(' rest {$$ = NestedText::Concat($1, $2);}
;
rest : ')' {$$ = $1;}
| atom rest {$$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $2));}
| nestedlist rest {$$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $2));}
;
atom : constant {$$ = $1;}
| ZZIDENTIFIER {$$ = $1;}
| ZZFILE {$$ = $1;}
| ZZTUPLE {$$ = $1;}
| ZZGROUP {$$ = $1;}
;
list : elems {$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::AtomC(")") ));}
;
elems : {$$ = NestedText::AtomC("");}
| elem {$$ = $1;}
| elems ',' elem {$$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));}
;
elem : valueexpr {$$ = $1;}
| valueexpr valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| namedfunction {$$ = $1;}
;
naming : ZZNAMING {$$ = $1;}
;
valueexprlistcomma : valueexpr
{ $$ = $1; }
| valueexprlistcomma ',' valueexpr
{$$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),$3));
}
;
simplearguments : valueexprlistcomma
{ $$ = $1; }
| { $$ = NestedText::AtomC(" "); }
| simplearguments ';' simplearguments
{$$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),$3));
}
;
valueexpr : ZZIDENTIFIER {$$ = $1;}
| constant {$$ = $1;}
| function {$$ = $1;}
| ZZIDENTIFIER '(' elems ')'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3,
NestedText::AtomC(")") ))));}
| attribute {$$ = $1;}
| attribute2 {$$ = $1;}
| '(' valueexpr ')' {$$ = $2;}
| '[' ZZCONST typeexpr2 ZZVALUE nestedlist ']'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($5,
NestedText::AtomC(")") ))));}
| '[' ZZCONST typeexpr2 ZZPOINTER nestedlist ']'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($3,
NestedText::Concat(NestedText::AtomC(" ( ptr"),
NestedText::Concat($5,
NestedText::AtomC("))") ))));}
| '[' list ']' {$$ = $2;}
| '.' {$$ = NestedText::AtomC(params[1]);}
| ZZSINGLE {$$ = NestedText::AtomC(params[1]);}
| ZZDOUBLE {$$ = NestedText::AtomC(params[2]);}
| ZZARG3 {$$ = NestedText::AtomC(params[3]);}
| ZZARG4 {$$ = NestedText::AtomC(params[4]);}
| ZZARG5 {$$ = NestedText::AtomC(params[5]);}
| ZZARG6 {$$ = NestedText::AtomC(params[6]);}
| ZZARG7 {$$ = NestedText::AtomC(params[7]);}
| ZZARG8 {$$ = NestedText::AtomC(params[8]);}
| ZZARG9 {$$ = NestedText::AtomC(params[9]);}
| ZZTUPLE {$$ = NestedText::AtomC(params[1]);}
| ZZGROUP {$$ = NestedText::AtomC(params[1]);}
| valueexpr '{' ZZIDENTIFIER '}'
{$$ = NestedText::Concat(NestedText::AtomC("(rename"),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3,
NestedText::AtomC(")") )))));}
| valueexpr '{' ZZINTEGER '}'
{$$ = NestedText::Concat(NestedText::AtomC("(counter"),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::AtomC(")") )))));}
| valueexpr '{' ZZREAL ',' ZZREAL '}'
{$$ = NestedText::Concat(NestedText::AtomC("(predinfo "),
NestedText::Concat($3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::AtomC(")") ))))));}
| valueexpr '{' ZZREAL ',' ZZINTEGER '}'
{$$ = NestedText::Concat(NestedText::AtomC("(predinfo "),
NestedText::Concat($3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($5,
NestedText::Concat(NestedText::AtomC(".0 "),
NestedText::Concat($1,
NestedText::AtomC(")") ))))));}
| valueexpr '{' ZZINTEGER ',' ZZREAL '}'
{$$ = NestedText::Concat(NestedText::AtomC("(predinfo "),
NestedText::Concat($3,
NestedText::Concat(NestedText::AtomC(".0 "),
NestedText::Concat($5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::AtomC(")") ))))));}
| valueexpr '{' ZZINTEGER ',' ZZINTEGER '}'
{$$ = NestedText::Concat(NestedText::AtomC("(predinfo "),
NestedText::Concat($3,
NestedText::Concat(NestedText::AtomC(".0 "),
NestedText::Concat($5,
NestedText::Concat(NestedText::AtomC(".0 "),
NestedText::Concat($1,
NestedText::AtomC(")") ))))));}
| valueexpr '{' ZZMEMORY ZZINTEGER '}'
{$$ = NestedText::Concat(NestedText::AtomC("(memory "),
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::AtomC(")") )))));}
| valueexpr ZZINFIXOP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3,
NestedText::AtomC(")") ))))));
}
| valueexpr ZZINFIXOP_BUF valueexpr
{$$ = NestedText::Concat(
USE_AUTO_BUFFER?NestedText::AtomC("( ! (")
:NestedText::AtomC("("),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3,
USE_AUTO_BUFFER?NestedText::AtomC("))")
:NestedText::AtomC(")") ))))));
}
| ZZPREFIXOP '(' valueexprlistcomma ')'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3,
NestedText::AtomC(")") ))));
}
| ZZPREFIXOP_BUF '(' valueexprlistcomma ')'
{$$ = NestedText::Concat(
USE_AUTO_BUFFER? NestedText::AtomC("( ! (")
: NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($3,
USE_AUTO_BUFFER?NestedText::AtomC("))")
:NestedText::AtomC(")") ))));
}
| ZZPREFIXOP '(' ')'
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::AtomC(")") ));
}
| ZZPREFIXOP_BUF '(' ')'
{$$ = NestedText::Concat(
USE_AUTO_BUFFER?NestedText::AtomC("( ! (")
:NestedText::AtomC("("),
NestedText::Concat($1,
USE_AUTO_BUFFER?NestedText::AtomC("))")
:NestedText::AtomC(")") ));
}
/* algebra specific part */
/*
~token~
*/
| valueexpr
ZZPOSTFIXOP1 { $$ =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::AtomC(")"))))); }
/*
~token~
*/
| valueexpr
ZZPOSTFIXOP1_a'[' simplearguments ']'
{ $$ =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPOSTFIXOP2_a'[' simplearguments ']'
{ $$ =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZNEST'[' list
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPOSTFIXOP2 { $$ =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZSORTBY'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZSORTBYPARAM'[' list
';'
valueexpr
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10, NestedText::AtomC(")"))))))))))))); }
/*
~token~
*/
| valueexpr
ZZSORTBYH'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZGDIJKSTRA '[' valueexpr
','
valueexpr
','
valueexpr
','
GDIJKSTRA_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZMINPATHCOST2 '[' valueexpr
','
valueexpr
','
valueexpr
','
MINPATHCOST2_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZGBIDIJKSTRA '[' valueexpr
','
valueexpr
','
valueexpr
','
valueexpr
','
GBIDIJKSTRA_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $13,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZMTMINPATHCOSTS2 '[' valueexpr
','
valueexpr
','
valueexpr
','
MTMINPATHCOSTS2_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $13,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZD_SEND_SHUFFLE '[' D_SEND_SHUFFLE_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZDSHUFFLE '[' DSHUFFLE_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZDSHUFFLE2 '[' DSHUFFLE2_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZDSHUFFLE1 '[' DSHUFFLE1_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZDLOOP_OLD '[' DLOOP_OLD_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDLOOPA_OLD '[' DLOOPA_OLD_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZDTIE '[' DTIE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZPARTITIONDMAP '[' valueexpr
','
PARTITIONDMAP_fun
','
valueexpr
','
PARTITIONDMAP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZDMAPPDMAP '[' valueexpr
','
DMAPPDMAP_fun
','
DMAPPDMAP_fun
','
valueexpr
','
DMAPPDMAP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZFDISTRIBUTE2TES '[' valueexpr
','
FDISTRIBUTE2TES_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZDISTRIBUTE2TES '[' valueexpr
','
DISTRIBUTE2TES_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZCOLLECTPC2'[' valueexpr
','
valueexpr
','
valueexpr
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10, NestedText::AtomC(")"))))))))))))); }
/*
~token~
*/
| valueexpr
ZZOPTICSR'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZOPTICSM'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZOPTICSF '[' valueexpr
','
valueexpr
','
valueexpr
','
OPTICSF_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZOPTICSTF '[' valueexpr
','
valueexpr
','
OPTICSTF_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZFILTERV '[' FILTERV_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZFILTERNP '[' FILTERNP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZEXTENDV '[' EXTENDV_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZPROJECTEXTENDV '[' list
';'
PROJECTEXTENDV_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZEXTENDNP '[' EXTENDNP_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZPROJECTEXTENDNP '[' list
';'
PROJECTEXTENDNP_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZDBDACSCAN'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDISTSAMP'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZAPPLYPREDICATE '[' APPLYPREDICATE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZFEEDPROJECT'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZFILTER '[' FILTER_fun
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))); }
/*
~token~
*/
| valueexpr
ZZCFILTER '[' CFILTER_fun
','
valueexpr
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZCAND '[' CAND_fun
','
CAND_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZCOR '[' COR_fun
','
COR_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZWITHIN '[' WITHIN_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZWITHIN2 '[' WITHIN2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZWHILEDO '[' WHILEDO_fun
';'
WHILEDO_fun
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZFUNSEQ1 '[' FUNSEQ1_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZFUNSEQ2 '[' FUNSEQ2_fun
','
FUNSEQ2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZFUNSEQ3 '[' FUNSEQ3_fun
','
FUNSEQ3_fun
','
FUNSEQ3_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZFUNSEQ4 '[' FUNSEQ4_fun
','
FUNSEQ4_fun
','
FUNSEQ4_fun
','
FUNSEQ4_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZFUNSEQ5 '[' FUNSEQ5_fun
','
FUNSEQ5_fun
','
FUNSEQ5_fun
','
FUNSEQ5_fun
','
FUNSEQ5_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZFUNSEQ6 '[' FUNSEQ6_fun
','
FUNSEQ6_fun
','
FUNSEQ6_fun
','
FUNSEQ6_fun
','
FUNSEQ6_fun
','
FUNSEQ6_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZDDISTRIBUTE4 '[' valueexpr
','
DDISTRIBUTE4_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZFDISTRIBUTE7 '[' valueexpr
','
FDISTRIBUTE7_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZDLOOP '[' valueexpr
','
DLOOP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDLOOP2 '[' valueexpr
','
DLOOP2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZDMAP '[' valueexpr
','
DMAP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPDMAP '[' valueexpr
','
PDMAP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDMAP2n '[' valueexpr
','
DMAP2n_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDMAP2 '[' valueexpr
','
DMAP2_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZDMAP3 '[' valueexpr
','
DMAP3_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
ZZDMAP4 '[' valueexpr
','
DMAP4_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZDMAP5 '[' valueexpr
','
DMAP5_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZDMAP6 '[' valueexpr
','
DMAP6_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $13,
NestedText::AtomC(")"))
))))))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZDMAP7 '[' valueexpr
','
DMAP7_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::AtomC(")"))
))))))))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZDMAP8 '[' valueexpr
','
DMAP8_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $13,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $15,
NestedText::AtomC(")"))
))))))))))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZPDMAP2 '[' valueexpr
','
PDMAP2_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
ZZPDMAP3 '[' valueexpr
','
PDMAP3_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZPDMAP4 '[' valueexpr
','
PDMAP4_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZPDMAP5 '[' valueexpr
','
PDMAP5_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $13,
NestedText::AtomC(")"))
))))))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZPDMAP6 '[' valueexpr
','
PDMAP6_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::AtomC(")"))
))))))))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZPDMAP7 '[' valueexpr
','
PDMAP7_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $13,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $15,
NestedText::AtomC(")"))
))))))))))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZPDMAP8 '[' valueexpr
','
PDMAP8_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $16,
NestedText::AtomC(")"))
))))))))))))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZDFDISTRIBUTE4 '[' valueexpr
','
DFDISTRIBUTE4_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZPARTITION '[' valueexpr
','
PARTITION_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZPARTITIONF '[' valueexpr
','
PARTITIONF_fun
','
PARTITIONF_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZAREDUCE '[' valueexpr
','
AREDUCE_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZAREDUCE2 '[' valueexpr
','
AREDUCE2_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZAREDUCE2F '[' valueexpr
','
AREDUCE2F_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDPRODUCT '[' valueexpr
','
DPRODUCT_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZDDISTRIBUTE '[' valueexpr
','
DDISTRIBUTE_fun
','
DDISTRIBUTE_fun
','
valueexpr
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZDFDISTRIBUTE '[' valueexpr
','
DFDISTRIBUTE_fun
','
DFDISTRIBUTE_fun
','
valueexpr
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZPARTITION8LOCAL '[' PARTITION8LOCAL_fun
','
PARTITION8LOCAL_fun
','
valueexpr
','
valueexpr
','
valueexpr
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $16,
NestedText::AtomC(")"))
))))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZPARTITIONF8 '[' valueexpr
','
PARTITIONF8_fun
','
PARTITIONF8_fun
','
PARTITIONF8_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZLOOPJOINREL '[' LOOPJOINREL_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZCONSTGRAPH '[' valueexpr
','
valueexpr
','
CONSTGRAPH_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZCONSTGRAPHPOINTS '[' valueexpr
','
valueexpr
','
CONSTGRAPHPOINTS_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZTRANSLATE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZPOSTFIXOP3_a'[' simplearguments ']'
{ $$ =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZEXISTS '[' EXISTS_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZFORALL '[' FORALL_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZPOSTFIXOP3 { $$ =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZPARAJOIN '[' PARAJOIN_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZFCONSUME'[' list
';'
list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZFFEED'[' list
';'
list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZHADOOPJOIN '[' valueexpr
','
valueexpr
','
valueexpr
','
valueexpr
';'
list
';'
HADOOPJOIN_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $11,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $13,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $15,
NestedText::AtomC(")"))
))))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZFDISTRIBUTE'[' list
';'
list
';'
list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10, NestedText::AtomC(")"))))))))))))); }
/*
~token~
*/
| valueexpr
ZZFFEED2'[' list
';'
list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZFCONSUME3'[' list
';'
list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZFFEED3'[' list
';'
list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZFETCHFLOB'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZFDISTRIBUTE3'[' list
';'
list
';'
list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10, NestedText::AtomC(")"))))))))))))); }
/*
~token~
*/
| valueexpr
ZZMOCONSUME'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZMOCONSUMEFLOB'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZMINSERTTUPLE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZMINSERTTUPLESAVE'[' list
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZMUPDATE '[' valueexpr
';'
MUPDATE_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZMUPDATESAVE '[' valueexpr
','
valueexpr
';'
MUPDATESAVE_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZMUPDATEBYID '[' valueexpr
';'
MUPDATEBYID_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZMUPDATEDIRECT2 '[' valueexpr
';'
MUPDATEDIRECT2_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZMORANGE'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZMOLEFTRANGE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZMORIGHTRANGE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZMOSHORTESTPATHD '[' valueexpr
','
valueexpr
','
valueexpr
';'
MOSHORTESTPATHD_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZMOSHORTESTPATHA '[' valueexpr
','
valueexpr
','
valueexpr
';'
MOSHORTESTPATHA_fun
','
MOSHORTESTPATHA_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZMQUICKSORTBY'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZMGSHORTESTPATHD '[' valueexpr
','
valueexpr
','
valueexpr
';'
MGSHORTESTPATHD_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZMGSHORTESTPATHA '[' valueexpr
','
valueexpr
','
valueexpr
';'
MGSHORTESTPATHA_fun
','
MGSHORTESTPATHA_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZMINSERTTUPLEPQPROJECTU'[' valueexpr
','
valueexpr
','
valueexpr
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10, NestedText::AtomC(")"))))))))))))); }
/*
~token~
*/
| valueexpr
ZZMINSERTTUPLEPQPROJECT'[' valueexpr
','
valueexpr
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZMPQREORDER '[' MPQREORDER_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZMPQREORDERUPDATE '[' MPQREORDERUPDATE_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZCREATEMGRAPH2 '[' valueexpr
','
valueexpr
','
CREATEMGRAPH2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZCREATEMGRAPH2FLOB '[' valueexpr
','
valueexpr
','
CREATEMGRAPH2FLOB_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZMG2INSERTORIG '[' valueexpr
','
valueexpr
','
MG2INSERTORIG_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZMEMGROUPBY '[' list
';'
MEMGROUPBY_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZMMERGEJOINPROJECT'[' valueexpr
','
valueexpr
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9, NestedText::AtomC(")"))))))))))))); }
/*
~token~
*/
| valueexpr
ZZPUSE '[' PUSE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPJOIN2 '[' PJOIN2_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPJOIN1 '[' valueexpr
';'
PJOIN1_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZEXTENDITEMNAMES'[' valueexpr
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZSORTARRAY '[' SORTARRAY_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZTIE '[' TIE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZCUMULATE '[' CUMULATE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZLOOP '[' LOOP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZLOOPA '[' LOOPA_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZLOOPB '[' LOOPB_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZLOOPSWITCH '[' LOOPSWITCH_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZLOOPSWITCHA '[' LOOPSWITCHA_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZLOOPSWITCHB '[' LOOPSWITCHB_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZLOOPSELECT '[' LOOPSELECT_funlist
';'
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZLOOPSELECTA '[' LOOPSELECTA_funlist
';'
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZLOOPSELECTB '[' LOOPSELECTB_funlist
';'
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPARTJOIN '[' PARTJOIN_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPARTJOINSWITCH '[' PARTJOINSWITCH_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPARTJOINSELECT '[' PARTJOINSELECT_funlist
';'
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZEXTEND '[' EXTEND_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPARAJOIN2 '[' valueexpr
','
valueexpr
';'
PARAJOIN2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZDRELFILTER '[' DRELFILTER_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZDRELEXTEND '[' DRELEXTEND_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZDRELPROJECTEXTEND '[' list
';'
DRELPROJECTEXTEND_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZPROJECT'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZLSORTBY'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZDRELLGROUPBY '[' list
';'
DRELLGROUPBY_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZDRELGROUPBY '[' list
';'
DRELGROUPBY_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZDRELINSERTTUPLE'[' list
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDRELUPDATE '[' DRELUPDATE_funlist
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDRELUPDATEBYID '[' valueexpr
';'
DRELUPDATEBYID_funlist
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZDRELFILTERADDID '[' DRELFILTERADDID_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZDRELFILTERDELETE '[' DRELFILTERDELETE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZDRELFILTERUPDATE '[' DRELFILTERUPDATE_fun
';'
DRELFILTERUPDATE_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZDBSCANR'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZDBSCANM'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZDBSCANF '[' valueexpr
','
valueexpr
','
valueexpr
','
valueexpr
','
DBSCANF_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZDBSCANTF '[' valueexpr
','
valueexpr
','
valueexpr
','
DBSCANTF_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZPFILTERS '[' valueexpr
','
valueexpr
','
valueexpr
','
PFILTERS_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZPEXTEND '[' valueexpr
','
valueexpr
','
valueexpr
';'
PEXTEND_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZPEXTENDSTREAM '[' valueexpr
','
valueexpr
','
valueexpr
';'
PEXTENDSTREAM_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZPLOOPSEL '[' valueexpr
','
valueexpr
','
valueexpr
','
PLOOPSEL_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZPLOOPJOIN '[' valueexpr
','
valueexpr
','
valueexpr
','
PLOOPJOIN_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZPAGGREGATE '[' valueexpr
','
valueexpr
','
valueexpr
';'
PAGGREGATE_fun
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZPAGGREGATEB '[' valueexpr
','
valueexpr
','
valueexpr
';'
PAGGREGATEB_fun
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZPSORTBY'[' valueexpr
','
valueexpr
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
ZZPOSTFIXOP4_a'[' simplearguments ']'
{ $$ =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZPOSTFIXOP6_a'[' simplearguments ']'
{ $$ =
NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZAGGREGATES '[' AGGREGATES_fun
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZUSE '[' USE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZUSE2 '[' USE2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZTS '[' TS_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZAS '[' AS_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZstreamfun '[' streamfun_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZprog '[' prog_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZSYNC '[' SYNC_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZSideEffect '[' SideEffect_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZTRANSLATE_GROOM'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZOLEFTRANGE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZORIGHTRANGE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZORANGE'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZOSHORTESTPATHD '[' valueexpr
','
valueexpr
','
valueexpr
';'
OSHORTESTPATHD_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZOSHORTESTPATHA '[' valueexpr
','
valueexpr
','
valueexpr
';'
OSHORTESTPATHA_fun
','
OSHORTESTPATHA_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZREAD2 '[' READ2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZREAD3 '[' READ3_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZRDERIVE '[' valueexpr
','
RDERIVE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZREAD3_1 '[' READ3_1_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZREAD3_2 '[' READ3_2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZFILTERX '[' FILTERX_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZINSERTTUPLE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZINSERTTUPLESAVE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZUPDATESEARCH '[' UPDATESEARCH_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZUPDATEDIRECT '[' UPDATEDIRECT_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZUPDATEDIRECT2 '[' valueexpr
';'
UPDATEDIRECT2_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZUPDATEBYID2 '[' valueexpr
';'
UPDATEBYID2_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZUPDATESEARCHSAVE '[' UPDATESEARCHSAVE_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZUPDATEDIRECTSAVE '[' UPDATEDIRECTSAVE_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZUPDATEBYID '[' valueexpr
';'
UPDATEBYID_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZFILTERINSERT '[' FILTERINSERT_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZCPROJECTEXTEND '[' list
';'
CPROJECTEXTEND_funlist
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))); }
/*
~token~
*/
| valueexpr
ZZMAP '[' MAP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZMAP2 '[' MAP2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZMATCHGRID '[' valueexpr
','
MATCHGRID_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZREPLACEELEM '[' REPLACEELEM_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZGROUPBY2 '[' list
';'
GROUPBY2_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZSPREAD'[' list
';'
list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZCOLLECT'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZHADOOPMAP '[' list
';'
HADOOPMAP_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZHADOOPREDUCE '[' list
';'
HADOOPREDUCE_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZHADOOPREDUCE2 '[' list
';'
HADOOPREDUCE2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZPFFEED'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZPFFEED2'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZPFFEED3'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZHADOOPMAP2 '[' list
';'
HADOOPMAP2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZREPORTPATTERN'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZGPATTERN '[' GPATTERN_fun
','
GPATTERN_fun
','
valueexpr
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
ZZCROSSPATTERN '[' CROSSPATTERN_fun
','
CROSSPATTERN_fun
','
CROSSPATTERN_fun
','
valueexpr
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $12,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $14,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
ZZMTHREADEDMERGESORT'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZMTHREADEDFILTER '[' MTHREADEDFILTER_fun
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))); }
/*
~token~
*/
| valueexpr
ZZCANCEL '[' CANCEL_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZKRDUP'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZPROJECTEXTEND '[' list
';'
PROJECTEXTEND_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZEXTENDSTREAM '[' EXTENDSTREAM_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZPROJECTEXTENDSTREAM '[' list
';'
PROJECTEXTENDSTREAM_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZGROUPBY '[' list
';'
GROUPBY_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZSLIDINGWINDOW '[' valueexpr
','
valueexpr
';'
SLIDINGWINDOW_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZSORTBYOLD'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZPOSTFIXOP2_a_autobuffer'[' simplearguments ']'
{ $$ =
NestedText::Concat(
(USE_AUTO_BUFFER? NestedText::AtomC("( ! (") : NestedText::AtomC("(")) ,
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
(USE_AUTO_BUFFER? NestedText::AtomC("))") : NestedText::AtomC(")")))))))))); }
/*
~token~
*/
| valueexpr
ZZLOOPJOIN '[' LOOPJOIN_fun
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))); }
/*
~token~
*/
| valueexpr
ZZLOOPSEL '[' LOOPSEL_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZAGGREGATE '[' valueexpr
';'
AGGREGATE_fun
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZAGGREGATEB '[' valueexpr
';'
AGGREGATEB_fun
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZSYMMJOIN '[' SYMMJOIN_fun
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZSYMMOUTERJOIN '[' SYMMOUTERJOIN_fun
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZSYMMPRODUCTEXTEND '[' SYMMPRODUCTEXTEND_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZKSMALLEST'[' valueexpr
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZKBIGGEST'[' valueexpr
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZEXTEND_AGGR'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZEXTEND_LAST '[' EXTEND_LAST_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZEXTEND_NEXT '[' EXTEND_NEXT_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZREPLACEATTR '[' REPLACEATTR_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZPFILTER '[' PFILTER_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZEXTENDX '[' list
';'
EXTENDX_fun
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZOBOJOIND'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZISORDEREDBY'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZADDMODCOUNTER '[' valueexpr
','
valueexpr
','
ADDMODCOUNTER_fun
','
ADDMODCOUNTER_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZUSEHISTOGRAM '[' list
';'
USEHISTOGRAM_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZUSEHISTOGRAM2 '[' list
';'
USEHISTOGRAM2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZDMAPS '[' valueexpr
','
DMAPS_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDMAPS2 '[' valueexpr
','
DMAPS2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
ZZDMAPS3 '[' valueexpr
','
DMAPS3_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
ZZDMAPS4 '[' valueexpr
','
DMAPS4_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $9,
NestedText::AtomC(")"))
))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
valueexpr
valueexpr
valueexpr
ZZDMAPS5 '[' valueexpr
','
DMAPS5_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZDPRODUCTS '[' valueexpr
','
DPRODUCTS_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZPARTITIONFS '[' valueexpr
','
PARTITIONFS_fun
','
PARTITIONFS_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $10,
NestedText::AtomC(")"))
))))))))))); }
/*
~token~
*/
| valueexpr
ZZDBSCAN '[' DBSCAN_fun
','
valueexpr
','
valueexpr
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZREGISTERFORSTREAM '[' valueexpr
','
REGISTERFORSTREAM_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $7,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZNEST2'[' list
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZPREDCOUNTS '[' PREDCOUNTS_funlist
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::AtomC(")"))
))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERN'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERN2'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEX'[' list
';'
list
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEX2'[' list
';'
list
';'
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8, NestedText::AtomC(")"))))))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEXTEND '[' STPATTERNEXTEND_funlist
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEXTEND2 '[' STPATTERNEXTEND2_funlist
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEXEXTEND '[' STPATTERNEXEXTEND_funlist
';'
list
';'
STPATTERNEXEXTEND_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEXEXTEND2 '[' STPATTERNEXEXTEND2_funlist
';'
list
';'
STPATTERNEXEXTEND2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEXTENDSTREAM '[' STPATTERNEXTENDSTREAM_funlist
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEXTENDSTREAM2 '[' STPATTERNEXTENDSTREAM2_funlist
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEXEXTENDSTREAM '[' STPATTERNEXEXTENDSTREAM_funlist
';'
list
';'
STPATTERNEXEXTENDSTREAM_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZSTPATTERNEXEXTENDSTREAM2 '[' STPATTERNEXEXTENDSTREAM2_funlist
';'
list
';'
STPATTERNEXEXTENDSTREAM2_fun
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
NestedText::AtomC(")"))
))))))))); }
/*
~token~
*/
| valueexpr
ZZCOMPUTECLOSURE'[' list
';'
list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6, NestedText::AtomC(")"))))))))); }
/*
~token~
*/
| valueexpr
ZZOCONSUME'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZREMOVE'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZREDUCE '[' REDUCE_fun
','
valueexpr
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::AtomC(")"))
))))))); }
/*
~token~
*/
| valueexpr
ZZRENAMEATTR'[' list
']'
{ $$ = NestedText::Concat(
NestedText::AtomC("("),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4, NestedText::AtomC(")"))))))); }
/*
~token~
*/
| valueexpr
ZZTSMOTIFBFFUN '[' valueexpr
','
valueexpr
','
TSMOTIFBFFUN_fun
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $4,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $6,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $8,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))))); }
/*
~token~
*/
| valueexpr
valueexpr
ZZTSDISTANCEFUN '[' TSDISTANCEFUN_fun
']'
{ $$ = NestedText::Concat(
(USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat( $3,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $2,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat( $5,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")))
))))))); }
;
/*
~function~
*/
GDIJKSTRA_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GD"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MINPATHCOST2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GD"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
GBIDIJKSTRA_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GD"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MTMINPATHCOSTS2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GD"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
D_SEND_SHUFFLE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DSHUFFLE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELATION"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DSHUFFLE2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELATION"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DSHUFFLE1_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELATION"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DLOOP_OLD_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DLOOPA_OLD_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DTIE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PARTITIONDMAP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PDTS"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAPPDMAP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DPD4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FDISTRIBUTE2TES_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DISTRIBUTE2TES_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
OPTICSF_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
OPTICSTF_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FILTERV_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TVS2T"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FILTERNP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
EXTENDV_fun: naming EXTENDV_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming EXTENDV_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| EXTENDV_fun_1 {$$ = $1;}
| EXTENDV_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
EXTENDV_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TVS2T"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
EXTENDV_funlist: EXTENDV_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
EXTENDV_funlist_1 : EXTENDV_fun{$$ = $1;}
| EXTENDV_funlist_1 ',' EXTENDV_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
PROJECTEXTENDV_fun: naming PROJECTEXTENDV_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PROJECTEXTENDV_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PROJECTEXTENDV_fun_1 {$$ = $1;}
| PROJECTEXTENDV_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PROJECTEXTENDV_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TVS2T"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PROJECTEXTENDV_funlist: PROJECTEXTENDV_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PROJECTEXTENDV_funlist_1 : PROJECTEXTENDV_fun{$$ = $1;}
| PROJECTEXTENDV_funlist_1 ',' PROJECTEXTENDV_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
EXTENDNP_fun: naming EXTENDNP_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming EXTENDNP_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| EXTENDNP_fun_1 {$$ = $1;}
| EXTENDNP_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
EXTENDNP_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
EXTENDNP_funlist: EXTENDNP_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
EXTENDNP_funlist_1 : EXTENDNP_fun{$$ = $1;}
| EXTENDNP_funlist_1 ',' EXTENDNP_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
PROJECTEXTENDNP_fun: naming PROJECTEXTENDNP_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PROJECTEXTENDNP_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PROJECTEXTENDNP_fun_1 {$$ = $1;}
| PROJECTEXTENDNP_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PROJECTEXTENDNP_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PROJECTEXTENDNP_funlist: PROJECTEXTENDNP_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PROJECTEXTENDNP_funlist_1 : PROJECTEXTENDNP_fun{$$ = $1;}
| PROJECTEXTENDNP_funlist_1 ',' PROJECTEXTENDNP_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
APPLYPREDICATE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"blockentry");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" BLOCKENTRY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FILTER_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CFILTER_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CAND_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"block");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
COR_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"block");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
WITHIN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"const1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
WITHIN2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"const1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"const2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ANY2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
WHILEDO_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"const1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FUNSEQ1_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FUNSEQ2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FUNSEQ3_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARGEF3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FUNSEQ4_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARGEF3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARGEF4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) ))));
cleanVariables(4);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FUNSEQ5_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARGEF3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARGEF4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARGEF5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) ))));
cleanVariables(5);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FUNSEQ6_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARGEF1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARGEF2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARGEF3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARGEF4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARGEF5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARGEF6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) ))));
cleanVariables(6);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DDISTRIBUTE4_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FDISTRIBUTE7_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DLOOP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"darrayelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DLOOP2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DARRAYELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DARRAYELEM2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"dmapelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmapslotno");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PDMAP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"dmapelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmapslotno");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP2n_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmapslotno");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP3_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) ))));
cleanVariables(4);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP4_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) ))));
cleanVariables(5);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP5_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5i");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) ))));
cleanVariables(6);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP6_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(7);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP7_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem7");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[8], "%s_%d",paramname,paramno);
p = pair<int,string>(8, params[8]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[8]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(8);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAP8_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem7");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem8");
sprintf(params[8], "%s_%d",paramname,paramno);
p = pair<int,string>(8, params[8]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[9], "%s_%d",paramname,paramno);
p = pair<int,string>(9, params[9]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[8]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG8"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[9]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(9);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PDMAP2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PDMAP3_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) ))));
cleanVariables(4);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PDMAP4_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4i");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) ))));
cleanVariables(5);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PDMAP5_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5i");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) ))));
cleanVariables(6);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PDMAP6_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(7);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PDMAP7_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem7");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[8], "%s_%d",paramname,paramno);
p = pair<int,string>(8, params[8]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG8"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[8]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(8);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PDMAP8_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem6");
sprintf(params[6], "%s_%d",paramname,paramno);
p = pair<int,string>(6, params[6]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem7");
sprintf(params[7], "%s_%d",paramname,paramno);
p = pair<int,string>(7, params[7]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem8");
sprintf(params[8], "%s_%d",paramname,paramno);
p = pair<int,string>(8, params[8]);
paramstack.push(p);
paramno++;
strcpy(paramname,"dmslotno");
sprintf(params[9], "%s_%d",paramname,paramno);
p = pair<int,string>(9, params[9]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG6"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[6]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG7"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[7]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG8"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[8]),
NestedText::Concat( NestedText::AtomC(" ARRAYFUNARG9"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[9]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) )))) )))) )))) )))) ))));
cleanVariables(9);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DFDISTRIBUTE4_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PARTITION_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" SUBSUBTYPE1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PARTITIONF_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" FFR"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" FFR"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
AREDUCE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
AREDUCE2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
AREDUCE2F_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AREDUCEARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DPRODUCT_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DPRODUCTARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DPRODUCTARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DDISTRIBUTE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DFDISTRIBUTE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PARTITION8LOCAL_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PARTITIONF8_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" P8TM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
LOOPJOINREL_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CONSTGRAPH_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CONSTGRAPHPOINTS_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
EXISTS_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FORALL_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PARAJOIN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"stream1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"stream2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPSTREAM2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPSTREAM3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
HADOOPJOIN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"stream1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"stream2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ANY2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
MUPDATE_fun: naming MUPDATE_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming MUPDATE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| MUPDATE_fun_1 {$$ = $1;}
| MUPDATE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
MUPDATE_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
MUPDATE_funlist: MUPDATE_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
MUPDATE_funlist_1 : MUPDATE_fun{$$ = $1;}
| MUPDATE_funlist_1 ',' MUPDATE_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
MUPDATESAVE_fun: naming MUPDATESAVE_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming MUPDATESAVE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| MUPDATESAVE_fun_1 {$$ = $1;}
| MUPDATESAVE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
MUPDATESAVE_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
MUPDATESAVE_funlist: MUPDATESAVE_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
MUPDATESAVE_funlist_1 : MUPDATESAVE_fun{$$ = $1;}
| MUPDATESAVE_funlist_1 ',' MUPDATESAVE_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
MUPDATEBYID_fun: naming MUPDATEBYID_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming MUPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| MUPDATEBYID_fun_1 {$$ = $1;}
| MUPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
MUPDATEBYID_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
MUPDATEBYID_funlist: MUPDATEBYID_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
MUPDATEBYID_funlist_1 : MUPDATEBYID_fun{$$ = $1;}
| MUPDATEBYID_funlist_1 ',' MUPDATEBYID_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
MUPDATEDIRECT2_fun: naming MUPDATEDIRECT2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming MUPDATEDIRECT2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| MUPDATEDIRECT2_fun_1 {$$ = $1;}
| MUPDATEDIRECT2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
MUPDATEDIRECT2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"tuple2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" MTUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
MUPDATEDIRECT2_funlist: MUPDATEDIRECT2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
MUPDATEDIRECT2_funlist_1 : MUPDATEDIRECT2_fun{$$ = $1;}
| MUPDATEDIRECT2_funlist_1 ',' MUPDATEDIRECT2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
MOSHORTESTPATHD_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MOSHORTESTPATHA_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MGSHORTESTPATHD_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MGSHORTESTPATHA_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MPQREORDER_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MPQREORDERUPDATE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MTUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CREATEMGRAPH2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CREATEMGRAPH2FLOB_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MG2INSERTORIG_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
MEMGROUPBY_fun: naming MEMGROUPBY_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming MEMGROUPBY_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| MEMGROUPBY_fun_1 {$$ = $1;}
| MEMGROUPBY_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
MEMGROUPBY_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"mgroup");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" MGROUP"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
MEMGROUPBY_funlist: MEMGROUPBY_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
MEMGROUPBY_funlist_1 : MEMGROUPBY_fun{$$ = $1;}
| MEMGROUPBY_funlist_1 ',' MEMGROUPBY_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
PUSE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PSTREAM1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
PJOIN2_fun: naming PJOIN2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PJOIN2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PJOIN2_fun_1 {$$ = $1;}
| PJOIN2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PJOIN2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"left");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"right");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PSTREAM1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" PSTREAM2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PJOIN2_funlist: PJOIN2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PJOIN2_funlist_1 : PJOIN2_fun{$$ = $1;}
| PJOIN2_funlist_1 ',' PJOIN2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
PJOIN1_fun: naming PJOIN1_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PJOIN1_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PJOIN1_fun_1 {$$ = $1;}
| PJOIN1_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PJOIN1_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"left");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"right");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PSTREAM1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ANY2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PJOIN1_funlist: PJOIN1_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PJOIN1_funlist_1 : PJOIN1_fun{$$ = $1;}
| PJOIN1_funlist_1 ',' PJOIN1_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
SORTARRAY_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
TIE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CUMULATE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
LOOP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
LOOPA_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
LOOPB_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
LOOPSWITCH_fun: naming LOOPSWITCH_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming LOOPSWITCH_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| LOOPSWITCH_fun_1 {$$ = $1;}
| LOOPSWITCH_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
LOOPSWITCH_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
LOOPSWITCH_funlist: LOOPSWITCH_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
LOOPSWITCH_funlist_1 : LOOPSWITCH_fun{$$ = $1;}
| LOOPSWITCH_funlist_1 ',' LOOPSWITCH_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
LOOPSWITCHA_fun: naming LOOPSWITCHA_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming LOOPSWITCHA_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| LOOPSWITCHA_fun_1 {$$ = $1;}
| LOOPSWITCHA_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
LOOPSWITCHA_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
LOOPSWITCHA_funlist: LOOPSWITCHA_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
LOOPSWITCHA_funlist_1 : LOOPSWITCHA_fun{$$ = $1;}
| LOOPSWITCHA_funlist_1 ',' LOOPSWITCHA_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
LOOPSWITCHB_fun: naming LOOPSWITCHB_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming LOOPSWITCHB_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| LOOPSWITCHB_fun_1 {$$ = $1;}
| LOOPSWITCHB_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
LOOPSWITCHB_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
LOOPSWITCHB_funlist: LOOPSWITCHB_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
LOOPSWITCHB_funlist_1 : LOOPSWITCHB_fun{$$ = $1;}
| LOOPSWITCHB_funlist_1 ',' LOOPSWITCHB_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
LOOPSELECT_fun: naming LOOPSELECT_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming LOOPSELECT_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| LOOPSELECT_fun_1 {$$ = $1;}
| LOOPSELECT_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
LOOPSELECT_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
LOOPSELECT_funlist: LOOPSELECT_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
LOOPSELECT_funlist_1 : LOOPSELECT_fun{$$ = $1;}
| LOOPSELECT_funlist_1 ',' LOOPSELECT_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
LOOPSELECTA_fun: naming LOOPSELECTA_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming LOOPSELECTA_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| LOOPSELECTA_fun_1 {$$ = $1;}
| LOOPSELECTA_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
LOOPSELECTA_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
LOOPSELECTA_funlist: LOOPSELECTA_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
LOOPSELECTA_funlist_1 : LOOPSELECTA_fun{$$ = $1;}
| LOOPSELECTA_funlist_1 ',' LOOPSELECTA_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
LOOPSELECTB_fun: naming LOOPSELECTB_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming LOOPSELECTB_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| LOOPSELECTB_fun_1 {$$ = $1;}
| LOOPSELECTB_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
LOOPSELECTB_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
LOOPSELECTB_funlist: LOOPSELECTB_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
LOOPSELECTB_funlist_1 : LOOPSELECTB_fun{$$ = $1;}
| LOOPSELECTB_funlist_1 ',' LOOPSELECTB_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
PARTJOIN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
PARTJOINSWITCH_fun: naming PARTJOINSWITCH_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PARTJOINSWITCH_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PARTJOINSWITCH_fun_1 {$$ = $1;}
| PARTJOINSWITCH_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PARTJOINSWITCH_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PARTJOINSWITCH_funlist: PARTJOINSWITCH_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PARTJOINSWITCH_funlist_1 : PARTJOINSWITCH_fun{$$ = $1;}
| PARTJOINSWITCH_funlist_1 ',' PARTJOINSWITCH_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
PARTJOINSELECT_fun: naming PARTJOINSELECT_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PARTJOINSELECT_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PARTJOINSELECT_fun_1 {$$ = $1;}
| PARTJOINSELECT_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PARTJOINSELECT_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"first");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"second");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PARTJOINSELECT_funlist: PARTJOINSELECT_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PARTJOINSELECT_funlist_1 : PARTJOINSELECT_fun{$$ = $1;}
| PARTJOINSELECT_funlist_1 ',' PARTJOINSELECT_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
EXTEND_fun: naming EXTEND_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming EXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| EXTEND_fun_1 {$$ = $1;}
| EXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
EXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
EXTEND_funlist: EXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
EXTEND_funlist_1 : EXTEND_fun{$$ = $1;}
| EXTEND_funlist_1 ',' EXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
PARAJOIN2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"stream1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"stream2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ANY"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ANY2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DRELFILTER_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
DRELEXTEND_fun: naming DRELEXTEND_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming DRELEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| DRELEXTEND_fun_1 {$$ = $1;}
| DRELEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
DRELEXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
DRELEXTEND_funlist: DRELEXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
DRELEXTEND_funlist_1 : DRELEXTEND_fun{$$ = $1;}
| DRELEXTEND_funlist_1 ',' DRELEXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
DRELPROJECTEXTEND_fun: naming DRELPROJECTEXTEND_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming DRELPROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| DRELPROJECTEXTEND_fun_1 {$$ = $1;}
| DRELPROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
DRELPROJECTEXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
DRELPROJECTEXTEND_funlist: DRELPROJECTEXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
DRELPROJECTEXTEND_funlist_1 : DRELPROJECTEXTEND_fun{$$ = $1;}
| DRELPROJECTEXTEND_funlist_1 ',' DRELPROJECTEXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
DRELLGROUPBY_fun: naming DRELLGROUPBY_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming DRELLGROUPBY_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| DRELLGROUPBY_fun_1 {$$ = $1;}
| DRELLGROUPBY_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
DRELLGROUPBY_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
DRELLGROUPBY_funlist: DRELLGROUPBY_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
DRELLGROUPBY_funlist_1 : DRELLGROUPBY_fun{$$ = $1;}
| DRELLGROUPBY_funlist_1 ',' DRELLGROUPBY_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
DRELGROUPBY_fun: naming DRELGROUPBY_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming DRELGROUPBY_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| DRELGROUPBY_fun_1 {$$ = $1;}
| DRELGROUPBY_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
DRELGROUPBY_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
DRELGROUPBY_funlist: DRELGROUPBY_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
DRELGROUPBY_funlist_1 : DRELGROUPBY_fun{$$ = $1;}
| DRELGROUPBY_funlist_1 ',' DRELGROUPBY_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
DRELUPDATE_fun: naming DRELUPDATE_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming DRELUPDATE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| DRELUPDATE_fun_1 {$$ = $1;}
| DRELUPDATE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
DRELUPDATE_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
DRELUPDATE_funlist: DRELUPDATE_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
DRELUPDATE_funlist_1 : DRELUPDATE_fun{$$ = $1;}
| DRELUPDATE_funlist_1 ',' DRELUPDATE_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
DRELUPDATEBYID_fun: naming DRELUPDATEBYID_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming DRELUPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| DRELUPDATEBYID_fun_1 {$$ = $1;}
| DRELUPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
DRELUPDATEBYID_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" SUBSUBTYPE1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
DRELUPDATEBYID_funlist: DRELUPDATEBYID_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
DRELUPDATEBYID_funlist_1 : DRELUPDATEBYID_fun{$$ = $1;}
| DRELUPDATEBYID_funlist_1 ',' DRELUPDATEBYID_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
DRELFILTERADDID_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DRELFILTERDELETE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
DRELFILTERUPDATE_fun: naming DRELFILTERUPDATE_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming DRELFILTERUPDATE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| DRELFILTERUPDATE_fun_1 {$$ = $1;}
| DRELFILTERUPDATE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
DRELFILTERUPDATE_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DRELFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
DRELFILTERUPDATE_funlist: DRELFILTERUPDATE_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
DRELFILTERUPDATE_funlist_1 : DRELFILTERUPDATE_fun{$$ = $1;}
| DRELFILTERUPDATE_funlist_1 ',' DRELFILTERUPDATE_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
DBSCANF_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DBSCANTF_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"streamelem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PFILTERS_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
PEXTEND_fun: naming PEXTEND_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PEXTEND_fun_1 {$$ = $1;}
| PEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PEXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PEXTEND_funlist: PEXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PEXTEND_funlist_1 : PEXTEND_fun{$$ = $1;}
| PEXTEND_funlist_1 ',' PEXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
PEXTENDSTREAM_fun: naming PEXTENDSTREAM_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PEXTENDSTREAM_fun_1 {$$ = $1;}
| PEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PEXTENDSTREAM_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PEXTENDSTREAM_funlist: PEXTENDSTREAM_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PEXTENDSTREAM_funlist_1 : PEXTENDSTREAM_fun{$$ = $1;}
| PEXTENDSTREAM_funlist_1 ',' PEXTENDSTREAM_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
PLOOPSEL_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PLOOPJOIN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PAGGREGATE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"arg1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"arg2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PAGGRT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" PAGGRT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PAGGREGATEB_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"arg1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"arg2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" PAGGRT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" PAGGRT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
AGGREGATES_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"streamelem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
USE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
USE2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"streamelem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
TS_fun: naming TS_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming TS_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| TS_fun_1 {$$ = $1;}
| TS_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
TS_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
TS_funlist: TS_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
TS_funlist_1 : TS_fun{$$ = $1;}
| TS_funlist_1 ',' TS_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
AS_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
streamfun_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
prog_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
SYNC_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
SideEffect_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"countelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"streamelem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
OSHORTESTPATHD_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
OSHORTESTPATHA_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
READ2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DBSARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
READ3_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DBRARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
RDERIVE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" RELARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
READ3_1_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DBRARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DBIARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
READ3_2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" DBRARG"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" DBIARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" DBIARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
FILTERX_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
UPDATESEARCH_fun: naming UPDATESEARCH_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming UPDATESEARCH_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| UPDATESEARCH_fun_1 {$$ = $1;}
| UPDATESEARCH_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
UPDATESEARCH_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
UPDATESEARCH_funlist: UPDATESEARCH_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
UPDATESEARCH_funlist_1 : UPDATESEARCH_fun{$$ = $1;}
| UPDATESEARCH_funlist_1 ',' UPDATESEARCH_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
UPDATEDIRECT_fun: naming UPDATEDIRECT_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming UPDATEDIRECT_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| UPDATEDIRECT_fun_1 {$$ = $1;}
| UPDATEDIRECT_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
UPDATEDIRECT_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
UPDATEDIRECT_funlist: UPDATEDIRECT_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
UPDATEDIRECT_funlist_1 : UPDATEDIRECT_fun{$$ = $1;}
| UPDATEDIRECT_funlist_1 ',' UPDATEDIRECT_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
UPDATEDIRECT2_fun: naming UPDATEDIRECT2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming UPDATEDIRECT2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| UPDATEDIRECT2_fun_1 {$$ = $1;}
| UPDATEDIRECT2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
UPDATEDIRECT2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"tuple2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
UPDATEDIRECT2_funlist: UPDATEDIRECT2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
UPDATEDIRECT2_funlist_1 : UPDATEDIRECT2_fun{$$ = $1;}
| UPDATEDIRECT2_funlist_1 ',' UPDATEDIRECT2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
UPDATEBYID2_fun: naming UPDATEBYID2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming UPDATEBYID2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| UPDATEBYID2_fun_1 {$$ = $1;}
| UPDATEBYID2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
UPDATEBYID2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"tuple2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
UPDATEBYID2_funlist: UPDATEBYID2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
UPDATEBYID2_funlist_1 : UPDATEBYID2_fun{$$ = $1;}
| UPDATEBYID2_funlist_1 ',' UPDATEBYID2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
UPDATESEARCHSAVE_fun: naming UPDATESEARCHSAVE_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming UPDATESEARCHSAVE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| UPDATESEARCHSAVE_fun_1 {$$ = $1;}
| UPDATESEARCHSAVE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
UPDATESEARCHSAVE_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
UPDATESEARCHSAVE_funlist: UPDATESEARCHSAVE_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
UPDATESEARCHSAVE_funlist_1 : UPDATESEARCHSAVE_fun{$$ = $1;}
| UPDATESEARCHSAVE_funlist_1 ',' UPDATESEARCHSAVE_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
UPDATEDIRECTSAVE_fun: naming UPDATEDIRECTSAVE_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming UPDATEDIRECTSAVE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| UPDATEDIRECTSAVE_fun_1 {$$ = $1;}
| UPDATEDIRECTSAVE_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
UPDATEDIRECTSAVE_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
UPDATEDIRECTSAVE_funlist: UPDATEDIRECTSAVE_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
UPDATEDIRECTSAVE_funlist_1 : UPDATEDIRECTSAVE_fun{$$ = $1;}
| UPDATEDIRECTSAVE_funlist_1 ',' UPDATEDIRECTSAVE_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
UPDATEBYID_fun: naming UPDATEBYID_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming UPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| UPDATEBYID_fun_1 {$$ = $1;}
| UPDATEBYID_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
UPDATEBYID_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
UPDATEBYID_funlist: UPDATEBYID_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
UPDATEBYID_funlist_1 : UPDATEBYID_fun{$$ = $1;}
| UPDATEBYID_funlist_1 ',' UPDATEBYID_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
FILTERINSERT_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
CPROJECTEXTEND_fun: naming CPROJECTEXTEND_fun_1
{$$ = NestedText::Concat( (USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
(USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")) ))));}
| naming CPROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat( (USE_AUTO_BUFFER?NestedText::AtomC("( ! (") :NestedText::AtomC("(")),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , (USE_AUTO_BUFFER?NestedText::AtomC("))") :NestedText::AtomC(")")) ))))));}
| CPROJECTEXTEND_fun_1 {$$ = $1;}
| CPROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
CPROJECTEXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
CPROJECTEXTEND_funlist: CPROJECTEXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
CPROJECTEXTEND_funlist_1 : CPROJECTEXTEND_fun{$$ = $1;}
| CPROJECTEXTEND_funlist_1 ',' CPROJECTEXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
MAP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" CELL1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MAP2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" CELL1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" CELL2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MATCHGRID_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" CELLS"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
REPLACEELEM_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
GROUPBY2_fun: naming GROUPBY2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming GROUPBY2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| GROUPBY2_fun_1 {$$ = $1;}
| GROUPBY2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
GROUPBY2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
GROUPBY2_funlist: GROUPBY2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
GROUPBY2_funlist_1 : GROUPBY2_fun{$$ = $1;}
| GROUPBY2_funlist_1 ',' GROUPBY2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
HADOOPMAP_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lobject1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TPARA"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
HADOOPREDUCE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lobject1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TPARA"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
HADOOPREDUCE2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lobject1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lobject2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TPARA"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TPARA2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
HADOOPMAP2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lobject1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lobject2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TPARA"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TPARA2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
GPATTERN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CROSSPATTERN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
MTHREADEDFILTER_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
CANCEL_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
PROJECTEXTEND_fun: naming PROJECTEXTEND_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PROJECTEXTEND_fun_1 {$$ = $1;}
| PROJECTEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PROJECTEXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PROJECTEXTEND_funlist: PROJECTEXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PROJECTEXTEND_funlist_1 : PROJECTEXTEND_fun{$$ = $1;}
| PROJECTEXTEND_funlist_1 ',' PROJECTEXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
EXTENDSTREAM_fun: naming EXTENDSTREAM_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming EXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| EXTENDSTREAM_fun_1 {$$ = $1;}
| EXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
EXTENDSTREAM_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
EXTENDSTREAM_funlist: EXTENDSTREAM_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
EXTENDSTREAM_funlist_1 : EXTENDSTREAM_fun{$$ = $1;}
| EXTENDSTREAM_funlist_1 ',' EXTENDSTREAM_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
PROJECTEXTENDSTREAM_fun: naming PROJECTEXTENDSTREAM_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PROJECTEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PROJECTEXTENDSTREAM_fun_1 {$$ = $1;}
| PROJECTEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PROJECTEXTENDSTREAM_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PROJECTEXTENDSTREAM_funlist: PROJECTEXTENDSTREAM_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PROJECTEXTENDSTREAM_funlist_1 : PROJECTEXTENDSTREAM_fun{$$ = $1;}
| PROJECTEXTENDSTREAM_funlist_1 ',' PROJECTEXTENDSTREAM_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
GROUPBY_fun: naming GROUPBY_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming GROUPBY_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| GROUPBY_fun_1 {$$ = $1;}
| GROUPBY_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
GROUPBY_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"group");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GROUP"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
GROUPBY_funlist: GROUPBY_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
GROUPBY_funlist_1 : GROUPBY_fun{$$ = $1;}
| GROUPBY_funlist_1 ',' GROUPBY_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
SLIDINGWINDOW_fun: naming SLIDINGWINDOW_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming SLIDINGWINDOW_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| SLIDINGWINDOW_fun_1 {$$ = $1;}
| SLIDINGWINDOW_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
SLIDINGWINDOW_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"group");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" GROUP"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
SLIDINGWINDOW_funlist: SLIDINGWINDOW_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
SLIDINGWINDOW_funlist_1 : SLIDINGWINDOW_fun{$$ = $1;}
| SLIDINGWINDOW_funlist_1 ',' SLIDINGWINDOW_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
LOOPJOIN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
LOOPSEL_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
AGGREGATE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
AGGREGATEB_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"argument1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"argument2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" AGGRTYPE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
SYMMJOIN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
SYMMOUTERJOIN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
SYMMPRODUCTEXTEND_fun: naming SYMMPRODUCTEXTEND_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming SYMMPRODUCTEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| SYMMPRODUCTEXTEND_fun_1 {$$ = $1;}
| SYMMPRODUCTEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
SYMMPRODUCTEXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
SYMMPRODUCTEXTEND_funlist: SYMMPRODUCTEXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
SYMMPRODUCTEXTEND_funlist_1 : SYMMPRODUCTEXTEND_fun{$$ = $1;}
| SYMMPRODUCTEXTEND_funlist_1 ',' SYMMPRODUCTEXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
EXTEND_LAST_fun: naming EXTEND_LAST_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming EXTEND_LAST_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| EXTEND_LAST_fun_1 {$$ = $1;}
| EXTEND_LAST_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
EXTEND_LAST_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"currenttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lasttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
EXTEND_LAST_funlist: EXTEND_LAST_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
EXTEND_LAST_funlist_1 : EXTEND_LAST_fun{$$ = $1;}
| EXTEND_LAST_funlist_1 ',' EXTEND_LAST_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
EXTEND_NEXT_fun: naming EXTEND_NEXT_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming EXTEND_NEXT_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| EXTEND_NEXT_fun_1 {$$ = $1;}
| EXTEND_NEXT_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
EXTEND_NEXT_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"currenttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lasttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
EXTEND_NEXT_funlist: EXTEND_NEXT_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
EXTEND_NEXT_funlist_1 : EXTEND_NEXT_fun{$$ = $1;}
| EXTEND_NEXT_funlist_1 ',' EXTEND_NEXT_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
REPLACEATTR_fun: naming REPLACEATTR_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming REPLACEATTR_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| REPLACEATTR_fun_1 {$$ = $1;}
| REPLACEATTR_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
REPLACEATTR_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
REPLACEATTR_funlist: REPLACEATTR_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
REPLACEATTR_funlist_1 : REPLACEATTR_fun{$$ = $1;}
| REPLACEATTR_funlist_1 ',' REPLACEATTR_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
PFILTER_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"currenttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"lasttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
EXTENDX_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
ADDMODCOUNTER_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"value");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" int"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
USEHISTOGRAM_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
USEHISTOGRAM2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"element1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"element2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ELEMENT"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAPS_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"dmapelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAPS2_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAPS3_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) ))));
cleanVariables(3);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAPS4_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) ))));
cleanVariables(4);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DMAPS5_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem3");
sprintf(params[3], "%s_%d",paramname,paramno);
p = pair<int,string>(3, params[3]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem4");
sprintf(params[4], "%s_%d",paramname,paramno);
p = pair<int,string>(4, params[4]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem5");
sprintf(params[5], "%s_%d",paramname,paramno);
p = pair<int,string>(5, params[5]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[3]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[4]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG4"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[5]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG5"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) )))) )))) )))) ))));
cleanVariables(5);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DPRODUCTS_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"elem2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARG1"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNFSARG2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
PARTITIONFS_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"arg1");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"arg2");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARGPARTITIONF"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" ARRAYORTASKSFUNARGPARTITIONF"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
DBSCAN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
REGISTERFORSTREAM_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"elem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TTYPE3"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~Function~
*/
PREDCOUNTS_fun: naming PREDCOUNTS_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming PREDCOUNTS_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| PREDCOUNTS_fun_1 {$$ = $1;}
| PREDCOUNTS_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
PREDCOUNTS_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
PREDCOUNTS_funlist: PREDCOUNTS_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
PREDCOUNTS_funlist_1 : PREDCOUNTS_fun{$$ = $1;}
| PREDCOUNTS_funlist_1 ',' PREDCOUNTS_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
STPATTERNEXTEND_fun: naming STPATTERNEXTEND_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming STPATTERNEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| STPATTERNEXTEND_fun_1 {$$ = $1;}
| STPATTERNEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
STPATTERNEXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
STPATTERNEXTEND_funlist: STPATTERNEXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
STPATTERNEXTEND_funlist_1 : STPATTERNEXTEND_fun{$$ = $1;}
| STPATTERNEXTEND_funlist_1 ',' STPATTERNEXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
STPATTERNEXTEND2_fun: naming STPATTERNEXTEND2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming STPATTERNEXTEND2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| STPATTERNEXTEND2_fun_1 {$$ = $1;}
| STPATTERNEXTEND2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
STPATTERNEXTEND2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
STPATTERNEXTEND2_funlist: STPATTERNEXTEND2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
STPATTERNEXTEND2_funlist_1 : STPATTERNEXTEND2_fun{$$ = $1;}
| STPATTERNEXTEND2_funlist_1 ',' STPATTERNEXTEND2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
STPATTERNEXEXTEND_fun: naming STPATTERNEXEXTEND_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming STPATTERNEXEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| STPATTERNEXEXTEND_fun_1 {$$ = $1;}
| STPATTERNEXEXTEND_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
STPATTERNEXEXTEND_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
STPATTERNEXEXTEND_funlist: STPATTERNEXEXTEND_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
STPATTERNEXEXTEND_funlist_1 : STPATTERNEXEXTEND_fun{$$ = $1;}
| STPATTERNEXEXTEND_funlist_1 ',' STPATTERNEXEXTEND_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
STPATTERNEXEXTEND2_fun: naming STPATTERNEXEXTEND2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming STPATTERNEXEXTEND2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| STPATTERNEXEXTEND2_fun_1 {$$ = $1;}
| STPATTERNEXEXTEND2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
STPATTERNEXEXTEND2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
STPATTERNEXEXTEND2_funlist: STPATTERNEXEXTEND2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
STPATTERNEXEXTEND2_funlist_1 : STPATTERNEXEXTEND2_fun{$$ = $1;}
| STPATTERNEXEXTEND2_funlist_1 ',' STPATTERNEXEXTEND2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
STPATTERNEXTENDSTREAM_fun: naming STPATTERNEXTENDSTREAM_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming STPATTERNEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| STPATTERNEXTENDSTREAM_fun_1 {$$ = $1;}
| STPATTERNEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
STPATTERNEXTENDSTREAM_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
STPATTERNEXTENDSTREAM_funlist: STPATTERNEXTENDSTREAM_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
STPATTERNEXTENDSTREAM_funlist_1 : STPATTERNEXTENDSTREAM_fun{$$ = $1;}
| STPATTERNEXTENDSTREAM_funlist_1 ',' STPATTERNEXTENDSTREAM_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
STPATTERNEXTENDSTREAM2_fun: naming STPATTERNEXTENDSTREAM2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming STPATTERNEXTENDSTREAM2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| STPATTERNEXTENDSTREAM2_fun_1 {$$ = $1;}
| STPATTERNEXTENDSTREAM2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
STPATTERNEXTENDSTREAM2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
STPATTERNEXTENDSTREAM2_funlist: STPATTERNEXTENDSTREAM2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
STPATTERNEXTENDSTREAM2_funlist_1 : STPATTERNEXTENDSTREAM2_fun{$$ = $1;}
| STPATTERNEXTENDSTREAM2_funlist_1 ',' STPATTERNEXTENDSTREAM2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
STPATTERNEXEXTENDSTREAM_fun: naming STPATTERNEXEXTENDSTREAM_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming STPATTERNEXEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| STPATTERNEXEXTENDSTREAM_fun_1 {$$ = $1;}
| STPATTERNEXEXTENDSTREAM_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
STPATTERNEXEXTENDSTREAM_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
STPATTERNEXEXTENDSTREAM_funlist: STPATTERNEXEXTENDSTREAM_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
STPATTERNEXEXTENDSTREAM_funlist_1 : STPATTERNEXEXTENDSTREAM_fun{$$ = $1;}
| STPATTERNEXEXTENDSTREAM_funlist_1 ',' STPATTERNEXEXTENDSTREAM_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~Function~
*/
STPATTERNEXEXTENDSTREAM2_fun: naming STPATTERNEXEXTENDSTREAM2_fun_1
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::AtomC(")") ))));}
| naming STPATTERNEXEXTENDSTREAM2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat(NestedText::AtomC("("),
NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "),
NestedText::Concat($2,
NestedText::Concat(NestedText::AtomC(" "), NestedText::Concat( $4 , NestedText::AtomC(")") ))))));}
| STPATTERNEXEXTENDSTREAM2_fun_1 {$$ = $1;}
| STPATTERNEXEXTENDSTREAM2_fun_1 ZZDEFAULTSEP valueexpr
{$$ = NestedText::Concat($1, NestedText::Concat(NestedText::AtomC(" "), $3)); }
;
/*
~function~
*/
STPATTERNEXEXTENDSTREAM2_fun_1 : {
pair<int,string> p;
paramno++;
strcpy(paramname,"streamelem");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" STREAMELEM"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~funlist~
*/
STPATTERNEXEXTENDSTREAM2_funlist: STPATTERNEXEXTENDSTREAM2_funlist_1
{ $$=NestedText::Concat(NestedText::AtomC("( "),
NestedText::Concat($1,
NestedText::AtomC(" ) ")));
}
;
/*
~funlist~
*/
STPATTERNEXEXTENDSTREAM2_funlist_1 : STPATTERNEXEXTENDSTREAM2_fun{$$ = $1;}
| STPATTERNEXEXTENDSTREAM2_funlist_1 ',' STPATTERNEXEXTENDSTREAM2_fun
{ $$ = NestedText::Concat($1,
NestedText::Concat(NestedText::AtomC(" "), $3));
}
;
/*
~function~
*/
REDUCE_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"tuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) ))));
cleanVariables(1);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
TSMOTIFBFFUN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
/*
~function~
*/
TSDISTANCEFUN_fun : {
pair<int,string> p;
paramno++;
strcpy(paramname,"lefttuple");
sprintf(params[1], "%s_%d",paramname,paramno);
p = pair<int,string>(1, params[1]);
paramstack.push(p);
paramno++;
strcpy(paramname,"righttuple");
sprintf(params[2], "%s_%d",paramname,paramno);
p = pair<int,string>(2, params[2]);
paramstack.push(p);
}
valueexpr
{
pair<int,string> p;
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
p = paramstack.top();
strcpy(params[p.first],p.second.c_str());
paramstack.pop();
$$ = NestedText::Concat( NestedText::AtomC("(fun "),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[1]),
NestedText::Concat( NestedText::AtomC(" TUPLE"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( NestedText::AtomC("("),
NestedText::Concat( NestedText::AtomC(params[2]),
NestedText::Concat( NestedText::AtomC(" TUPLE2"),
NestedText::Concat(NestedText::AtomC(")"),
NestedText::Concat( $2, NestedText::AtomC(")"))) )))) ))));
cleanVariables(2);
restoreVariables();
}
| function { $$ = $1; }
;
%%