Changeset 3099


Ignore:
Timestamp:
Apr 30, 2013, 2:24:03 AM (6 years ago)
Author:
ksherdy
Message:

Minor update to PabloB Accessors / Generators.

Location:
proto/pabloj/trunk/src/toolchain/pabloB/ast
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • proto/pabloj/trunk/src/toolchain/pabloB/ast/Accessors.java

    r3035 r3099  
    1313import pabloB.ast.*;
    1414import toolchain.pabloB.ast.Accessors;
    15 import toolchain.pabloB.codeGenerator.helpers.CodeStore;
    1615
    1716public class Accessors {
     
    5958        ////////////////////////////////////////////////////////////////////////////
    6059        // Initialization
    61         ////////////////////////////////////////////////////////////////////////////           
     60        ////////////////////////////////////////////////////////////////////////////
     61       
     62        /* TODO update init section and remove
    6263        public static String integerConstantLexeme(StateSizeNode node) {
    6364                return node.child(0).getToken().getLexeme();
    64         }                               
     65        }
     66        */                             
    6567       
    6668        ////////////////////////////////////////////////////////////////////////////
     
    216218        }
    217219
    218         public static String stateName(ASTNode node) {
     220/* TODO Update init section and remove 
     221 * public static String stateName(ASTNode node) {
    219222                assert node instanceof StateIdentifierNode;
    220223                return node.getToken().getLexeme();
    221224        }
    222        
     225*/     
    223226        ////////////////////////////////////////////////////////////////////////////
    224227        // Terminals
     
    286289                return node.getToken().getLexeme();
    287290        }       
     291
     292        ////////////////////////////////////////////////////////////////////////////
     293        // Bool Type
     294        ////////////////////////////////////////////////////////////////////////////           
     295        public static String boolLexeme(BoolTypeNode node) {           
     296                return node.getToken().getLexeme();
     297        }       
    288298       
    289299        ////////////////////////////////////////////////////////////////////////////
  • proto/pabloj/trunk/src/toolchain/pabloB/ast/Generators.java

    r3035 r3099  
    156156                return initDefNode;
    157157        }
    158 
     158       
     159        /* TODO Update init section and refactor
    159160        public static StateInitStmtNode makeStateInitStmtNode(String identifier, Integer [] values, Token locationToken) {
    160161               
     
    180181               
    181182        }
    182 
     183        */
     184       
     185        /*
    183186        public static StateIdentifierNode makeStateIdentifierNode(String identifier, Token locationToken) {
    184187                IdentifierToken newToken = Generators.makeIdentifierToken(identifier, locationToken);
    185188                return new StateIdentifierNode(newToken);
     189        }
     190        */             
     191
     192        // Make function Call variants
     193        public static FuncCallNode makeFuncCallNode(String identifier, Token locationToken, ASTNode ...args) {
     194               
     195                FuncCallNode node = Generators.makeFuncCallNode(identifier, locationToken);
     196                Generators.addFuncCallArgs(node, args);
     197                return node;
     198        }       
     199
     200        public static FuncCallNode makeFuncCallNode(String identifier, Token locationToken, List<ASTNode> args) {
     201               
     202                FuncCallNode node = Generators.makeFuncCallNode(identifier, locationToken);
     203                Generators.addFuncCallArgs(node, args);
     204                return node;
     205        }       
     206       
     207        public static FuncCallNode makeFuncCallNode(String identifier, Token locationToken) {
     208                IdentifierNode identifierNode = Generators.makeIdentifierNode(identifier, locationToken);       
     209                return Generators.makeFuncCallNode(identifierNode, locationToken);
     210        }
     211
     212        public static FuncCallNode makeFuncCallNode(String[] identifiers, Token locationToken, ASTNode ...args) {
     213                FuncCallNode node = Generators.makeFuncCallNode(identifiers, locationToken);
     214                Generators.addFuncCallArgs(node, args);
     215                return node;
     216        }
     217
     218        public static FuncCallNode makeFuncCallNode(String[] identifiers, Token locationToken,  List<ASTNode> args) {
     219               
     220                FuncCallNode node = Generators.makeFuncCallNode(identifiers, locationToken);
     221                Generators.addFuncCallArgs(node, args);
     222                return node;
    186223        }               
    187 
    188         public static FuncCallNode makeFuncCallNode(CompoundIdentifierNode compoundIdentifierNode, Token locationToken, ASTNode ...args) {
    189 
    190                 FuncCallNode node = Generators.makeFuncCallNode(compoundIdentifierNode, locationToken);
    191                 List<ASTNode> list = new ArrayList<ASTNode>();
    192                 for(ASTNode arg: args) {
    193                         list.add(arg);
    194                 }
    195                 Generators.addFuncCallsArgs(node, list);               
    196                 return node;
    197         }
    198                
    199         public static FuncCallNode makeFuncCallNode(String[] identifiers, Token locationToken, ASTNode ...args) {
    200        
    201                 FuncCallNode node = Generators.makeFuncCallNode(identifiers, locationToken);
    202                 List<ASTNode> list = new ArrayList<ASTNode>();
    203                 for(ASTNode arg: args) {
    204                         list.add(arg);
    205                 }
    206                 Generators.addFuncCallsArgs(node, list);
    207                 return node;
    208         }
    209 
    210         private static void addFuncCallsArgs(FuncCallNode node, List<ASTNode> args) {
     224       
     225        public static FuncCallNode makeFuncCallNode(String[] identifiers, Token locationToken) {               
     226                CompoundIdentifierNode identifierNode = Generators.makeCompoundIdentifierNode(identifiers, locationToken);
     227                return Generators.makeFuncCallNode(identifierNode, locationToken);
     228        }
     229
     230        private static FuncCallNode makeFuncCallNode(ASTNode identifier, Token locationToken) {
     231                assert ((identifier instanceof IdentifierNode) || (identifier instanceof CompoundIdentifierNode));
     232
     233                LextantToken token = Generators.makeLextantToken(Lextant.LROUND, locationToken);
     234                FuncCallNode FuncCallNode = new FuncCallNode(token);
     235                FuncCallNode.appendChild(identifier);
     236                FuncCallNode.appendChild(new FuncCallArgListNode(locationToken));
     237
     238                return FuncCallNode;
     239        }       
     240               
     241        private static void addFuncCallArgs(FuncCallNode node, ASTNode[] args) {
     242                if(args.length > 0) {
     243                        for(ASTNode child: args) {
     244                                Accessors.funcCallArgsListNode(node).appendChild(child);
     245                        }
     246                        Accessors.funcCallArgsListNode(node).setToken(args[0].getToken());
     247                }       
     248        }       
     249
     250        private static void addFuncCallArgs(FuncCallNode node, List<ASTNode> args) {
    211251               
    212252                if(args.size() > 0) {
     
    217257                }               
    218258        }
    219                
    220         /* - Eliminate redundant
    221         public static FuncCallNode makeFuncCallNode(String[] identifiers, Token locationToken) {
    222                
    223                 CompoundIdentifierNode identifierNode = Generators.makeCompoundIdentifierNode(identifiers, locationToken);
    224                 return Generators.makeFuncCallNode(identifierNode, locationToken);
    225         }
    226         */
    227        
    228         private static FuncCallNode makeFuncCallNode(ASTNode identifier, Token locationToken) {
    229                 assert ((identifier instanceof IdentifierNode) || (identifier instanceof CompoundIdentifierNode));
    230 
    231                 LextantToken token = Generators.makeLextantToken(Lextant.LROUND, locationToken);
    232                 FuncCallNode FuncCallNode = new FuncCallNode(token);
    233                 FuncCallNode.appendChild(identifier);
    234                 FuncCallNode.appendChild(new FuncCallArgListNode(locationToken));
    235 
    236                 return FuncCallNode;
    237         }               
    238 
    239         public static IdisaFuncCallNode makeIdisaFuncCallNode(CompoundIdentifierNode compoundIdentifierNode, Token locationToken, ASTNode ...args) {
     259
     260       
     261/* WARNING - IdisaFuncCallNode must be fixed.
     262 *
     263 * public static IdisaFuncCallNode makeIdisaFuncCallNode(CompoundIdentifierNode compoundIdentifierNode, Token locationToken, ASTNode ...args) {
    240264
    241265                IdisaFuncCallNode node = Generators.makeIdisaFuncCallNode(compoundIdentifierNode, locationToken);
     
    246270                Generators.addIdisaFuncCallsArgs(node, list);           
    247271                return node;
    248         }
    249        
    250         private static IdisaFuncCallNode makeIdisaFuncCallNode(ASTNode identifier, Token locationToken) {
     272        }*/
     273       
     274/* WARNING - IdisaFuncCallNode must be fixed.   
     275 *
     276 * private static IdisaFuncCallNode makeIdisaFuncCallNode(ASTNode identifier, Token locationToken) {
    251277                assert ((identifier instanceof IdentifierNode) || (identifier instanceof CompoundIdentifierNode));
    252278
     
    258284                return idisaFuncCallNode;
    259285        }               
    260 
    261         private static void addIdisaFuncCallsArgs(IdisaFuncCallNode node, List<ASTNode> args) {
     286*/
     287/* WARNING - IdisaFuncCallNode must be fixed.   
     288 *
     289 * private static void addIdisaFuncCallsArgs(IdisaFuncCallNode node, List<ASTNode> args) {
    262290               
    263291                if(args.size() > 0) {
     
    267295                        Accessors.idisaFuncCallArgListNode(node).setToken(args.get(0).getToken());
    268296                }               
    269         }       
     297        }*/     
    270298       
    271299        public static AssignNode makeAssignEqualNode(String [] identifiers, ASTNode rhs, Token locationToken) {
     
    308336        }       
    309337       
    310         private static Token makeIntegerConstantToken(int n,    Token locationToken) {
    311                 return  IntConstantToken.makeArtifical(LexicalType.INTEGER_CONST, locationToken.getLocation(), n);
     338        public static IntConstantToken makeIntegerConstantToken(int n, Token locationToken) {
     339                return  (IntConstantToken) IntConstantToken.makeArtifical(LexicalType.INTEGER_CONST, locationToken.getLocation(), n);
    312340        }               
    313341
Note: See TracChangeset for help on using the changeset viewer.