Changeset 3822


Ignore:
Timestamp:
Apr 13, 2014, 10:27:22 PM (3 years ago)
Author:
ksherdy
Message:

Moved the translation of s2k builtin to C/CPP to b2k.

Location:
proto/s2k/trunk/framework/src/toolchain/s2k
Files:
7 added
7 deleted
13 edited

Legend:

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

    r3811 r3822  
    219219                IntegerConstantNode fieldWidthNode =    Generators.makeIntegerConstantNode(locator, fieldWidth);
    220220
    221                 FuncCallNode mask = Generators.makeFuncCallNode(locator, S2KBuiltin.BUILTIN_PACKAGE_NAME,
    222                                 S2KBuiltin.FLOW_MASK.name(),
     221                FuncCallNode mask = Generators.makeFuncCallNode(locator, S2KBuiltins.FLOW_MASK.packageName(),
     222                                S2KBuiltins.FLOW_MASK.name(),
    223223                                arguments(fieldWidthNode, zeroConstantNode));
    224224                return mask;
  • proto/s2k/trunk/framework/src/toolchain/s2k/semanticAnalyzer/SemanticAnalyzer.java

    r3777 r3822  
    1010import s2k.tokens.LextantToken;
    1111import toolchain.s2k.ast.Accessors;
    12 import toolchain.s2k.lang.S2KBuiltinTypeBuilder;
     12import toolchain.s2k.lang.S2KBuiltinsTypeBuilder;
    1313import toolchain.s2k.lang.signatures.*;
    1414import toolchain.s2k.lang.type.*;
     
    3737                public void visitEnter(ProgramNode node) {
    3838                        node.setSymbolTable(new SymbolTable());
    39                         S2KBuiltinTypeBuilder.installOn(node);
     39                        S2KBuiltinsTypeBuilder.installOn(node);
    4040                }
    4141                @Override
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/S2K2B2K/Context.java

    r3811 r3822  
    11package toolchain.s2k.transformer.visitors.S2K2B2K;
    22
    3 import s2k.ast.IdentifierNode;
    4 import s2k.inputHandler.Locator;
    5 import toolchain.s2k.ast.Generators;
    6 import toolchain.s2k.lang.S2KBuiltin;
    7 import toolchain.s2k.lang.S2KBuiltinEncoder;
    8 import toolchain.s2k.lang.carrySet.CarrySetBuiltin;
    9 import toolchain.s2k.lang.carrySet.CarrySetEncoder;
     3import toolchain.b2k.lang.carrySet.CarrySetBuiltins;
     4import toolchain.b2k.lang.carrySet.CarrySetEncoder;
     5import toolchain.b2k.lang.B2KBuiltin;
     6import toolchain.b2k.lang.AbstractB2KBuiltinsEncoder;
    107
    118// immutable
     
    1310        final private boolean carryInMode;
    1411        final private boolean finalBlockMode;
    15         final private S2KBuiltinEncoder builtinEncoder;
     12        final private AbstractB2KBuiltinsEncoder builtinEncoder;
    1613        final private CarrySetEncoder carrySetEncoder;
    1714        final private int carrySetDepth;
    1815       
    19         public Context(S2KBuiltinEncoder builtinEncoder, CarrySetEncoder carrySetEncoder) {
     16        public Context(AbstractB2KBuiltinsEncoder builtinEncoder, CarrySetEncoder carrySetEncoder) {
    2017            this(builtinEncoder, carrySetEncoder, true, false, 0);
    2118        }
    2219       
    23         public Context(S2KBuiltinEncoder builtinEncoder, CarrySetEncoder carrySetEncoder,
     20        public Context(AbstractB2KBuiltinsEncoder builtinEncoder, CarrySetEncoder carrySetEncoder,
    2421                        boolean carryInMode, boolean finalBlockMode,
    2522                        int carrySetDepth) {
     
    3936                return finalBlockMode;
    4037        }
    41         public final S2KBuiltinEncoder getBuiltinEncoder() {
     38        public final AbstractB2KBuiltinsEncoder getBuiltinEncoder() {
    4239                return builtinEncoder;
    4340        }
     
    5552       
    5653        // compound operations
    57         public final IdentifierNode carrySetIdentifierNode(Locator locator) {
    58                 return Generators.makeIdentifierNode(locator, getCarrySetIdentifier());
     54        public final String getCode(CarrySetBuiltins carrySetBuiltin) {
     55                return getCarrySetEncoder().baseName(carrySetBuiltin);
    5956        }
    60         public final String getCode(CarrySetBuiltin carrySetBuiltin) {
    61                 return getCarrySetEncoder().getName(carrySetBuiltin);
    62         }
    63         public final String getCode(S2KBuiltin builtin) {
    64                 return getBuiltinEncoder().getName(builtin);
     57        public final String getCode(B2KBuiltin builtin) {
     58                return getBuiltinEncoder().getCode(builtin);
    6559        }
    6660       
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/S2K2B2K/S2K2B2KTransformer.java

    r3811 r3822  
    33 * to b2k AST (kernels).
    44 *
     5 * KH: Refactor to allow b2k to calculate carry positions, carry values, two passes.
     6 *
    57 * @author Ken Herdy <ksherdy at sfu dot ca>
    68 */
     
    2022import toolchain.b2k.ast.Generators;
    2123import toolchain.b2k.ast.Mutators;
     24import toolchain.b2k.lang.B2KBuiltinsTranslator;
     25import toolchain.b2k.lang.KernelBuiltins;
    2226import toolchain.b2k.lang.KernelState;
    23 import toolchain.b2k.lang.B2KBuiltin;
    24 import static toolchain.b2k.lang.B2KBuiltin.DO_BLOCK;
    25 import static toolchain.b2k.lang.B2KBuiltin.DO_FINAL_BLOCK;
    26 import static toolchain.b2k.lang.B2KBuiltin.CLEAR;
     27import toolchain.b2k.lang.B2KBuiltins;
     28import toolchain.b2k.lang.AbstractB2KBuiltinsEncoder;
     29import toolchain.b2k.lang.carrySet.CarrySetEncoder;
     30import toolchain.b2k.transformer.visitors.InfoSet.Carry1Count;
    2731import static toolchain.b2k.lang.idisa.IDISABuiltin.*;
    2832import static toolchain.b2k.lang.type.PrimitiveType.BITBLOCK_SIZE;
    2933
    3034// non-conflicting imports
    31 import toolchain.s2k.lang.S2KBuiltinUtil;
    32 import toolchain.s2k.lang.S2KBuiltin;
    33 import toolchain.s2k.lang.S2KBuiltinEncoder;
    34 import toolchain.s2k.lang.carrySet.CarrySetEncoder;
    35 import toolchain.s2k.lang.S2KBuiltinTranslator;
     35import toolchain.s2k.lang.S2KBuiltinsUtil;
    3636import toolchain.s2k.transformer.visitors.infoSet.PropertyInfoSet;
    3737import toolchain.s2k.transformer.visitors.infoSet.PropertyInfoSetMapBuilder;
    3838
    39 
    4039public class S2K2B2KTransformer {
    4140
    42     public static ASTNode apply(S2KBuiltinEncoder builtinEncoder, CarrySetEncoder carrySetEncoder, s2k.ast.ASTNode s2kASTree, s2k.ast.ASTNode s2kFinalBlockASTree) {
     41    public static ASTNode apply(AbstractB2KBuiltinsEncoder builtinEncoder, CarrySetEncoder carrySetEncoder, s2k.ast.ASTNode s2kASTree, s2k.ast.ASTNode s2kFinalBlockASTree) {
    4342
    4443        // S2B
     
    5857        for(s2k.ast.FilterDefNode funcDef : funcDefs) {
    5958           
    60             String kernelName           = toolchain.s2k.ast.Accessors.name(funcDef);
    61             Locator locator             = Generators.makeTextLocation(funcDef.getLocation());
    62             PropertyInfoSet propInfoSet = propInfoSetMap.get(funcDef);
    63            
    64             List<FuncCallNode> carryInitFuncCalls       = makeCarryInitFuncCallNodes(locator, context, propInfoSet);
     59            String kernelName                                           = toolchain.s2k.ast.Accessors.name(funcDef);
     60            Locator locator                                             = Generators.makeTextLocation(funcDef.getLocation());
     61            PropertyInfoSet propInfoSet                                 = propInfoSetMap.get(funcDef);
     62           
     63            List<FuncCallNode> carryInitFuncCalls               = makeCarryInitFuncCallNodes(locator, context, propInfoSet);
    6564            KernelInitDefNode initDef                           = makeKernelInitDefNode(locator, propInfoSet);
    6665            addCarryInitFuncCallNodes(carryInitFuncCalls, initDef);
     
    6968            KernelFuncDefNode doFinalBlockKernelFuncDef = Accessors.funcDefForName(b2kFinalBlockASTree, kernelName);
    7069           
    71             Mutators.rename(doBlockKernelFuncDef, DO_BLOCK.b2kName());         
    72             Mutators.rename(doFinalBlockKernelFuncDef, DO_FINAL_BLOCK.b2kName());
    73            
    74             KernelFuncDefNode clearKernelFuncDef                = makeClearKernelFuncDefNode(locator, CLEAR.b2kName());
     70            Mutators.rename(doBlockKernelFuncDef, KernelBuiltins.DO_BLOCK.baseName());         
     71            Mutators.rename(doFinalBlockKernelFuncDef, KernelBuiltins.DO_FINAL_BLOCK.baseName());
     72           
     73            KernelFuncDefNode clearKernelFuncDef                = makeClearKernelFuncDefNode(locator, KernelBuiltins.CLEAR.baseName());
    7574            addCarryInitFuncCallNodes(carryInitFuncCalls, clearKernelFuncDef);
    7675           
    77             KernelDefNode kernelDef             = Generators.makeKernelDef(locator,
    78                                                                             kernelName,
    79                                                                             initDef,
    80                                                                             doBlockKernelFuncDef,
    81                                                                             doFinalBlockKernelFuncDef,
    82                                                                             clearKernelFuncDef);
     76                        KernelDefNode kernelDef                                 = Generators.makeKernelDef(locator,
     77                                                                                                    kernelName,
     78                                                                                                    initDef,
     79                                                                                                    doBlockKernelFuncDef,
     80                                                                                                    doFinalBlockKernelFuncDef,
     81                                                                                                    clearKernelFuncDef);
    8382           
    8483            addCarryDeclareFuncCall(locator, context, propInfoSet, kernelDef);
     
    191190        @Override
    192191        public ASTNode defaultVisitLeave(s2k.ast.ASTNode node, List<ASTNode> childResults) {
    193             Class<?> nodeClass = node.getClass();
    194             String nodeName = nodeClass.getSimpleName();
    195             String b2kNodeName = "b2k.ast." + nodeName;
    196 
    197             b2k.tokens.Token token = Generators.makeToken(node.getToken());
     192            Class<?> nodeClass          = node.getClass();
     193            String nodeName             = nodeClass.getSimpleName();
     194            String b2kNodeName          = "b2k.ast." + nodeName;
     195
     196            b2k.tokens.Token token      = Generators.makeToken(node.getToken());
    198197            try {
    199                 Class<?> b2kNodeClass = Class.forName(b2kNodeName);
    200                 Constructor<?> constructor = b2kNodeClass.getConstructor(b2k.tokens.Token.class);
    201                 ASTNode b2kNode = (ASTNode) constructor.newInstance(token);
     198                Class<?> b2kNodeClass           = Class.forName(b2kNodeName);
     199                Constructor<?> constructor      = b2kNodeClass.getConstructor(b2k.tokens.Token.class);
     200                ASTNode b2kNode                         = (ASTNode) constructor.newInstance(token);
    202201                appendChildResults(b2kNode, childResults);
    203202                return b2kNode;
     
    222221        //       
    223222       
    224         // KH: quick and dirty translations bypass b2k.ast.Generators and use 'new' directly
     223        // KH: quick and dirty translations bypass b2k.ast.Generators and directly construct nodes
     224        // using 'new'
    225225
    226226        // AddFilterStmtNodes -> AddKernelStmtNodes
     
    294294            appendChildResults(replacement, childResults);
    295295           
    296             int carry1Count = propInfoSetMap.get(snode).carry1Count;
     296            int carry1Count     = Carry1Count.forTree(replacement);
    297297
    298298            if(needsCarryAdjustment(context, carry1Count) ) { 
     
    325325                ASTNode lastParameter = parameterList.lastChild();
    326326
    327                 final String EOF_Mask = B2KBuiltin.EOF_MASK.b2kName(); //context.getBuiltinEncoder().getName(S2KBuiltin.EOF_MASK);
     327                final String EOF_Mask = B2KBuiltins._EOF_MASK.baseName(); //context.getBuiltinEncoder().getName(S2KBuiltin.EOF_MASK);
    328328
    329329                if(Accessors.name(lastParameter).equals(EOF_Mask)) {
     
    355355
    356356            int carry1Count     = propInfoSetMap.get(snode).carry1Count;
    357 
     357           
    358358            if(ifNeedsCarryProcessing(context, carry1Count)) {
    359359
     
    559559        // FuncCall       
    560560        //
    561         // Translation of s2k builtin depends on 'carry-in' mode, 'final-block' mode, and
    562         // the prior execution of the TempifyCarryBuiltinCalls transformer.
     561        // Translation of s2k builtin depends on the
     562        // prior execution of the TempifyCarryBuiltinCalls
     563        // transformer.
    563564        //
    564565        public ASTNode visitLeave(s2k.ast.FuncCallNode snode, List<ASTNode> childResults) {
    565566
    566567            ASTNode replacement = null;
    567            
    568             if (S2KBuiltinUtil.isCarryNone(snode)) {
    569 
    570                 S2KBuiltin builtin = S2KBuiltinUtil.builtin(snode);
    571                 S2KBuiltinTranslator translator = builtin.getTranslator();
    572 
    573                 ASTNode funcCallArgsList = childResults.get(1);
    574                 List<ASTNode> args = funcCallArgsList.getChildren();
    575                 replacement = translator.translate(builtin, snode, context, args);
    576                
    577             } else {
    578 
    579                 replacement  = new FuncCallNode(Generators.makeToken(snode.getToken()));
    580                 appendChildResults(replacement, childResults);
    581             }
    582            
    583             return replacement;
    584         }
    585 
    586         ////////////////////////////////////////////////////////////////////////////////////
    587         // AssignNode       
     568               
     569            if (S2KBuiltinsUtil.isBuiltInCall(snode)) {
     570               
     571                B2KBuiltins b2kBuiltin = S2K2B2KBuiltins.b2KBuiltin(S2KBuiltinsUtil.builtin(snode));
     572               
     573                if(b2kBuiltin.isCarryNone()) { // no carry set return value translation
     574
     575                    B2KBuiltinsTranslator translator = b2kBuiltin.getTranslator();
     576                        ASTNode funcCallArgsList = childResults.get(1);
     577                        List<ASTNode> args = funcCallArgsList.getChildren();
     578                        return replacement = translator.translate(b2kBuiltin, snode, context, args);
     579                       
     580                }
     581            }
     582
     583            replacement  = new FuncCallNode(Generators.makeToken(snode.getToken()));
     584            appendChildResults(replacement, childResults);
     585           
     586            return replacement;
     587        }
     588
     589        ////////////////////////////////////////////////////////////////////////////////////
     590        // AssignNode 
     591        //
     592        // Translation of s2k builtin depends on the
     593        // prior execution of the TempifyCarryBuiltinCalls
     594        // transformer.
     595        //
    588596        public ASTNode visitLeave(s2k.ast.AssignNode snode, List<ASTNode> childResults) {
    589597
    590598            s2k.ast.ASTNode rhs = toolchain.s2k.ast.Accessors.rhs(snode);
    591599
    592             if(S2KBuiltinUtil.isCarry(rhs)) {
    593 
    594                 Locator locator = Generators.makeTextLocation(snode.getLocation());
    595 
    596                 ASTNode funcCallArgsList = childResults.get(1).child(1);
    597                 List<ASTNode> args = funcCallArgsList.getChildren();
    598 
    599                 ASTNode carryCall = makeCarryCall(locator, context, rhs);
    600                 args.add(carryCall);
    601 
    602                 ASTNode returnValue = childResults.get(0);
    603                 args.add(returnValue);
    604 
    605                 S2KBuiltin builtin = S2KBuiltinUtil.builtin(rhs);
    606                 S2KBuiltinTranslator translator = builtin.getTranslator();
    607                 ASTNode b2kBlkFuncCall = translator.translate(builtin, (s2k.ast.FuncCallNode) rhs, context, args);
    608                
    609                 return Generators.makeAssignNode(locator, carryCall, b2kBlkFuncCall);
    610 
    611             } 
    612 
     600            if (S2KBuiltinsUtil.isBuiltInCall(rhs)) {
     601           
     602                B2KBuiltins b2kBuiltin = S2K2B2KBuiltins.b2KBuiltin(S2KBuiltinsUtil.builtin(rhs));
     603               
     604                    if(S2KBuiltinsUtil.isCarry(rhs)) { // tempify
     605       
     606                        Locator locator = Generators.makeTextLocation(snode.getLocation());
     607       
     608                        ASTNode funcCallArgsList = childResults.get(1).child(1);
     609                        List<ASTNode> args = funcCallArgsList.getChildren();
     610       
     611                        ASTNode carryCall = makeCarryCall(locator, context, rhs);
     612                        args.add(carryCall);
     613       
     614                        ASTNode returnValue = childResults.get(0);
     615                        args.add(returnValue);
     616                       
     617                        B2KBuiltinsTranslator translator = b2kBuiltin.getTranslator();               
     618                        ASTNode b2kBlkFuncCall = translator.translate(b2kBuiltin, (s2k.ast.FuncCallNode) rhs, context, args);
     619                       
     620                        return Generators.makeAssignNode(locator, carryCall, b2kBlkFuncCall);
     621       
     622                    } 
     623                }
     624       
    613625            ASTNode replacement  = new AssignNode(Generators.makeToken(snode.getToken()));
    614626            appendChildResults(replacement, childResults);
     
    617629       
    618630        private ASTNode makeCarryCall(Locator locator, Context context, s2k.ast.ASTNode rhs) {
    619             ASTNode carryCall = null;
    620            
    621             if(S2KBuiltinUtil.isCarry1(rhs)) {
    622                 int carry1Position = propInfoSetMap.get(rhs).carry1Position;
    623                 carryCall = Generators.makeGetCarryCall(locator, context, carry1Position);
    624 
    625             } else if(S2KBuiltinUtil.isCarryN(rhs)) {
    626                 int carryNPosition = propInfoSetMap.get(rhs).carryNPosition;
    627                 carryCall = Generators.makePending64Call(locator, context, carryNPosition);
    628             }
    629            
    630             return carryCall;
     631           
     632            if (S2KBuiltinsUtil.isBuiltInCall(rhs)) {
     633           
     634                B2KBuiltins b2kBuiltin = S2K2B2KBuiltins.b2KBuiltin(S2KBuiltinsUtil.builtin(rhs));
     635               
     636                    if(b2kBuiltin.isCarry1()) {
     637                        int carry1Position = propInfoSetMap.get(rhs).carry1Position;
     638                        return Generators.makeGetCarryCall(locator, context, carry1Position);
     639       
     640                    } else if(b2kBuiltin.isCarryN()) {
     641                        int carryNPosition = propInfoSetMap.get(rhs).carryNPosition;
     642                        return Generators.makePending64Call(locator, context, carryNPosition);
     643                    }
     644           
     645            }
     646           
     647                assert false : "makeCarryCall expects: " + B2KBuiltins.CarryType.SingleBit + ", " + B2KBuiltins.CarryType.NBits;
     648                return new ErrorNode((Token) rhs.getToken());
     649           
    631650        }           
    632651       
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/S2K2S2K/CombineAdvances.java

    r3811 r3822  
    1717import toolchain.s2k.ast.Accessors;
    1818import toolchain.s2k.ast.Generators;
    19 import toolchain.s2k.lang.S2KBuiltinUtil;
     19import toolchain.s2k.lang.S2KBuiltinsUtil;
    2020
    2121public class CombineAdvances {
     
    5454                // compiler error -> Assume upstream SemanticAnalysis
    5555                private int advanceAmount(FuncCallNode node) {
    56                         assert S2KBuiltinUtil.isAdvance(node);
     56                        assert S2KBuiltinsUtil.isAdvance(node);
    5757                        switch(Accessors.argCount(node)) {
    5858                        case 1:         return 1;
     
    7272               
    7373                private boolean isAdvanceOfAdvance(FuncCallNode node) {
    74                         if(!S2KBuiltinUtil.isAdvance(node)) {
     74                        if(!S2KBuiltinsUtil.isAdvance(node)) {
    7575                                return false;
    7676                        }                       
     
    8080                                return false;
    8181                        }
    82                         return S2KBuiltinUtil.isAdvance((FuncCallNode)child);
     82                        return S2KBuiltinsUtil.isAdvance((FuncCallNode)child);
    8383                }       
    8484
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/S2K2S2K/CombineScopes.java

    r3777 r3822  
    33 *
    44 * (1) Substitutes mangled name for each non-mangled name.
    5  * (2) Splits variable declarations with initializations.
     5 * (2) Splits variable declarations with initialisations.
    66 * (3) Moves block-level variable declarations to the function-level scope.
    77 *     
    8  * TODO - KH: Move to s2k2b2k on implementation of b2k SemanticAnalysis
     8 * TODO - KH: Move to b2k on implementation. Applied at each level.
    99 *
    1010 * @author Ken Herdy <ksherdy at sfu dot ca>
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/S2K2S2K/StreamFunctionDefs.java

    r3775 r3822  
    11/*
    2  * Lists S2K stream function definition nodes.
     2 * Lists S2K stream function definition nodes. Not used.
    33 *
    44 * @author Ken Herdy <ksherdy at sfu dot ca>
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/S2K2S2K/TempifyCarrySetBuiltinCalls.java

    r3811 r3822  
    5252import toolchain.s2k.ast.Accessors;
    5353import toolchain.s2k.ast.Generators;
    54 import toolchain.s2k.lang.S2KBuiltinUtil;
     54import toolchain.s2k.lang.S2KBuiltinsUtil;
    5555import toolchain.util.Labeller;
    5656import toolchain.util.Pair;
     
    132132           
    133133           
    134             if(S2KBuiltinUtil.isCarry(node)) {
     134            if(S2KBuiltinsUtil.isCarry(node)) {
    135135               
    136136                if(!(node.getParent() instanceof AssignNode)) {
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/infoSet/AdvanceNCount.java

    r3811 r3822  
    88
    99import s2k.ast.*;
    10 import toolchain.s2k.lang.S2KBuiltinUtil;
     10import toolchain.s2k.lang.S2KBuiltinsUtil;
    1111
    1212public class AdvanceNCount {
     
    2525
    2626                public void visitLeave(FuncCallNode node) {
    27                         if(S2KBuiltinUtil.isAdvanceN(node)) {
     27                        if(S2KBuiltinsUtil.isAdvanceN(node)) {
    2828                            this.advNCount += 1;
    2929                        }
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/infoSet/Carry1Count.java

    r3811 r3822  
    88
    99import s2k.ast.*;
    10 import toolchain.s2k.lang.S2KBuiltinUtil;
     10import toolchain.s2k.lang.S2KBuiltinsUtil;
    1111
    1212public class Carry1Count {
     
    2727                               
    2828                public void visitLeave(FuncCallNode node) {
    29                         if(S2KBuiltinUtil.isCarry1(node)) {
     29                        if(S2KBuiltinsUtil.isCarry1(node)) {
    3030                            carry1Count += 1;
    3131                        }                       
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/infoSet/Carry1InitialValues.java

    r3811 r3822  
    55
    66import s2k.ast.*;
    7 import toolchain.s2k.lang.S2KBuiltinUtil;
     7import toolchain.s2k.lang.S2KBuiltinsUtil;
    88
    99public class Carry1InitialValues {
     
    2727                               
    2828                public void visitLeave(FuncCallNode node) {
    29                         if(S2KBuiltinUtil.isCarry1(node)) {
    30                             carry1InitialValues.add(S2KBuiltinUtil.builtin(node).intInitialValue());
     29                        if(S2KBuiltinsUtil.isCarry1(node)) {
     30                            carry1InitialValues.add(S2KBuiltinsUtil.builtin(node).intInitialValue());
    3131                        }                       
    3232                }
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/infoSet/CarryNCount.java

    r3811 r3822  
    22
    33import s2k.ast.*;
    4 import toolchain.s2k.lang.S2KBuiltinUtil;
     4import toolchain.s2k.lang.S2KBuiltinsUtil;
    55
    66public class CarryNCount {
     
    2020                               
    2121                public void visitLeave(FuncCallNode node) {
    22                         if(S2KBuiltinUtil.isCarryN(node)) {
     22                        if(S2KBuiltinsUtil.isCarryN(node)) {
    2323                            carryNCount += 1;
    2424                        }                       
  • proto/s2k/trunk/framework/src/toolchain/s2k/transformer/visitors/infoSet/PropertyInfoSetMapBuilder.java

    r3811 r3822  
    1515
    1616import s2k.ast.*;
    17 import toolchain.s2k.lang.S2KBuiltinUtil;
     17import toolchain.s2k.lang.S2KBuiltinsUtil;
    1818
    1919public class PropertyInfoSetMapBuilder {
     
    6363        public void visitEnter(FuncCallNode node) {
    6464           
    65             if(S2KBuiltinUtil.isCarry(node)) {
     65            if(S2KBuiltinsUtil.isCarry(node)) {
    6666
    6767                PropertyInfoSet propInfoSet = new PropertyInfoSet(carry1Position, carryNPosition,  Carry1Count.forTree(node), CarryNCount.forTree(node), Carry1InitialValues.forTree(node)); // add LA, LB
    6868                propInfoSetMap.put(node, propInfoSet);
    6969
    70                 if(S2KBuiltinUtil.isCarry1(node)) {
     70                if(S2KBuiltinsUtil.isCarry1(node)) {
    7171                        carry1Position += 1;
    72                 } else if (S2KBuiltinUtil.isCarryN(node)) {
     72                } else if (S2KBuiltinsUtil.isCarryN(node)) {
    7373                        carryNPosition += 1;
    7474                }
Note: See TracChangeset for help on using the changeset viewer.