156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson/* This file was generated by SableCC (http://www.sablecc.org/). */
256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonpackage com.google.clearsilver.jsilver.syntax.analysis;
456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonimport java.util.*;
656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonimport com.google.clearsilver.jsilver.syntax.node.*;
756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodsonpublic class ReversedDepthFirstAdapter extends AnalysisAdapter
956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson{
1056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inStart(Start node)
1156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
1256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
1356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
1456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
1556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outStart(Start node)
1656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
1756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
1856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
1956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
2056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void defaultIn(@SuppressWarnings("unused") Node node)
2156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
2256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        // Do nothing
2356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
2456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
2556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void defaultOut(@SuppressWarnings("unused") Node node)
2656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
2756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        // Do nothing
2856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
2956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
3056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
3156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseStart(Start node)
3256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
3356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inStart(node);
3456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        node.getEOF().apply(this);
3556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        node.getPCommand().apply(this);
3656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outStart(node);
3756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
3856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
3956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAMultipleCommand(AMultipleCommand node)
4056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
4156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
4256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
4356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
4456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAMultipleCommand(AMultipleCommand node)
4556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
4656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
4756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
4856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
4956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
5056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAMultipleCommand(AMultipleCommand node)
5156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
5256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAMultipleCommand(node);
5356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
5456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            List<PCommand> copy = new ArrayList<PCommand>(node.getCommand());
5556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            Collections.reverse(copy);
5656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            for(PCommand e : copy)
5756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
5856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                e.apply(this);
5956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
6056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
6156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAMultipleCommand(node);
6256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
6356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
6456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inACommentCommand(ACommentCommand node)
6556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
6656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
6756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
6856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
6956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outACommentCommand(ACommentCommand node)
7056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
7156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
7256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
7356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
7456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
7556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseACommentCommand(ACommentCommand node)
7656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
7756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inACommentCommand(node);
7856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getComment() != null)
7956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
8056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getComment().apply(this);
8156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
8256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
8356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
8456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
8556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
8656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outACommentCommand(node);
8756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
8856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
8956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inADataCommand(ADataCommand node)
9056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
9156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
9256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
9356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
9456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outADataCommand(ADataCommand node)
9556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
9656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
9756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
9856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
9956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
10056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseADataCommand(ADataCommand node)
10156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
10256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inADataCommand(node);
10356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getData() != null)
10456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
10556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getData().apply(this);
10656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
10756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outADataCommand(node);
10856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
10956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
11056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAVarCommand(AVarCommand node)
11156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
11256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
11356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
11456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
11556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAVarCommand(AVarCommand node)
11656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
11756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
11856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
11956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
12056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
12156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAVarCommand(AVarCommand node)
12256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
12356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAVarCommand(node);
12456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
12556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
12656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
12756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
12856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
12956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
13056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
13156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
13256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAVarCommand(node);
13356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
13456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
13556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inALvarCommand(ALvarCommand node)
13656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
13756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
13856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
13956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
14056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outALvarCommand(ALvarCommand node)
14156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
14256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
14356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
14456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
14556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
14656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseALvarCommand(ALvarCommand node)
14756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
14856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inALvarCommand(node);
14956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
15056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
15156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
15256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
15356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
15456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
15556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
15656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
15756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outALvarCommand(node);
15856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
15956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
16056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAEvarCommand(AEvarCommand node)
16156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
16256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
16356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
16456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
16556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAEvarCommand(AEvarCommand node)
16656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
16756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
16856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
16956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
17056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
17156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAEvarCommand(AEvarCommand node)
17256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
17356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAEvarCommand(node);
17456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
17556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
17656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
17756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
17856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
17956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
18056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
18156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
18256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAEvarCommand(node);
18356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
18456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
18556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAUvarCommand(AUvarCommand node)
18656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
18756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
18856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
18956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
19056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAUvarCommand(AUvarCommand node)
19156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
19256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
19356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
19456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
19556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
19656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAUvarCommand(AUvarCommand node)
19756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
19856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAUvarCommand(node);
19956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
20056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
20156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
20256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
20356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
20456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
20556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
20656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
20756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAUvarCommand(node);
20856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
20956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
21056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inASetCommand(ASetCommand node)
21156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
21256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
21356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
21456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
21556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outASetCommand(ASetCommand node)
21656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
21756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
21856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
21956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
22056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
22156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseASetCommand(ASetCommand node)
22256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
22356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inASetCommand(node);
22456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
22556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
22656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
22756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
22856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getVariable() != null)
22956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
23056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getVariable().apply(this);
23156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
23256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
23356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
23456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
23556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
23656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outASetCommand(node);
23756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
23856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
23956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANameCommand(ANameCommand node)
24056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
24156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
24256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
24356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
24456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANameCommand(ANameCommand node)
24556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
24656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
24756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
24856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
24956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
25056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANameCommand(ANameCommand node)
25156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
25256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANameCommand(node);
25356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getVariable() != null)
25456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
25556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getVariable().apply(this);
25656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
25756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
25856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
25956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
26056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
26156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANameCommand(node);
26256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
26356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
26456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAEscapeCommand(AEscapeCommand node)
26556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
26656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
26756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
26856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
26956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAEscapeCommand(AEscapeCommand node)
27056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
27156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
27256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
27356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
27456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
27556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAEscapeCommand(AEscapeCommand node)
27656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
27756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAEscapeCommand(node);
27856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
27956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
28056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
28156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
28256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
28356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
28456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
28556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
28656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
28756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
28856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
28956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
29056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAEscapeCommand(node);
29156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
29256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
29356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAAutoescapeCommand(AAutoescapeCommand node)
29456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
29556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
29656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
29756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
29856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAAutoescapeCommand(AAutoescapeCommand node)
29956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
30056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
30156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
30256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
30356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
30456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAAutoescapeCommand(AAutoescapeCommand node)
30556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
30656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAAutoescapeCommand(node);
30756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
30856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
30956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
31056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
31156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
31256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
31356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
31456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
31556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
31656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
31756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
31856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
31956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAAutoescapeCommand(node);
32056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
32156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
32256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAWithCommand(AWithCommand node)
32356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
32456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
32556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
32656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
32756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAWithCommand(AWithCommand node)
32856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
32956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
33056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
33156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
33256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
33356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAWithCommand(AWithCommand node)
33456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
33556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAWithCommand(node);
33656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
33756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
33856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
33956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
34056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
34156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
34256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
34356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
34456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getVariable() != null)
34556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
34656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getVariable().apply(this);
34756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
34856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
34956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
35056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
35156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
35256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAWithCommand(node);
35356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
35456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
35556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inALoopToCommand(ALoopToCommand node)
35656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
35756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
35856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
35956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
36056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outALoopToCommand(ALoopToCommand node)
36156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
36256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
36356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
36456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
36556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
36656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseALoopToCommand(ALoopToCommand node)
36756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
36856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inALoopToCommand(node);
36956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
37056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
37156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
37256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
37356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
37456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
37556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
37656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
37756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getVariable() != null)
37856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
37956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getVariable().apply(this);
38056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
38156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
38256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
38356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
38456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
38556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outALoopToCommand(node);
38656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
38756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
38856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inALoopCommand(ALoopCommand node)
38956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
39056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
39156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
39256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
39356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outALoopCommand(ALoopCommand node)
39456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
39556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
39656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
39756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
39856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
39956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseALoopCommand(ALoopCommand node)
40056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
40156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inALoopCommand(node);
40256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
40356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
40456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
40556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
40656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getEnd() != null)
40756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
40856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getEnd().apply(this);
40956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
41056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getStart() != null)
41156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
41256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getStart().apply(this);
41356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
41456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getVariable() != null)
41556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
41656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getVariable().apply(this);
41756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
41856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
41956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
42056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
42156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
42256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outALoopCommand(node);
42356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
42456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
42556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inALoopIncCommand(ALoopIncCommand node)
42656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
42756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
42856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
42956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
43056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outALoopIncCommand(ALoopIncCommand node)
43156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
43256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
43356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
43456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
43556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
43656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseALoopIncCommand(ALoopIncCommand node)
43756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
43856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inALoopIncCommand(node);
43956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
44056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
44156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
44256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
44356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getIncrement() != null)
44456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
44556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getIncrement().apply(this);
44656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
44756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getEnd() != null)
44856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
44956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getEnd().apply(this);
45056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
45156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getStart() != null)
45256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
45356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getStart().apply(this);
45456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
45556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getVariable() != null)
45656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
45756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getVariable().apply(this);
45856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
45956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
46056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
46156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
46256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
46356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outALoopIncCommand(node);
46456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
46556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
46656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAEachCommand(AEachCommand node)
46756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
46856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
46956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
47056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
47156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAEachCommand(AEachCommand node)
47256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
47356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
47456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
47556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
47656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
47756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAEachCommand(AEachCommand node)
47856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
47956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAEachCommand(node);
48056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
48156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
48256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
48356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
48456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
48556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
48656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
48756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
48856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getVariable() != null)
48956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
49056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getVariable().apply(this);
49156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
49256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
49356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
49456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
49556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
49656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAEachCommand(node);
49756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
49856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
49956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inADefCommand(ADefCommand node)
50056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
50156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
50256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
50356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
50456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outADefCommand(ADefCommand node)
50556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
50656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
50756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
50856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
50956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
51056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseADefCommand(ADefCommand node)
51156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
51256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inADefCommand(node);
51356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
51456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
51556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
51656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
51756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
51856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            List<PVariable> copy = new ArrayList<PVariable>(node.getArguments());
51956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            Collections.reverse(copy);
52056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            for(PVariable e : copy)
52156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
52256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                e.apply(this);
52356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
52456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
52556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
52656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            List<TWord> copy = new ArrayList<TWord>(node.getMacro());
52756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            Collections.reverse(copy);
52856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            for(TWord e : copy)
52956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
53056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                e.apply(this);
53156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
53256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
53356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
53456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
53556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
53656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
53756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outADefCommand(node);
53856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
53956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
54056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inACallCommand(ACallCommand node)
54156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
54256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
54356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
54456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
54556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outACallCommand(ACallCommand node)
54656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
54756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
54856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
54956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
55056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
55156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseACallCommand(ACallCommand node)
55256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
55356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inACallCommand(node);
55456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
55556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            List<PExpression> copy = new ArrayList<PExpression>(node.getArguments());
55656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            Collections.reverse(copy);
55756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            for(PExpression e : copy)
55856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
55956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                e.apply(this);
56056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
56156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
56256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
56356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            List<TWord> copy = new ArrayList<TWord>(node.getMacro());
56456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            Collections.reverse(copy);
56556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            for(TWord e : copy)
56656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
56756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                e.apply(this);
56856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
56956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
57056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
57156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
57256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
57356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
57456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outACallCommand(node);
57556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
57656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
57756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAIfCommand(AIfCommand node)
57856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
57956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
58056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
58156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
58256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAIfCommand(AIfCommand node)
58356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
58456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
58556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
58656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
58756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
58856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAIfCommand(AIfCommand node)
58956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
59056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAIfCommand(node);
59156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getOtherwise() != null)
59256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
59356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getOtherwise().apply(this);
59456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
59556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getBlock() != null)
59656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
59756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getBlock().apply(this);
59856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
59956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
60056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
60156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
60256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
60356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
60456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
60556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
60656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
60756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAIfCommand(node);
60856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
60956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
61056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAAltCommand(AAltCommand node)
61156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
61256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
61356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
61456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
61556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAAltCommand(AAltCommand node)
61656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
61756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
61856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
61956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
62056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
62156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAAltCommand(AAltCommand node)
62256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
62356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAAltCommand(node);
62456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
62556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
62656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
62756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
62856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
62956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
63056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
63156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
63256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
63356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
63456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
63556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
63656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAAltCommand(node);
63756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
63856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
63956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAIncludeCommand(AIncludeCommand node)
64056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
64156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
64256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
64356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
64456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAIncludeCommand(AIncludeCommand node)
64556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
64656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
64756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
64856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
64956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
65056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAIncludeCommand(AIncludeCommand node)
65156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
65256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAIncludeCommand(node);
65356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
65456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
65556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
65656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
65756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
65856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
65956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
66056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
66156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAIncludeCommand(node);
66256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
66356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
66456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAHardIncludeCommand(AHardIncludeCommand node)
66556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
66656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
66756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
66856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
66956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAHardIncludeCommand(AHardIncludeCommand node)
67056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
67156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
67256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
67356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
67456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
67556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAHardIncludeCommand(AHardIncludeCommand node)
67656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
67756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAHardIncludeCommand(node);
67856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
67956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
68056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
68156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
68256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
68356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
68456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
68556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
68656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAHardIncludeCommand(node);
68756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
68856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
68956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inALincludeCommand(ALincludeCommand node)
69056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
69156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
69256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
69356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
69456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outALincludeCommand(ALincludeCommand node)
69556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
69656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
69756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
69856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
69956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
70056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseALincludeCommand(ALincludeCommand node)
70156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
70256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inALincludeCommand(node);
70356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
70456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
70556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
70656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
70756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
70856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
70956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
71056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
71156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outALincludeCommand(node);
71256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
71356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
71456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAHardLincludeCommand(AHardLincludeCommand node)
71556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
71656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
71756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
71856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
71956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAHardLincludeCommand(AHardLincludeCommand node)
72056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
72156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
72256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
72356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
72456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
72556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAHardLincludeCommand(AHardLincludeCommand node)
72656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
72756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAHardLincludeCommand(node);
72856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
72956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
73056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
73156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
73256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
73356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
73456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
73556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
73656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAHardLincludeCommand(node);
73756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
73856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
73956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAContentTypeCommand(AContentTypeCommand node)
74056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
74156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
74256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
74356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
74456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAContentTypeCommand(AContentTypeCommand node)
74556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
74656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
74756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
74856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
74956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
75056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAContentTypeCommand(AContentTypeCommand node)
75156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
75256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAContentTypeCommand(node);
75356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getString() != null)
75456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
75556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getString().apply(this);
75656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
75756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
75856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
75956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
76056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
76156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAContentTypeCommand(node);
76256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
76356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
76456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAInlineCommand(AInlineCommand node)
76556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
76656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
76756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
76856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
76956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAInlineCommand(AInlineCommand node)
77056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
77156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
77256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
77356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
77456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
77556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAInlineCommand(AInlineCommand node)
77656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
77756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAInlineCommand(node);
77856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCommand() != null)
77956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
78056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCommand().apply(this);
78156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
78256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getPosition() != null)
78356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
78456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getPosition().apply(this);
78556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
78656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAInlineCommand(node);
78756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
78856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
78956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANoopCommand(ANoopCommand node)
79056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
79156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
79256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
79356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
79456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANoopCommand(ANoopCommand node)
79556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
79656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
79756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
79856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
79956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
80056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANoopCommand(ANoopCommand node)
80156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
80256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANoopCommand(node);
80356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANoopCommand(node);
80456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
80556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
80656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inACsOpenPosition(ACsOpenPosition node)
80756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
80856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
80956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
81056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
81156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outACsOpenPosition(ACsOpenPosition node)
81256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
81356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
81456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
81556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
81656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
81756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseACsOpenPosition(ACsOpenPosition node)
81856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
81956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inACsOpenPosition(node);
82056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getCsOpen() != null)
82156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
82256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getCsOpen().apply(this);
82356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
82456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outACsOpenPosition(node);
82556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
82656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
82756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAStringExpression(AStringExpression node)
82856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
82956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
83056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
83156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
83256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAStringExpression(AStringExpression node)
83356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
83456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
83556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
83656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
83756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
83856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAStringExpression(AStringExpression node)
83956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
84056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAStringExpression(node);
84156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getValue() != null)
84256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
84356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getValue().apply(this);
84456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
84556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAStringExpression(node);
84656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
84756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
84856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANumericExpression(ANumericExpression node)
84956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
85056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
85156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
85256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
85356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANumericExpression(ANumericExpression node)
85456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
85556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
85656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
85756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
85856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
85956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANumericExpression(ANumericExpression node)
86056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
86156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANumericExpression(node);
86256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
86356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
86456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
86556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
86656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANumericExpression(node);
86756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
86856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
86956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inADecimalExpression(ADecimalExpression node)
87056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
87156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
87256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
87356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
87456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outADecimalExpression(ADecimalExpression node)
87556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
87656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
87756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
87856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
87956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
88056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseADecimalExpression(ADecimalExpression node)
88156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
88256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inADecimalExpression(node);
88356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getValue() != null)
88456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
88556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getValue().apply(this);
88656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
88756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outADecimalExpression(node);
88856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
88956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
89056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAHexExpression(AHexExpression node)
89156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
89256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
89356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
89456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
89556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAHexExpression(AHexExpression node)
89656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
89756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
89856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
89956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
90056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
90156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAHexExpression(AHexExpression node)
90256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
90356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAHexExpression(node);
90456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getValue() != null)
90556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
90656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getValue().apply(this);
90756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
90856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAHexExpression(node);
90956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
91056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
91156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAVariableExpression(AVariableExpression node)
91256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
91356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
91456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
91556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
91656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAVariableExpression(AVariableExpression node)
91756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
91856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
91956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
92056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
92156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
92256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAVariableExpression(AVariableExpression node)
92356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
92456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAVariableExpression(node);
92556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getVariable() != null)
92656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
92756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getVariable().apply(this);
92856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
92956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAVariableExpression(node);
93056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
93156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
93256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAFunctionExpression(AFunctionExpression node)
93356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
93456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
93556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
93656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
93756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAFunctionExpression(AFunctionExpression node)
93856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
93956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
94056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
94156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
94256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
94356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAFunctionExpression(AFunctionExpression node)
94456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
94556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAFunctionExpression(node);
94656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
94756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            List<PExpression> copy = new ArrayList<PExpression>(node.getArgs());
94856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            Collections.reverse(copy);
94956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            for(PExpression e : copy)
95056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
95156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                e.apply(this);
95256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
95356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
95456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getName() != null)
95556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
95656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getName().apply(this);
95756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
95856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAFunctionExpression(node);
95956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
96056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
96156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inASequenceExpression(ASequenceExpression node)
96256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
96356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
96456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
96556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
96656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outASequenceExpression(ASequenceExpression node)
96756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
96856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
96956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
97056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
97156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
97256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseASequenceExpression(ASequenceExpression node)
97356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
97456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inASequenceExpression(node);
97556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
97656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            List<PExpression> copy = new ArrayList<PExpression>(node.getArgs());
97756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            Collections.reverse(copy);
97856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            for(PExpression e : copy)
97956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            {
98056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson                e.apply(this);
98156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            }
98256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
98356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outASequenceExpression(node);
98456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
98556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
98656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANegativeExpression(ANegativeExpression node)
98756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
98856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
98956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
99056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
99156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANegativeExpression(ANegativeExpression node)
99256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
99356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
99456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
99556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
99656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
99756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANegativeExpression(ANegativeExpression node)
99856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
99956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANegativeExpression(node);
100056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
100156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
100256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
100356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
100456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANegativeExpression(node);
100556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
100656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
100756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANotExpression(ANotExpression node)
100856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
100956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
101056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
101156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
101256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANotExpression(ANotExpression node)
101356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
101456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
101556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
101656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
101756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
101856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANotExpression(ANotExpression node)
101956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
102056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANotExpression(node);
102156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
102256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
102356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
102456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
102556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANotExpression(node);
102656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
102756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
102856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAExistsExpression(AExistsExpression node)
102956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
103056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
103156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
103256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
103356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAExistsExpression(AExistsExpression node)
103456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
103556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
103656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
103756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
103856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
103956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAExistsExpression(AExistsExpression node)
104056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
104156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAExistsExpression(node);
104256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getExpression() != null)
104356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
104456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getExpression().apply(this);
104556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
104656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAExistsExpression(node);
104756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
104856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
104956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inACommaExpression(ACommaExpression node)
105056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
105156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
105256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
105356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
105456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outACommaExpression(ACommaExpression node)
105556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
105656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
105756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
105856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
105956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
106056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseACommaExpression(ACommaExpression node)
106156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
106256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inACommaExpression(node);
106356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
106456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
106556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
106656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
106756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
106856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
106956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
107056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
107156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outACommaExpression(node);
107256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
107356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
107456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAEqExpression(AEqExpression node)
107556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
107656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
107756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
107856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
107956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAEqExpression(AEqExpression node)
108056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
108156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
108256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
108356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
108456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
108556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAEqExpression(AEqExpression node)
108656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
108756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAEqExpression(node);
108856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
108956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
109056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
109156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
109256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
109356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
109456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
109556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
109656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAEqExpression(node);
109756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
109856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
109956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANumericEqExpression(ANumericEqExpression node)
110056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
110156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
110256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
110356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
110456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANumericEqExpression(ANumericEqExpression node)
110556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
110656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
110756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
110856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
110956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
111056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANumericEqExpression(ANumericEqExpression node)
111156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
111256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANumericEqExpression(node);
111356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
111456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
111556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
111656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
111756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
111856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
111956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
112056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
112156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANumericEqExpression(node);
112256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
112356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
112456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANeExpression(ANeExpression node)
112556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
112656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
112756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
112856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
112956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANeExpression(ANeExpression node)
113056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
113156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
113256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
113356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
113456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
113556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANeExpression(ANeExpression node)
113656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
113756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANeExpression(node);
113856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
113956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
114056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
114156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
114256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
114356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
114456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
114556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
114656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANeExpression(node);
114756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
114856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
114956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANumericNeExpression(ANumericNeExpression node)
115056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
115156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
115256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
115356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
115456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANumericNeExpression(ANumericNeExpression node)
115556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
115656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
115756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
115856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
115956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
116056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANumericNeExpression(ANumericNeExpression node)
116156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
116256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANumericNeExpression(node);
116356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
116456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
116556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
116656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
116756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
116856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
116956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
117056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
117156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANumericNeExpression(node);
117256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
117356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
117456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inALtExpression(ALtExpression node)
117556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
117656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
117756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
117856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
117956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outALtExpression(ALtExpression node)
118056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
118156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
118256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
118356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
118456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
118556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseALtExpression(ALtExpression node)
118656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
118756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inALtExpression(node);
118856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
118956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
119056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
119156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
119256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
119356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
119456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
119556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
119656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outALtExpression(node);
119756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
119856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
119956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAGtExpression(AGtExpression node)
120056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
120156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
120256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
120356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
120456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAGtExpression(AGtExpression node)
120556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
120656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
120756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
120856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
120956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
121056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAGtExpression(AGtExpression node)
121156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
121256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAGtExpression(node);
121356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
121456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
121556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
121656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
121756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
121856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
121956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
122056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
122156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAGtExpression(node);
122256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
122356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
122456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inALteExpression(ALteExpression node)
122556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
122656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
122756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
122856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
122956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outALteExpression(ALteExpression node)
123056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
123156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
123256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
123356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
123456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
123556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseALteExpression(ALteExpression node)
123656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
123756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inALteExpression(node);
123856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
123956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
124056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
124156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
124256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
124356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
124456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
124556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
124656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outALteExpression(node);
124756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
124856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
124956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAGteExpression(AGteExpression node)
125056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
125156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
125256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
125356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
125456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAGteExpression(AGteExpression node)
125556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
125656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
125756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
125856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
125956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
126056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAGteExpression(AGteExpression node)
126156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
126256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAGteExpression(node);
126356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
126456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
126556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
126656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
126756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
126856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
126956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
127056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
127156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAGteExpression(node);
127256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
127356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
127456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAAndExpression(AAndExpression node)
127556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
127656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
127756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
127856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
127956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAAndExpression(AAndExpression node)
128056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
128156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
128256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
128356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
128456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
128556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAAndExpression(AAndExpression node)
128656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
128756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAAndExpression(node);
128856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
128956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
129056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
129156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
129256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
129356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
129456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
129556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
129656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAAndExpression(node);
129756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
129856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
129956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAOrExpression(AOrExpression node)
130056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
130156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
130256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
130356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
130456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAOrExpression(AOrExpression node)
130556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
130656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
130756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
130856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
130956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
131056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAOrExpression(AOrExpression node)
131156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
131256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAOrExpression(node);
131356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
131456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
131556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
131656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
131756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
131856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
131956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
132056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
132156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAOrExpression(node);
132256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
132356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
132456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAAddExpression(AAddExpression node)
132556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
132656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
132756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
132856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
132956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAAddExpression(AAddExpression node)
133056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
133156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
133256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
133356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
133456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
133556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAAddExpression(AAddExpression node)
133656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
133756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAAddExpression(node);
133856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
133956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
134056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
134156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
134256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
134356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
134456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
134556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
134656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAAddExpression(node);
134756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
134856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
134956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANumericAddExpression(ANumericAddExpression node)
135056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
135156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
135256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
135356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
135456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANumericAddExpression(ANumericAddExpression node)
135556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
135656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
135756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
135856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
135956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
136056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANumericAddExpression(ANumericAddExpression node)
136156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
136256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANumericAddExpression(node);
136356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
136456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
136556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
136656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
136756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
136856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
136956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
137056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
137156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANumericAddExpression(node);
137256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
137356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
137456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inASubtractExpression(ASubtractExpression node)
137556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
137656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
137756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
137856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
137956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outASubtractExpression(ASubtractExpression node)
138056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
138156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
138256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
138356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
138456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
138556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseASubtractExpression(ASubtractExpression node)
138656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
138756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inASubtractExpression(node);
138856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
138956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
139056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
139156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
139256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
139356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
139456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
139556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
139656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outASubtractExpression(node);
139756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
139856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
139956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAMultiplyExpression(AMultiplyExpression node)
140056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
140156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
140256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
140356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
140456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAMultiplyExpression(AMultiplyExpression node)
140556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
140656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
140756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
140856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
140956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
141056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAMultiplyExpression(AMultiplyExpression node)
141156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
141256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAMultiplyExpression(node);
141356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
141456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
141556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
141656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
141756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
141856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
141956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
142056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
142156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAMultiplyExpression(node);
142256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
142356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
142456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inADivideExpression(ADivideExpression node)
142556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
142656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
142756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
142856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
142956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outADivideExpression(ADivideExpression node)
143056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
143156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
143256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
143356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
143456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
143556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseADivideExpression(ADivideExpression node)
143656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
143756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inADivideExpression(node);
143856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
143956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
144056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
144156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
144256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
144356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
144456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
144556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
144656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outADivideExpression(node);
144756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
144856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
144956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAModuloExpression(AModuloExpression node)
145056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
145156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
145256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
145356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
145456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAModuloExpression(AModuloExpression node)
145556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
145656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
145756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
145856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
145956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
146056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAModuloExpression(AModuloExpression node)
146156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
146256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAModuloExpression(node);
146356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getRight() != null)
146456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
146556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getRight().apply(this);
146656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
146756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getLeft() != null)
146856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
146956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getLeft().apply(this);
147056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
147156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAModuloExpression(node);
147256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
147356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
147456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANoopExpression(ANoopExpression node)
147556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
147656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
147756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
147856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
147956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANoopExpression(ANoopExpression node)
148056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
148156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
148256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
148356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
148456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
148556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANoopExpression(ANoopExpression node)
148656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
148756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANoopExpression(node);
148856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANoopExpression(node);
148956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
149056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
149156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inANameVariable(ANameVariable node)
149256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
149356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
149456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
149556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
149656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outANameVariable(ANameVariable node)
149756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
149856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
149956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
150056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
150156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
150256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseANameVariable(ANameVariable node)
150356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
150456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inANameVariable(node);
150556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getWord() != null)
150656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
150756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getWord().apply(this);
150856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
150956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outANameVariable(node);
151056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
151156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
151256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inADecNumberVariable(ADecNumberVariable node)
151356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
151456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
151556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
151656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
151756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outADecNumberVariable(ADecNumberVariable node)
151856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
151956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
152056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
152156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
152256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
152356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseADecNumberVariable(ADecNumberVariable node)
152456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
152556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inADecNumberVariable(node);
152656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getDecNumber() != null)
152756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
152856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getDecNumber().apply(this);
152956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
153056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outADecNumberVariable(node);
153156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
153256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
153356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAHexNumberVariable(AHexNumberVariable node)
153456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
153556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
153656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
153756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
153856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAHexNumberVariable(AHexNumberVariable node)
153956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
154056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
154156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
154256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
154356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
154456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAHexNumberVariable(AHexNumberVariable node)
154556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
154656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAHexNumberVariable(node);
154756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getHexNumber() != null)
154856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
154956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getHexNumber().apply(this);
155056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
155156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAHexNumberVariable(node);
155256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
155356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
155456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inADescendVariable(ADescendVariable node)
155556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
155656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
155756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
155856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
155956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outADescendVariable(ADescendVariable node)
156056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
156156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
156256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
156356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
156456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
156556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseADescendVariable(ADescendVariable node)
156656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
156756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inADescendVariable(node);
156856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getChild() != null)
156956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
157056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getChild().apply(this);
157156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
157256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getParent() != null)
157356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
157456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getParent().apply(this);
157556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
157656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outADescendVariable(node);
157756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
157856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
157956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void inAExpandVariable(AExpandVariable node)
158056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
158156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultIn(node);
158256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
158356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
158456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void outAExpandVariable(AExpandVariable node)
158556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
158656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        defaultOut(node);
158756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
158856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson
158956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    @Override
159056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    public void caseAExpandVariable(AExpandVariable node)
159156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    {
159256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        inAExpandVariable(node);
159356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getChild() != null)
159456ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
159556ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getChild().apply(this);
159656ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
159756ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        if(node.getParent() != null)
159856ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        {
159956ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson            node.getParent().apply(this);
160056ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        }
160156ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson        outAExpandVariable(node);
160256ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson    }
160356ed4167b942ec265f9cee70ac4d71d10b3835ceBen Dodson}
1604