Changeset 2389


Ignore:
Timestamp:
Sep 21, 2012, 4:02:09 PM (6 years ago)
Author:
ksherdy
Message:

Migrated Helper.java. Added function to identify functionDefNode name node.

Location:
proto/pablo/src/compiler
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • proto/pablo/src/compiler/PabloCompiler.java

    r2388 r2389  
    5050            // stream_function_visitor = StreamFunctionVisitor(self.main_module)
    5151               
    52                 System.out.print(syntaxTree);
     52//              System.out.print(syntaxTree);
    5353               
    5454                Map<String, ASTNode> streamFunctionMap = (new StreamFunctionVisitor(syntaxTree)).makeStreamFunctionMap();
    5555               
    56                 for (Map.Entry<String, ASTNode> entry : streamFunctionMap.entrySet()) {
    57                         System.out.println(entry.getKey());
    58                         System.out.println(entry.getValue());
    59                 }
    6056               
     57               
     58//              for (Map.Entry<String, ASTNode> entry : streamFunctionMap.entrySet()) {
     59//                      System.out.println(entry.getKey());
     60//                      System.out.println(entry.getValue());
     61//              }
     62               
     63//             
    6164//              ASTNode decoratedTree = SemanticAnalyzer.analyze(syntaxTree);
    6265//              generateCodeIfNoErrors(filename, decoratedTree);
  • proto/pablo/src/compiler/visitors/StreamFunctionVisitor.java

    r2388 r2389  
    55import ast.*;
    66import java.util.*;
     7import compiler.visitors.*;
    78
    89
     
    4142                public void visitLeave(FunctionDefNode node) {
    4243                                               
    43                         for(ASTNode child: node.getChildren()) {
    44                                 if (child instanceof FunctionNameNode) {
    45                                         String functionName = child.getToken().getLexeme();
    46                                         functionName = capitalize(functionName);
    47                                         StringConstantToken newNameToken = StringConstantToken.make(LexicalType.STRING, child.getToken().getLocation(), functionName);
    48                                         child.setToken(newNameToken);
    49                                         streamFunctionMap.put(functionName, node);                                     
    50                                 }
    51                         }
     44                        ASTNode functionNameNode = Helpers.functionName(node); 
     45                        String functionName = functionNameNode.getToken().getLexeme();
     46                        functionName = capitalize(functionName);
     47                        StringConstantToken newNameToken = StringConstantToken.make(LexicalType.STRING, functionNameNode.getToken().getLocation(), functionName);
     48                        functionNameNode.setToken(newNameToken);
     49                        streamFunctionMap.put(functionName, node);                                     
    5250                       
    5351                }
Note: See TracChangeset for help on using the changeset viewer.