Changeset 3808


Ignore:
Timestamp:
Apr 11, 2014, 1:51:48 AM (4 years ago)
Author:
ksherdy
Message:

Updated ast package for Idisa translation.

Location:
proto/s2k/trunk/framework/src/toolchain/b2k/ast
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • proto/s2k/trunk/framework/src/toolchain/b2k/ast/Accessors.java

    r3802 r3808  
    348348    }
    349349    public static ASTNode argsListNode(FuncCallNode node) {
    350         return node.child(1);
     350        ASTNode argListNode = node.child(1);
     351        assert argListNode instanceof FuncCallArgListNode;
     352        return argListNode;
    351353    }
    352354    public static int argCount(FuncCallNode node) {
    353355        ASTNode argList = Accessors.argsListNode(node);
    354         if (argList == null) {
    355             return 0;
    356         }
    357356        return argList.nChildren();
    358357    }
     
    530529                return node.getToken().getPrintableLexeme();
    531530        }       
     531
     532        ////////////////////////////////////////////////////////////////////////////
     533        // int Type
     534        ////////////////////////////////////////////////////////////////////////////
     535        public static String intLexeme(IntTypeNode node) {             
     536                return node.getToken().getPrintableLexeme();
     537        }       
    532538       
    533539        ////////////////////////////////////////////////////////////////////////////
     
    546552        ////////////////////////////////////////////////////////////////////////////
    547553       
    548         public static IdisaFuncCallArgListNode idisaFuncCallArgListNode(IdisaFuncCallNode node) {
    549                 return (IdisaFuncCallArgListNode)node.child(2);
    550         }
     554        public static IdisaFuncCallArgListNode argListNode(IdisaFuncCallNode node) {
     555                ASTNode idisaFuncCallArgListNode = node.child(2);
     556                assert idisaFuncCallArgListNode instanceof IdisaFuncCallArgListNode;
     557                return (IdisaFuncCallArgListNode) idisaFuncCallArgListNode;     
     558        }
     559       
     560    public static int argCount(IdisaFuncCallNode node) {
     561        ASTNode argList = Accessors.argListNode(node);
     562        return argList.nChildren();
     563    }
    551564       
    552565        public static String idisaBaseName(String fullyQualifiedName)
    553566        {               
     567                assert fullyQualifiedName.contains(".");
    554568                return fullyQualifiedName.split("\\.")[1];
    555569        }       
     
    557571        public static String idisaPackageName(String fullyQualifiedName)
    558572        {
     573                assert fullyQualifiedName.contains(".");
    559574                return fullyQualifiedName.split("\\.")[0];
    560575        }
  • proto/s2k/trunk/framework/src/toolchain/b2k/ast/Generators.java

    r3799 r3808  
    2020import static toolchain.b2k.lang.B2KBuiltin.*;
    2121import static toolchain.b2k.lang.idisa.IDISABuiltin.*;
    22 import static toolchain.b2k.lang.types.PrimitiveType.BITBLOCK_SIZE;
     22import static toolchain.b2k.lang.type.PrimitiveType.BITBLOCK_SIZE;
    2323
    2424public class Generators {
     
    211211        if(args.length > 0) {
    212212            for(ASTNode child: args) {
    213                 Accessors.idisaFuncCallArgListNode(node).appendChild(child.deepCopy());
     213                Accessors.argListNode(node).appendChild(child.deepCopy());
    214214            }
    215             Accessors.idisaFuncCallArgListNode(node).setToken(args[0].getToken());
     215            Accessors.argListNode(node).setToken(args[0].getToken());
    216216        }   
    217217    }
  • proto/s2k/trunk/framework/src/toolchain/b2k/ast/Mutators.java

    r3778 r3808  
    22
    33import static toolchain.b2k.lang.idisa.IDISABuiltin.BITBLOCK_ANY;
    4 import static toolchain.b2k.lang.types.PrimitiveType.BITBLOCK_SIZE;
     4import static toolchain.b2k.lang.type.PrimitiveType.BITBLOCK_SIZE;
    55import b2k.ast.ASTNode;
    66import b2k.ast.BlockStmtNode;
Note: See TracChangeset for help on using the changeset viewer.