Changeset 2165


Ignore:
Timestamp:
Nov 24, 2006, 9:06:20 PM (14 years ago)
Author:
roman
Message:

Visitor added to AST.

Location:
devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser/ASTChar.java

    r2154 r2165  
    1313        }
    1414
     15        /** Accept the visitor. **/
     16        public Object jjtAccept(RfpParserVisitor visitor, Object data) {
     17                return visitor.visit(this, data);
     18        }
     19
    1520        public String toString() {
    1621                return getImage();
    1722        }
     23
    1824}
  • devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser/ASTName.java

    r2154 r2165  
    1313        }
    1414
     15        /** Accept the visitor. **/
     16        public Object jjtAccept(RfpParserVisitor visitor, Object data) {
     17                return visitor.visit(this, data);
     18        }
     19
    1520        public String toString() {
    1621                return getImage();
  • devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser/ASTNumber.java

    r2154 r2165  
    1212        }
    1313
     14        /** Accept the visitor. **/
     15        public Object jjtAccept(RfpParserVisitor visitor, Object data) {
     16                return visitor.visit(this, data);
     17        }
     18
    1419        public String toString() {
    1520                return getImage();
  • devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser/ASTPattern.java

    r2154 r2165  
    1212        }
    1313
     14        /** Accept the visitor. **/
     15        public Object jjtAccept(RfpParserVisitor visitor, Object data) {
     16                return visitor.visit(this, data);
     17        }
     18
    1419        public Boolean rightToLeft = false;
    1520
  • devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser/ASTVariable.java

    r2154 r2165  
    1212        }
    1313
     14        /** Accept the visitor. **/
     15        public Object jjtAccept(RfpParserVisitor visitor, Object data) {
     16                return visitor.visit(this, data);
     17        }
     18
    1419        public String toString() {
    1520                return getImage();
  • devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser/ASTWord.java

    r2154 r2165  
    44
    55public class ASTWord extends SimpleNode {
     6
    67        public ASTWord(int id) {
    78                super(id);
     
    1213        }
    1314
     15        /** Accept the visitor. **/
     16        public Object jjtAccept(RfpParserVisitor visitor, Object data) {
     17                return visitor.visit(this, data);
     18        }
     19
    1420        public String toString() {
    1521                return getImage();
  • devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser/RfpParser.jjt

    r2156 r2165  
    66  JDK_VERSION = "1.5";
    77  MULTI=true;
     8  VISITOR=true;
    89  NODE_DEFAULT_VOID=false;
    910  STATIC=false;
     
    1819PARSER_BEGIN(RfpParser)
    1920package org.refal.plus.rfpdt.parser;
    20 
    21 public class RfpParser {
    22        
    23         private static String decodeStringLiteral(String s)
    24         {
    25                 StringBuilder sb = new StringBuilder();
    26                 int k = 0;
    27                 while(k < s.length()){
    28                         char c = s.charAt(k);
    29                         k++;
    30                         if( c != '\\' || k == s.length() ){
    31                                 sb.append(c);
    32                                 continue;
    33                         }
    34                         c = s.charAt(k);
    35                         k++;
    36                         switch (c) {
    37                         case 'n': c = '\n'; break;
    38                         case 't': c = '\t'; break;
    39                         case 'r': c = '\r'; break;
    40                         case 'f': c = '\f'; break;
    41                         case '\\': c = '\\'; break;
    42                         case '\'': c = '\''; break;
    43                         case '\"': c = '\"'; break;
    44                         default:
    45                                 break;
    46                         }
    47                         sb.append(c);
    48                 }
    49                 return sb.toString();
    50         }
    51 
    52 }
     21public class RfpParser {}
    5322PARSER_END(RfpParser)
    5423
     
    225194{
    226195  t = <CHARACTER_LITERAL>
    227   { jjtThis.setToken(t.kind, decodeStringLiteral(t.image) ); }
     196  { jjtThis.setToken(t.kind, Util.decodeStringLiteral(t.image) ); }
    228197}
    229198
     
    238207        (
    239208      t = <WORD_LITERAL>
    240       { jjtThis.setToken(t.kind, decodeStringLiteral(t.image) ); }
     209      { jjtThis.setToken(t.kind, Util.decodeStringLiteral(t.image) ); }
    241210    | t = <IDENTIFIER>
    242211      { jjtThis.setToken(t.kind, t.image ); }
  • devel-tools/trunk/eclipse/org.refal.plus.rfpdt/src/org/refal/plus/rfpdt/parser/SimpleNode.java

    r2154 r2165  
    7272        }
    7373
     74        /** Accept the visitor. **/
     75        public Object jjtAccept(RfpParserVisitor visitor, Object data) {
     76                return visitor.visit(this, data);
     77        }
     78
     79        /** Accept the visitor. **/
     80        public Object childrenAccept(RfpParserVisitor visitor, Object data) {
     81                if (children != null) {
     82                        for (int i = 0; i < children.length; ++i) {
     83                                children[i].jjtAccept(visitor, data);
     84                        }
     85                }
     86                return data;
     87        }
     88
    7489        /* You can override these two methods in subclasses of SimpleNode to
    7590         customize the way the node appears when the tree is dumped.  If
Note: See TracChangeset for help on using the changeset viewer.