Changeset 3370 for proto


Ignore:
Timestamp:
Jun 27, 2013, 5:29:25 PM (6 years ago)
Author:
ksherdy
Message:

Added assert_0 call.

Location:
proto/pabloj/trunk/src/toolchain
Files:
1 deleted
6 edited
1 moved

Legend:

Unmodified
Added
Removed
  • proto/pabloj/trunk/src/toolchain/pabloB/codeGenerator/visitors/Unparser.java

    r3368 r3370  
    306306                resultVar.append(")");
    307307               
    308                 code.setResultVarName(resultVar.toString());            // Function invocation as an expression
    309                
    310                 code.addFormattedLine("%s;", resultVar.toString()); // Function invocation as a statement
     308                code.setResultVarName(resultVar.toString());            // function invocation as an expression
     309               
     310                code.addFormattedLine("%s;", resultVar.toString()); // function invocation as a statement
    311311               
    312312                return code;
     
    322322        public CodeStore visitLeave(IdisaFuncCallNode node, List<CodeStore> childResults) {
    323323                CodeStore code = new CodeStore();
    324                
    325                 System.out.println(node);
    326324               
    327325                String idisaFullyQualifiedName  = childResults.get(0).getResultVarName();
  • proto/pabloj/trunk/src/toolchain/pabloS/transformer/visitors/pabloS2PabloB/CarryIntroXFormer.java

    r3364 r3370  
    6161public class CarryIntroXFormer {           
    6262   
    63     private static boolean isTempified = false;
     63//    private static boolean isTempified = false;
    6464   
    6565    private static ASTNode TempifyOnce(ASTNode ASTree) {
    66         if(!isTempified) {
    67             isTempified = true;
    68             return TempifyCarrySetBuiltinCalls.apply(ASTree);
    69         }
     66//        if(!isTempified) {
     67//            isTempified = true;
     68//            return TempifyCarrySetBuiltinCalls.apply(ASTree);
     69//        }
    7070        return ASTree;
    7171    }
     
    7474       
    7575        ASTNode xTree = apply(root, builtinEncoder, carrySetEncoder, finalBlockMode, true, 0);
    76         isTempified = false;
     76//        isTempified = false;
    7777        return xTree;
    7878    }
     
    198198                public void visitLeave(FuncCallNode node) {
    199199                        if(BuiltinCallUtil.isCarryNone(node)) {
    200                                 PabloSBuiltin builtin = BuiltinCallUtil.builtin(node);
    201                                 Counter counter = selectCounter(builtin, carryCounter, advanceNCounter);
    202                                 PabloSBuiltinTranslator translator = builtin.getTranslator();
    203                                 translator.translate(builtin, node, counter, context);
     200                            if(!BuiltinCallUtil.isAssertZero(node)) {
     201                           
     202                                PabloSBuiltin builtin = BuiltinCallUtil.builtin(node);
     203
     204
     205
     206                                Counter counter = selectCounter(builtin, carryCounter, advanceNCounter);
     207                                PabloSBuiltinTranslator translator = builtin.getTranslator();
     208
     209
     210
     211                                translator.translate(builtin, node, counter, context);
     212                            }
    204213                        }       
    205214                }
  • proto/pabloj/trunk/src/toolchain/pabloS/transformer/visitors/pabloS2PabloB/PabloS2PabloBController.java

    r3368 r3370  
    3636           
    3737        pabloS.ast.ASTNode decoratedTree = ASTree.deepCopy();
    38         decoratedTree = SurroundAssert0sWithIfs.apply(decoratedTree, builtinEncoder);     
     38       
     39        //decoratedTree = SurroundAssert0sWithIfs.apply(decoratedTree, builtinEncoder);     
     40       
    3941        decoratedTree = CarryIntroXFormer.apply(decoratedTree, builtinEncoder, carrySetEncoder, finalBlockMode);
     42       
    4043        //decoratedTree = SurroundConditionsWithBitBlockAny.apply(decoratedTree);
    4144        //decoratedTree = BitwiseBoolean2IDISA.apply(decoratedTree);
  • proto/pabloj/trunk/src/toolchain/pabloS/transformer/visitors/pabloS2PabloB/PabloS2PabloBXFormer.java

    r3369 r3370  
    282282           
    283283            String assert0CallName                  = builtinEncoder.getName(PabloSBuiltin.ASSERT_ZERO);
    284             pabloB.ast.ASTNode errorStream          = childResults.get(1).deepCopy();
    285             pabloB.ast.ASTNode errorMsg             = childResults.get(2).deepCopy();
     284            pabloB.ast.ASTNode errorStream          = childResults.get(1).child(0).deepCopy();
     285            pabloB.ast.ASTNode errorMsg             = childResults.get(1).child(1).deepCopy();
    286286           
    287287            pabloB.ast.ASTNode assert0Call          = Generators.makeFuncCallNode(locator,
     
    291291         
    292292            BlockStmtNode blockStmt                 = Generators.makeBlockStmtNode(locator, assert0Call);
    293             pabloB.ast.ASTNode replacement          = Generators.makeIfStmtNode(locator,
     293            IfStmtNode replacement                  = Generators.makeIfStmtNode(locator,
    294294                                                              errorStream.deepCopy(),
    295295                                                              blockStmt);
     296           
     297            surroundConditionWithBitBlockAny(replacement, Accessors.condition(replacement));
     298
    296299            return replacement;
    297300        }
  • proto/pabloj/trunk/src/toolchain/pabloS/transformer/visitors/pabloS2pabloS/PabloS2SPabloController.java

    r3363 r3370  
    1616        decoratedTree = ExpandAugmentedAssignments.apply(decoratedTree);
    1717        decoratedTree = CombineAdvances.apply(decoratedTree);
     18        decoratedTree = TempifyCarrySetBuiltinCalls.apply(decoratedTree);
    1819        return decoratedTree;
    1920        }       
  • proto/pabloj/trunk/src/toolchain/pabloS/transformer/visitors/pabloS2pabloS/SurroundAssert0sWithIfs.java

    r3363 r3370  
    5858                               
    5959                                node.updateSelf(ifStmt);
     60                               
     61                                System.out.println(node);
     62                                System.exit(1);
    6063                        }       
    6164                }
  • proto/pabloj/trunk/src/toolchain/pabloS/transformer/visitors/pabloS2pabloS/TempifyCarrySetBuiltinCalls.java

    r3367 r3370  
    4242 *   
    4343 */
    44 package toolchain.pabloS.transformer.visitors.pabloS2PabloB;
     44package toolchain.pabloS.transformer.visitors.pabloS2pabloS;
    4545
    4646import java.util.LinkedHashMap;
     
    5757import static toolchain.util.MapUtil.*;
    5858
    59 import toolchain.pabloS.transformer.visitors.pabloS2pabloS.SplitVarDeclInits;
    6059public class TempifyCarrySetBuiltinCalls {
    6160       
Note: See TracChangeset for help on using the changeset viewer.