Home | History | Annotate | Download | only in analysis
      1 /* This file was generated by SableCC (http://www.sablecc.org/). */
      2 
      3 package com.google.clearsilver.jsilver.syntax.analysis;
      4 
      5 import java.util.*;
      6 import com.google.clearsilver.jsilver.syntax.node.*;
      7 
      8 public class ReversedDepthFirstAdapter extends AnalysisAdapter
      9 {
     10     public void inStart(Start node)
     11     {
     12         defaultIn(node);
     13     }
     14 
     15     public void outStart(Start node)
     16     {
     17         defaultOut(node);
     18     }
     19 
     20     public void defaultIn(@SuppressWarnings("unused") Node node)
     21     {
     22         // Do nothing
     23     }
     24 
     25     public void defaultOut(@SuppressWarnings("unused") Node node)
     26     {
     27         // Do nothing
     28     }
     29 
     30     @Override
     31     public void caseStart(Start node)
     32     {
     33         inStart(node);
     34         node.getEOF().apply(this);
     35         node.getPCommand().apply(this);
     36         outStart(node);
     37     }
     38 
     39     public void inAMultipleCommand(AMultipleCommand node)
     40     {
     41         defaultIn(node);
     42     }
     43 
     44     public void outAMultipleCommand(AMultipleCommand node)
     45     {
     46         defaultOut(node);
     47     }
     48 
     49     @Override
     50     public void caseAMultipleCommand(AMultipleCommand node)
     51     {
     52         inAMultipleCommand(node);
     53         {
     54             List<PCommand> copy = new ArrayList<PCommand>(node.getCommand());
     55             Collections.reverse(copy);
     56             for(PCommand e : copy)
     57             {
     58                 e.apply(this);
     59             }
     60         }
     61         outAMultipleCommand(node);
     62     }
     63 
     64     public void inACommentCommand(ACommentCommand node)
     65     {
     66         defaultIn(node);
     67     }
     68 
     69     public void outACommentCommand(ACommentCommand node)
     70     {
     71         defaultOut(node);
     72     }
     73 
     74     @Override
     75     public void caseACommentCommand(ACommentCommand node)
     76     {
     77         inACommentCommand(node);
     78         if(node.getComment() != null)
     79         {
     80             node.getComment().apply(this);
     81         }
     82         if(node.getPosition() != null)
     83         {
     84             node.getPosition().apply(this);
     85         }
     86         outACommentCommand(node);
     87     }
     88 
     89     public void inADataCommand(ADataCommand node)
     90     {
     91         defaultIn(node);
     92     }
     93 
     94     public void outADataCommand(ADataCommand node)
     95     {
     96         defaultOut(node);
     97     }
     98 
     99     @Override
    100     public void caseADataCommand(ADataCommand node)
    101     {
    102         inADataCommand(node);
    103         if(node.getData() != null)
    104         {
    105             node.getData().apply(this);
    106         }
    107         outADataCommand(node);
    108     }
    109 
    110     public void inAVarCommand(AVarCommand node)
    111     {
    112         defaultIn(node);
    113     }
    114 
    115     public void outAVarCommand(AVarCommand node)
    116     {
    117         defaultOut(node);
    118     }
    119 
    120     @Override
    121     public void caseAVarCommand(AVarCommand node)
    122     {
    123         inAVarCommand(node);
    124         if(node.getExpression() != null)
    125         {
    126             node.getExpression().apply(this);
    127         }
    128         if(node.getPosition() != null)
    129         {
    130             node.getPosition().apply(this);
    131         }
    132         outAVarCommand(node);
    133     }
    134 
    135     public void inALvarCommand(ALvarCommand node)
    136     {
    137         defaultIn(node);
    138     }
    139 
    140     public void outALvarCommand(ALvarCommand node)
    141     {
    142         defaultOut(node);
    143     }
    144 
    145     @Override
    146     public void caseALvarCommand(ALvarCommand node)
    147     {
    148         inALvarCommand(node);
    149         if(node.getExpression() != null)
    150         {
    151             node.getExpression().apply(this);
    152         }
    153         if(node.getPosition() != null)
    154         {
    155             node.getPosition().apply(this);
    156         }
    157         outALvarCommand(node);
    158     }
    159 
    160     public void inAEvarCommand(AEvarCommand node)
    161     {
    162         defaultIn(node);
    163     }
    164 
    165     public void outAEvarCommand(AEvarCommand node)
    166     {
    167         defaultOut(node);
    168     }
    169 
    170     @Override
    171     public void caseAEvarCommand(AEvarCommand node)
    172     {
    173         inAEvarCommand(node);
    174         if(node.getExpression() != null)
    175         {
    176             node.getExpression().apply(this);
    177         }
    178         if(node.getPosition() != null)
    179         {
    180             node.getPosition().apply(this);
    181         }
    182         outAEvarCommand(node);
    183     }
    184 
    185     public void inAUvarCommand(AUvarCommand node)
    186     {
    187         defaultIn(node);
    188     }
    189 
    190     public void outAUvarCommand(AUvarCommand node)
    191     {
    192         defaultOut(node);
    193     }
    194 
    195     @Override
    196     public void caseAUvarCommand(AUvarCommand node)
    197     {
    198         inAUvarCommand(node);
    199         if(node.getExpression() != null)
    200         {
    201             node.getExpression().apply(this);
    202         }
    203         if(node.getPosition() != null)
    204         {
    205             node.getPosition().apply(this);
    206         }
    207         outAUvarCommand(node);
    208     }
    209 
    210     public void inASetCommand(ASetCommand node)
    211     {
    212         defaultIn(node);
    213     }
    214 
    215     public void outASetCommand(ASetCommand node)
    216     {
    217         defaultOut(node);
    218     }
    219 
    220     @Override
    221     public void caseASetCommand(ASetCommand node)
    222     {
    223         inASetCommand(node);
    224         if(node.getExpression() != null)
    225         {
    226             node.getExpression().apply(this);
    227         }
    228         if(node.getVariable() != null)
    229         {
    230             node.getVariable().apply(this);
    231         }
    232         if(node.getPosition() != null)
    233         {
    234             node.getPosition().apply(this);
    235         }
    236         outASetCommand(node);
    237     }
    238 
    239     public void inANameCommand(ANameCommand node)
    240     {
    241         defaultIn(node);
    242     }
    243 
    244     public void outANameCommand(ANameCommand node)
    245     {
    246         defaultOut(node);
    247     }
    248 
    249     @Override
    250     public void caseANameCommand(ANameCommand node)
    251     {
    252         inANameCommand(node);
    253         if(node.getVariable() != null)
    254         {
    255             node.getVariable().apply(this);
    256         }
    257         if(node.getPosition() != null)
    258         {
    259             node.getPosition().apply(this);
    260         }
    261         outANameCommand(node);
    262     }
    263 
    264     public void inAEscapeCommand(AEscapeCommand node)
    265     {
    266         defaultIn(node);
    267     }
    268 
    269     public void outAEscapeCommand(AEscapeCommand node)
    270     {
    271         defaultOut(node);
    272     }
    273 
    274     @Override
    275     public void caseAEscapeCommand(AEscapeCommand node)
    276     {
    277         inAEscapeCommand(node);
    278         if(node.getCommand() != null)
    279         {
    280             node.getCommand().apply(this);
    281         }
    282         if(node.getExpression() != null)
    283         {
    284             node.getExpression().apply(this);
    285         }
    286         if(node.getPosition() != null)
    287         {
    288             node.getPosition().apply(this);
    289         }
    290         outAEscapeCommand(node);
    291     }
    292 
    293     public void inAAutoescapeCommand(AAutoescapeCommand node)
    294     {
    295         defaultIn(node);
    296     }
    297 
    298     public void outAAutoescapeCommand(AAutoescapeCommand node)
    299     {
    300         defaultOut(node);
    301     }
    302 
    303     @Override
    304     public void caseAAutoescapeCommand(AAutoescapeCommand node)
    305     {
    306         inAAutoescapeCommand(node);
    307         if(node.getCommand() != null)
    308         {
    309             node.getCommand().apply(this);
    310         }
    311         if(node.getExpression() != null)
    312         {
    313             node.getExpression().apply(this);
    314         }
    315         if(node.getPosition() != null)
    316         {
    317             node.getPosition().apply(this);
    318         }
    319         outAAutoescapeCommand(node);
    320     }
    321 
    322     public void inAWithCommand(AWithCommand node)
    323     {
    324         defaultIn(node);
    325     }
    326 
    327     public void outAWithCommand(AWithCommand node)
    328     {
    329         defaultOut(node);
    330     }
    331 
    332     @Override
    333     public void caseAWithCommand(AWithCommand node)
    334     {
    335         inAWithCommand(node);
    336         if(node.getCommand() != null)
    337         {
    338             node.getCommand().apply(this);
    339         }
    340         if(node.getExpression() != null)
    341         {
    342             node.getExpression().apply(this);
    343         }
    344         if(node.getVariable() != null)
    345         {
    346             node.getVariable().apply(this);
    347         }
    348         if(node.getPosition() != null)
    349         {
    350             node.getPosition().apply(this);
    351         }
    352         outAWithCommand(node);
    353     }
    354 
    355     public void inALoopToCommand(ALoopToCommand node)
    356     {
    357         defaultIn(node);
    358     }
    359 
    360     public void outALoopToCommand(ALoopToCommand node)
    361     {
    362         defaultOut(node);
    363     }
    364 
    365     @Override
    366     public void caseALoopToCommand(ALoopToCommand node)
    367     {
    368         inALoopToCommand(node);
    369         if(node.getCommand() != null)
    370         {
    371             node.getCommand().apply(this);
    372         }
    373         if(node.getExpression() != null)
    374         {
    375             node.getExpression().apply(this);
    376         }
    377         if(node.getVariable() != null)
    378         {
    379             node.getVariable().apply(this);
    380         }
    381         if(node.getPosition() != null)
    382         {
    383             node.getPosition().apply(this);
    384         }
    385         outALoopToCommand(node);
    386     }
    387 
    388     public void inALoopCommand(ALoopCommand node)
    389     {
    390         defaultIn(node);
    391     }
    392 
    393     public void outALoopCommand(ALoopCommand node)
    394     {
    395         defaultOut(node);
    396     }
    397 
    398     @Override
    399     public void caseALoopCommand(ALoopCommand node)
    400     {
    401         inALoopCommand(node);
    402         if(node.getCommand() != null)
    403         {
    404             node.getCommand().apply(this);
    405         }
    406         if(node.getEnd() != null)
    407         {
    408             node.getEnd().apply(this);
    409         }
    410         if(node.getStart() != null)
    411         {
    412             node.getStart().apply(this);
    413         }
    414         if(node.getVariable() != null)
    415         {
    416             node.getVariable().apply(this);
    417         }
    418         if(node.getPosition() != null)
    419         {
    420             node.getPosition().apply(this);
    421         }
    422         outALoopCommand(node);
    423     }
    424 
    425     public void inALoopIncCommand(ALoopIncCommand node)
    426     {
    427         defaultIn(node);
    428     }
    429 
    430     public void outALoopIncCommand(ALoopIncCommand node)
    431     {
    432         defaultOut(node);
    433     }
    434 
    435     @Override
    436     public void caseALoopIncCommand(ALoopIncCommand node)
    437     {
    438         inALoopIncCommand(node);
    439         if(node.getCommand() != null)
    440         {
    441             node.getCommand().apply(this);
    442         }
    443         if(node.getIncrement() != null)
    444         {
    445             node.getIncrement().apply(this);
    446         }
    447         if(node.getEnd() != null)
    448         {
    449             node.getEnd().apply(this);
    450         }
    451         if(node.getStart() != null)
    452         {
    453             node.getStart().apply(this);
    454         }
    455         if(node.getVariable() != null)
    456         {
    457             node.getVariable().apply(this);
    458         }
    459         if(node.getPosition() != null)
    460         {
    461             node.getPosition().apply(this);
    462         }
    463         outALoopIncCommand(node);
    464     }
    465 
    466     public void inAEachCommand(AEachCommand node)
    467     {
    468         defaultIn(node);
    469     }
    470 
    471     public void outAEachCommand(AEachCommand node)
    472     {
    473         defaultOut(node);
    474     }
    475 
    476     @Override
    477     public void caseAEachCommand(AEachCommand node)
    478     {
    479         inAEachCommand(node);
    480         if(node.getCommand() != null)
    481         {
    482             node.getCommand().apply(this);
    483         }
    484         if(node.getExpression() != null)
    485         {
    486             node.getExpression().apply(this);
    487         }
    488         if(node.getVariable() != null)
    489         {
    490             node.getVariable().apply(this);
    491         }
    492         if(node.getPosition() != null)
    493         {
    494             node.getPosition().apply(this);
    495         }
    496         outAEachCommand(node);
    497     }
    498 
    499     public void inADefCommand(ADefCommand node)
    500     {
    501         defaultIn(node);
    502     }
    503 
    504     public void outADefCommand(ADefCommand node)
    505     {
    506         defaultOut(node);
    507     }
    508 
    509     @Override
    510     public void caseADefCommand(ADefCommand node)
    511     {
    512         inADefCommand(node);
    513         if(node.getCommand() != null)
    514         {
    515             node.getCommand().apply(this);
    516         }
    517         {
    518             List<PVariable> copy = new ArrayList<PVariable>(node.getArguments());
    519             Collections.reverse(copy);
    520             for(PVariable e : copy)
    521             {
    522                 e.apply(this);
    523             }
    524         }
    525         {
    526             List<TWord> copy = new ArrayList<TWord>(node.getMacro());
    527             Collections.reverse(copy);
    528             for(TWord e : copy)
    529             {
    530                 e.apply(this);
    531             }
    532         }
    533         if(node.getPosition() != null)
    534         {
    535             node.getPosition().apply(this);
    536         }
    537         outADefCommand(node);
    538     }
    539 
    540     public void inACallCommand(ACallCommand node)
    541     {
    542         defaultIn(node);
    543     }
    544 
    545     public void outACallCommand(ACallCommand node)
    546     {
    547         defaultOut(node);
    548     }
    549 
    550     @Override
    551     public void caseACallCommand(ACallCommand node)
    552     {
    553         inACallCommand(node);
    554         {
    555             List<PExpression> copy = new ArrayList<PExpression>(node.getArguments());
    556             Collections.reverse(copy);
    557             for(PExpression e : copy)
    558             {
    559                 e.apply(this);
    560             }
    561         }
    562         {
    563             List<TWord> copy = new ArrayList<TWord>(node.getMacro());
    564             Collections.reverse(copy);
    565             for(TWord e : copy)
    566             {
    567                 e.apply(this);
    568             }
    569         }
    570         if(node.getPosition() != null)
    571         {
    572             node.getPosition().apply(this);
    573         }
    574         outACallCommand(node);
    575     }
    576 
    577     public void inAIfCommand(AIfCommand node)
    578     {
    579         defaultIn(node);
    580     }
    581 
    582     public void outAIfCommand(AIfCommand node)
    583     {
    584         defaultOut(node);
    585     }
    586 
    587     @Override
    588     public void caseAIfCommand(AIfCommand node)
    589     {
    590         inAIfCommand(node);
    591         if(node.getOtherwise() != null)
    592         {
    593             node.getOtherwise().apply(this);
    594         }
    595         if(node.getBlock() != null)
    596         {
    597             node.getBlock().apply(this);
    598         }
    599         if(node.getExpression() != null)
    600         {
    601             node.getExpression().apply(this);
    602         }
    603         if(node.getPosition() != null)
    604         {
    605             node.getPosition().apply(this);
    606         }
    607         outAIfCommand(node);
    608     }
    609 
    610     public void inAAltCommand(AAltCommand node)
    611     {
    612         defaultIn(node);
    613     }
    614 
    615     public void outAAltCommand(AAltCommand node)
    616     {
    617         defaultOut(node);
    618     }
    619 
    620     @Override
    621     public void caseAAltCommand(AAltCommand node)
    622     {
    623         inAAltCommand(node);
    624         if(node.getCommand() != null)
    625         {
    626             node.getCommand().apply(this);
    627         }
    628         if(node.getExpression() != null)
    629         {
    630             node.getExpression().apply(this);
    631         }
    632         if(node.getPosition() != null)
    633         {
    634             node.getPosition().apply(this);
    635         }
    636         outAAltCommand(node);
    637     }
    638 
    639     public void inAIncludeCommand(AIncludeCommand node)
    640     {
    641         defaultIn(node);
    642     }
    643 
    644     public void outAIncludeCommand(AIncludeCommand node)
    645     {
    646         defaultOut(node);
    647     }
    648 
    649     @Override
    650     public void caseAIncludeCommand(AIncludeCommand node)
    651     {
    652         inAIncludeCommand(node);
    653         if(node.getExpression() != null)
    654         {
    655             node.getExpression().apply(this);
    656         }
    657         if(node.getPosition() != null)
    658         {
    659             node.getPosition().apply(this);
    660         }
    661         outAIncludeCommand(node);
    662     }
    663 
    664     public void inAHardIncludeCommand(AHardIncludeCommand node)
    665     {
    666         defaultIn(node);
    667     }
    668 
    669     public void outAHardIncludeCommand(AHardIncludeCommand node)
    670     {
    671         defaultOut(node);
    672     }
    673 
    674     @Override
    675     public void caseAHardIncludeCommand(AHardIncludeCommand node)
    676     {
    677         inAHardIncludeCommand(node);
    678         if(node.getExpression() != null)
    679         {
    680             node.getExpression().apply(this);
    681         }
    682         if(node.getPosition() != null)
    683         {
    684             node.getPosition().apply(this);
    685         }
    686         outAHardIncludeCommand(node);
    687     }
    688 
    689     public void inALincludeCommand(ALincludeCommand node)
    690     {
    691         defaultIn(node);
    692     }
    693 
    694     public void outALincludeCommand(ALincludeCommand node)
    695     {
    696         defaultOut(node);
    697     }
    698 
    699     @Override
    700     public void caseALincludeCommand(ALincludeCommand node)
    701     {
    702         inALincludeCommand(node);
    703         if(node.getExpression() != null)
    704         {
    705             node.getExpression().apply(this);
    706         }
    707         if(node.getPosition() != null)
    708         {
    709             node.getPosition().apply(this);
    710         }
    711         outALincludeCommand(node);
    712     }
    713 
    714     public void inAHardLincludeCommand(AHardLincludeCommand node)
    715     {
    716         defaultIn(node);
    717     }
    718 
    719     public void outAHardLincludeCommand(AHardLincludeCommand node)
    720     {
    721         defaultOut(node);
    722     }
    723 
    724     @Override
    725     public void caseAHardLincludeCommand(AHardLincludeCommand node)
    726     {
    727         inAHardLincludeCommand(node);
    728         if(node.getExpression() != null)
    729         {
    730             node.getExpression().apply(this);
    731         }
    732         if(node.getPosition() != null)
    733         {
    734             node.getPosition().apply(this);
    735         }
    736         outAHardLincludeCommand(node);
    737     }
    738 
    739     public void inAContentTypeCommand(AContentTypeCommand node)
    740     {
    741         defaultIn(node);
    742     }
    743 
    744     public void outAContentTypeCommand(AContentTypeCommand node)
    745     {
    746         defaultOut(node);
    747     }
    748 
    749     @Override
    750     public void caseAContentTypeCommand(AContentTypeCommand node)
    751     {
    752         inAContentTypeCommand(node);
    753         if(node.getString() != null)
    754         {
    755             node.getString().apply(this);
    756         }
    757         if(node.getPosition() != null)
    758         {
    759             node.getPosition().apply(this);
    760         }
    761         outAContentTypeCommand(node);
    762     }
    763 
    764     public void inAInlineCommand(AInlineCommand node)
    765     {
    766         defaultIn(node);
    767     }
    768 
    769     public void outAInlineCommand(AInlineCommand node)
    770     {
    771         defaultOut(node);
    772     }
    773 
    774     @Override
    775     public void caseAInlineCommand(AInlineCommand node)
    776     {
    777         inAInlineCommand(node);
    778         if(node.getCommand() != null)
    779         {
    780             node.getCommand().apply(this);
    781         }
    782         if(node.getPosition() != null)
    783         {
    784             node.getPosition().apply(this);
    785         }
    786         outAInlineCommand(node);
    787     }
    788 
    789     public void inANoopCommand(ANoopCommand node)
    790     {
    791         defaultIn(node);
    792     }
    793 
    794     public void outANoopCommand(ANoopCommand node)
    795     {
    796         defaultOut(node);
    797     }
    798 
    799     @Override
    800     public void caseANoopCommand(ANoopCommand node)
    801     {
    802         inANoopCommand(node);
    803         outANoopCommand(node);
    804     }
    805 
    806     public void inACsOpenPosition(ACsOpenPosition node)
    807     {
    808         defaultIn(node);
    809     }
    810 
    811     public void outACsOpenPosition(ACsOpenPosition node)
    812     {
    813         defaultOut(node);
    814     }
    815 
    816     @Override
    817     public void caseACsOpenPosition(ACsOpenPosition node)
    818     {
    819         inACsOpenPosition(node);
    820         if(node.getCsOpen() != null)
    821         {
    822             node.getCsOpen().apply(this);
    823         }
    824         outACsOpenPosition(node);
    825     }
    826 
    827     public void inAStringExpression(AStringExpression node)
    828     {
    829         defaultIn(node);
    830     }
    831 
    832     public void outAStringExpression(AStringExpression node)
    833     {
    834         defaultOut(node);
    835     }
    836 
    837     @Override
    838     public void caseAStringExpression(AStringExpression node)
    839     {
    840         inAStringExpression(node);
    841         if(node.getValue() != null)
    842         {
    843             node.getValue().apply(this);
    844         }
    845         outAStringExpression(node);
    846     }
    847 
    848     public void inANumericExpression(ANumericExpression node)
    849     {
    850         defaultIn(node);
    851     }
    852 
    853     public void outANumericExpression(ANumericExpression node)
    854     {
    855         defaultOut(node);
    856     }
    857 
    858     @Override
    859     public void caseANumericExpression(ANumericExpression node)
    860     {
    861         inANumericExpression(node);
    862         if(node.getExpression() != null)
    863         {
    864             node.getExpression().apply(this);
    865         }
    866         outANumericExpression(node);
    867     }
    868 
    869     public void inADecimalExpression(ADecimalExpression node)
    870     {
    871         defaultIn(node);
    872     }
    873 
    874     public void outADecimalExpression(ADecimalExpression node)
    875     {
    876         defaultOut(node);
    877     }
    878 
    879     @Override
    880     public void caseADecimalExpression(ADecimalExpression node)
    881     {
    882         inADecimalExpression(node);
    883         if(node.getValue() != null)
    884         {
    885             node.getValue().apply(this);
    886         }
    887         outADecimalExpression(node);
    888     }
    889 
    890     public void inAHexExpression(AHexExpression node)
    891     {
    892         defaultIn(node);
    893     }
    894 
    895     public void outAHexExpression(AHexExpression node)
    896     {
    897         defaultOut(node);
    898     }
    899 
    900     @Override
    901     public void caseAHexExpression(AHexExpression node)
    902     {
    903         inAHexExpression(node);
    904         if(node.getValue() != null)
    905         {
    906             node.getValue().apply(this);
    907         }
    908         outAHexExpression(node);
    909     }
    910 
    911     public void inAVariableExpression(AVariableExpression node)
    912     {
    913         defaultIn(node);
    914     }
    915 
    916     public void outAVariableExpression(AVariableExpression node)
    917     {
    918         defaultOut(node);
    919     }
    920 
    921     @Override
    922     public void caseAVariableExpression(AVariableExpression node)
    923     {
    924         inAVariableExpression(node);
    925         if(node.getVariable() != null)
    926         {
    927             node.getVariable().apply(this);
    928         }
    929         outAVariableExpression(node);
    930     }
    931 
    932     public void inAFunctionExpression(AFunctionExpression node)
    933     {
    934         defaultIn(node);
    935     }
    936 
    937     public void outAFunctionExpression(AFunctionExpression node)
    938     {
    939         defaultOut(node);
    940     }
    941 
    942     @Override
    943     public void caseAFunctionExpression(AFunctionExpression node)
    944     {
    945         inAFunctionExpression(node);
    946         {
    947             List<PExpression> copy = new ArrayList<PExpression>(node.getArgs());
    948             Collections.reverse(copy);
    949             for(PExpression e : copy)
    950             {
    951                 e.apply(this);
    952             }
    953         }
    954         if(node.getName() != null)
    955         {
    956             node.getName().apply(this);
    957         }
    958         outAFunctionExpression(node);
    959     }
    960 
    961     public void inASequenceExpression(ASequenceExpression node)
    962     {
    963         defaultIn(node);
    964     }
    965 
    966     public void outASequenceExpression(ASequenceExpression node)
    967     {
    968         defaultOut(node);
    969     }
    970 
    971     @Override
    972     public void caseASequenceExpression(ASequenceExpression node)
    973     {
    974         inASequenceExpression(node);
    975         {
    976             List<PExpression> copy = new ArrayList<PExpression>(node.getArgs());
    977             Collections.reverse(copy);
    978             for(PExpression e : copy)
    979             {
    980                 e.apply(this);
    981             }
    982         }
    983         outASequenceExpression(node);
    984     }
    985 
    986     public void inANegativeExpression(ANegativeExpression node)
    987     {
    988         defaultIn(node);
    989     }
    990 
    991     public void outANegativeExpression(ANegativeExpression node)
    992     {
    993         defaultOut(node);
    994     }
    995 
    996     @Override
    997     public void caseANegativeExpression(ANegativeExpression node)
    998     {
    999         inANegativeExpression(node);
   1000         if(node.getExpression() != null)
   1001         {
   1002             node.getExpression().apply(this);
   1003         }
   1004         outANegativeExpression(node);
   1005     }
   1006 
   1007     public void inANotExpression(ANotExpression node)
   1008     {
   1009         defaultIn(node);
   1010     }
   1011 
   1012     public void outANotExpression(ANotExpression node)
   1013     {
   1014         defaultOut(node);
   1015     }
   1016 
   1017     @Override
   1018     public void caseANotExpression(ANotExpression node)
   1019     {
   1020         inANotExpression(node);
   1021         if(node.getExpression() != null)
   1022         {
   1023             node.getExpression().apply(this);
   1024         }
   1025         outANotExpression(node);
   1026     }
   1027 
   1028     public void inAExistsExpression(AExistsExpression node)
   1029     {
   1030         defaultIn(node);
   1031     }
   1032 
   1033     public void outAExistsExpression(AExistsExpression node)
   1034     {
   1035         defaultOut(node);
   1036     }
   1037 
   1038     @Override
   1039     public void caseAExistsExpression(AExistsExpression node)
   1040     {
   1041         inAExistsExpression(node);
   1042         if(node.getExpression() != null)
   1043         {
   1044             node.getExpression().apply(this);
   1045         }
   1046         outAExistsExpression(node);
   1047     }
   1048 
   1049     public void inACommaExpression(ACommaExpression node)
   1050     {
   1051         defaultIn(node);
   1052     }
   1053 
   1054     public void outACommaExpression(ACommaExpression node)
   1055     {
   1056         defaultOut(node);
   1057     }
   1058 
   1059     @Override
   1060     public void caseACommaExpression(ACommaExpression node)
   1061     {
   1062         inACommaExpression(node);
   1063         if(node.getRight() != null)
   1064         {
   1065             node.getRight().apply(this);
   1066         }
   1067         if(node.getLeft() != null)
   1068         {
   1069             node.getLeft().apply(this);
   1070         }
   1071         outACommaExpression(node);
   1072     }
   1073 
   1074     public void inAEqExpression(AEqExpression node)
   1075     {
   1076         defaultIn(node);
   1077     }
   1078 
   1079     public void outAEqExpression(AEqExpression node)
   1080     {
   1081         defaultOut(node);
   1082     }
   1083 
   1084     @Override
   1085     public void caseAEqExpression(AEqExpression node)
   1086     {
   1087         inAEqExpression(node);
   1088         if(node.getRight() != null)
   1089         {
   1090             node.getRight().apply(this);
   1091         }
   1092         if(node.getLeft() != null)
   1093         {
   1094             node.getLeft().apply(this);
   1095         }
   1096         outAEqExpression(node);
   1097     }
   1098 
   1099     public void inANumericEqExpression(ANumericEqExpression node)
   1100     {
   1101         defaultIn(node);
   1102     }
   1103 
   1104     public void outANumericEqExpression(ANumericEqExpression node)
   1105     {
   1106         defaultOut(node);
   1107     }
   1108 
   1109     @Override
   1110     public void caseANumericEqExpression(ANumericEqExpression node)
   1111     {
   1112         inANumericEqExpression(node);
   1113         if(node.getRight() != null)
   1114         {
   1115             node.getRight().apply(this);
   1116         }
   1117         if(node.getLeft() != null)
   1118         {
   1119             node.getLeft().apply(this);
   1120         }
   1121         outANumericEqExpression(node);
   1122     }
   1123 
   1124     public void inANeExpression(ANeExpression node)
   1125     {
   1126         defaultIn(node);
   1127     }
   1128 
   1129     public void outANeExpression(ANeExpression node)
   1130     {
   1131         defaultOut(node);
   1132     }
   1133 
   1134     @Override
   1135     public void caseANeExpression(ANeExpression node)
   1136     {
   1137         inANeExpression(node);
   1138         if(node.getRight() != null)
   1139         {
   1140             node.getRight().apply(this);
   1141         }
   1142         if(node.getLeft() != null)
   1143         {
   1144             node.getLeft().apply(this);
   1145         }
   1146         outANeExpression(node);
   1147     }
   1148 
   1149     public void inANumericNeExpression(ANumericNeExpression node)
   1150     {
   1151         defaultIn(node);
   1152     }
   1153 
   1154     public void outANumericNeExpression(ANumericNeExpression node)
   1155     {
   1156         defaultOut(node);
   1157     }
   1158 
   1159     @Override
   1160     public void caseANumericNeExpression(ANumericNeExpression node)
   1161     {
   1162         inANumericNeExpression(node);
   1163         if(node.getRight() != null)
   1164         {
   1165             node.getRight().apply(this);
   1166         }
   1167         if(node.getLeft() != null)
   1168         {
   1169             node.getLeft().apply(this);
   1170         }
   1171         outANumericNeExpression(node);
   1172     }
   1173 
   1174     public void inALtExpression(ALtExpression node)
   1175     {
   1176         defaultIn(node);
   1177     }
   1178 
   1179     public void outALtExpression(ALtExpression node)
   1180     {
   1181         defaultOut(node);
   1182     }
   1183 
   1184     @Override
   1185     public void caseALtExpression(ALtExpression node)
   1186     {
   1187         inALtExpression(node);
   1188         if(node.getRight() != null)
   1189         {
   1190             node.getRight().apply(this);
   1191         }
   1192         if(node.getLeft() != null)
   1193         {
   1194             node.getLeft().apply(this);
   1195         }
   1196         outALtExpression(node);
   1197     }
   1198 
   1199     public void inAGtExpression(AGtExpression node)
   1200     {
   1201         defaultIn(node);
   1202     }
   1203 
   1204     public void outAGtExpression(AGtExpression node)
   1205     {
   1206         defaultOut(node);
   1207     }
   1208 
   1209     @Override
   1210     public void caseAGtExpression(AGtExpression node)
   1211     {
   1212         inAGtExpression(node);
   1213         if(node.getRight() != null)
   1214         {
   1215             node.getRight().apply(this);
   1216         }
   1217         if(node.getLeft() != null)
   1218         {
   1219             node.getLeft().apply(this);
   1220         }
   1221         outAGtExpression(node);
   1222     }
   1223 
   1224     public void inALteExpression(ALteExpression node)
   1225     {
   1226         defaultIn(node);
   1227     }
   1228 
   1229     public void outALteExpression(ALteExpression node)
   1230     {
   1231         defaultOut(node);
   1232     }
   1233 
   1234     @Override
   1235     public void caseALteExpression(ALteExpression node)
   1236     {
   1237         inALteExpression(node);
   1238         if(node.getRight() != null)
   1239         {
   1240             node.getRight().apply(this);
   1241         }
   1242         if(node.getLeft() != null)
   1243         {
   1244             node.getLeft().apply(this);
   1245         }
   1246         outALteExpression(node);
   1247     }
   1248 
   1249     public void inAGteExpression(AGteExpression node)
   1250     {
   1251         defaultIn(node);
   1252     }
   1253 
   1254     public void outAGteExpression(AGteExpression node)
   1255     {
   1256         defaultOut(node);
   1257     }
   1258 
   1259     @Override
   1260     public void caseAGteExpression(AGteExpression node)
   1261     {
   1262         inAGteExpression(node);
   1263         if(node.getRight() != null)
   1264         {
   1265             node.getRight().apply(this);
   1266         }
   1267         if(node.getLeft() != null)
   1268         {
   1269             node.getLeft().apply(this);
   1270         }
   1271         outAGteExpression(node);
   1272     }
   1273 
   1274     public void inAAndExpression(AAndExpression node)
   1275     {
   1276         defaultIn(node);
   1277     }
   1278 
   1279     public void outAAndExpression(AAndExpression node)
   1280     {
   1281         defaultOut(node);
   1282     }
   1283 
   1284     @Override
   1285     public void caseAAndExpression(AAndExpression node)
   1286     {
   1287         inAAndExpression(node);
   1288         if(node.getRight() != null)
   1289         {
   1290             node.getRight().apply(this);
   1291         }
   1292         if(node.getLeft() != null)
   1293         {
   1294             node.getLeft().apply(this);
   1295         }
   1296         outAAndExpression(node);
   1297     }
   1298 
   1299     public void inAOrExpression(AOrExpression node)
   1300     {
   1301         defaultIn(node);
   1302     }
   1303 
   1304     public void outAOrExpression(AOrExpression node)
   1305     {
   1306         defaultOut(node);
   1307     }
   1308 
   1309     @Override
   1310     public void caseAOrExpression(AOrExpression node)
   1311     {
   1312         inAOrExpression(node);
   1313         if(node.getRight() != null)
   1314         {
   1315             node.getRight().apply(this);
   1316         }
   1317         if(node.getLeft() != null)
   1318         {
   1319             node.getLeft().apply(this);
   1320         }
   1321         outAOrExpression(node);
   1322     }
   1323 
   1324     public void inAAddExpression(AAddExpression node)
   1325     {
   1326         defaultIn(node);
   1327     }
   1328 
   1329     public void outAAddExpression(AAddExpression node)
   1330     {
   1331         defaultOut(node);
   1332     }
   1333 
   1334     @Override
   1335     public void caseAAddExpression(AAddExpression node)
   1336     {
   1337         inAAddExpression(node);
   1338         if(node.getRight() != null)
   1339         {
   1340             node.getRight().apply(this);
   1341         }
   1342         if(node.getLeft() != null)
   1343         {
   1344             node.getLeft().apply(this);
   1345         }
   1346         outAAddExpression(node);
   1347     }
   1348 
   1349     public void inANumericAddExpression(ANumericAddExpression node)
   1350     {
   1351         defaultIn(node);
   1352     }
   1353 
   1354     public void outANumericAddExpression(ANumericAddExpression node)
   1355     {
   1356         defaultOut(node);
   1357     }
   1358 
   1359     @Override
   1360     public void caseANumericAddExpression(ANumericAddExpression node)
   1361     {
   1362         inANumericAddExpression(node);
   1363         if(node.getRight() != null)
   1364         {
   1365             node.getRight().apply(this);
   1366         }
   1367         if(node.getLeft() != null)
   1368         {
   1369             node.getLeft().apply(this);
   1370         }
   1371         outANumericAddExpression(node);
   1372     }
   1373 
   1374     public void inASubtractExpression(ASubtractExpression node)
   1375     {
   1376         defaultIn(node);
   1377     }
   1378 
   1379     public void outASubtractExpression(ASubtractExpression node)
   1380     {
   1381         defaultOut(node);
   1382     }
   1383 
   1384     @Override
   1385     public void caseASubtractExpression(ASubtractExpression node)
   1386     {
   1387         inASubtractExpression(node);
   1388         if(node.getRight() != null)
   1389         {
   1390             node.getRight().apply(this);
   1391         }
   1392         if(node.getLeft() != null)
   1393         {
   1394             node.getLeft().apply(this);
   1395         }
   1396         outASubtractExpression(node);
   1397     }
   1398 
   1399     public void inAMultiplyExpression(AMultiplyExpression node)
   1400     {
   1401         defaultIn(node);
   1402     }
   1403 
   1404     public void outAMultiplyExpression(AMultiplyExpression node)
   1405     {
   1406         defaultOut(node);
   1407     }
   1408 
   1409     @Override
   1410     public void caseAMultiplyExpression(AMultiplyExpression node)
   1411     {
   1412         inAMultiplyExpression(node);
   1413         if(node.getRight() != null)
   1414         {
   1415             node.getRight().apply(this);
   1416         }
   1417         if(node.getLeft() != null)
   1418         {
   1419             node.getLeft().apply(this);
   1420         }
   1421         outAMultiplyExpression(node);
   1422     }
   1423 
   1424     public void inADivideExpression(ADivideExpression node)
   1425     {
   1426         defaultIn(node);
   1427     }
   1428 
   1429     public void outADivideExpression(ADivideExpression node)
   1430     {
   1431         defaultOut(node);
   1432     }
   1433 
   1434     @Override
   1435     public void caseADivideExpression(ADivideExpression node)
   1436     {
   1437         inADivideExpression(node);
   1438         if(node.getRight() != null)
   1439         {
   1440             node.getRight().apply(this);
   1441         }
   1442         if(node.getLeft() != null)
   1443         {
   1444             node.getLeft().apply(this);
   1445         }
   1446         outADivideExpression(node);
   1447     }
   1448 
   1449     public void inAModuloExpression(AModuloExpression node)
   1450     {
   1451         defaultIn(node);
   1452     }
   1453 
   1454     public void outAModuloExpression(AModuloExpression node)
   1455     {
   1456         defaultOut(node);
   1457     }
   1458 
   1459     @Override
   1460     public void caseAModuloExpression(AModuloExpression node)
   1461     {
   1462         inAModuloExpression(node);
   1463         if(node.getRight() != null)
   1464         {
   1465             node.getRight().apply(this);
   1466         }
   1467         if(node.getLeft() != null)
   1468         {
   1469             node.getLeft().apply(this);
   1470         }
   1471         outAModuloExpression(node);
   1472     }
   1473 
   1474     public void inANoopExpression(ANoopExpression node)
   1475     {
   1476         defaultIn(node);
   1477     }
   1478 
   1479     public void outANoopExpression(ANoopExpression node)
   1480     {
   1481         defaultOut(node);
   1482     }
   1483 
   1484     @Override
   1485     public void caseANoopExpression(ANoopExpression node)
   1486     {
   1487         inANoopExpression(node);
   1488         outANoopExpression(node);
   1489     }
   1490 
   1491     public void inANameVariable(ANameVariable node)
   1492     {
   1493         defaultIn(node);
   1494     }
   1495 
   1496     public void outANameVariable(ANameVariable node)
   1497     {
   1498         defaultOut(node);
   1499     }
   1500 
   1501     @Override
   1502     public void caseANameVariable(ANameVariable node)
   1503     {
   1504         inANameVariable(node);
   1505         if(node.getWord() != null)
   1506         {
   1507             node.getWord().apply(this);
   1508         }
   1509         outANameVariable(node);
   1510     }
   1511 
   1512     public void inADecNumberVariable(ADecNumberVariable node)
   1513     {
   1514         defaultIn(node);
   1515     }
   1516 
   1517     public void outADecNumberVariable(ADecNumberVariable node)
   1518     {
   1519         defaultOut(node);
   1520     }
   1521 
   1522     @Override
   1523     public void caseADecNumberVariable(ADecNumberVariable node)
   1524     {
   1525         inADecNumberVariable(node);
   1526         if(node.getDecNumber() != null)
   1527         {
   1528             node.getDecNumber().apply(this);
   1529         }
   1530         outADecNumberVariable(node);
   1531     }
   1532 
   1533     public void inAHexNumberVariable(AHexNumberVariable node)
   1534     {
   1535         defaultIn(node);
   1536     }
   1537 
   1538     public void outAHexNumberVariable(AHexNumberVariable node)
   1539     {
   1540         defaultOut(node);
   1541     }
   1542 
   1543     @Override
   1544     public void caseAHexNumberVariable(AHexNumberVariable node)
   1545     {
   1546         inAHexNumberVariable(node);
   1547         if(node.getHexNumber() != null)
   1548         {
   1549             node.getHexNumber().apply(this);
   1550         }
   1551         outAHexNumberVariable(node);
   1552     }
   1553 
   1554     public void inADescendVariable(ADescendVariable node)
   1555     {
   1556         defaultIn(node);
   1557     }
   1558 
   1559     public void outADescendVariable(ADescendVariable node)
   1560     {
   1561         defaultOut(node);
   1562     }
   1563 
   1564     @Override
   1565     public void caseADescendVariable(ADescendVariable node)
   1566     {
   1567         inADescendVariable(node);
   1568         if(node.getChild() != null)
   1569         {
   1570             node.getChild().apply(this);
   1571         }
   1572         if(node.getParent() != null)
   1573         {
   1574             node.getParent().apply(this);
   1575         }
   1576         outADescendVariable(node);
   1577     }
   1578 
   1579     public void inAExpandVariable(AExpandVariable node)
   1580     {
   1581         defaultIn(node);
   1582     }
   1583 
   1584     public void outAExpandVariable(AExpandVariable node)
   1585     {
   1586         defaultOut(node);
   1587     }
   1588 
   1589     @Override
   1590     public void caseAExpandVariable(AExpandVariable node)
   1591     {
   1592         inAExpandVariable(node);
   1593         if(node.getChild() != null)
   1594         {
   1595             node.getChild().apply(this);
   1596         }
   1597         if(node.getParent() != null)
   1598         {
   1599             node.getParent().apply(this);
   1600         }
   1601         outAExpandVariable(node);
   1602     }
   1603 }
   1604