Changeset 2371


Ignore:
Timestamp:
Feb 10, 2007, 3:32:32 PM (14 years ago)
Author:
roman
Message:

CompilerEnvironment?

File:
1 edited

Legend:

Unmodified
Added
Removed
  • devel-tools/trunk/eclipse/org.refal.plus.comp.test/src/org/refal/plus/comp/test/Util.java

    r2263 r2371  
    1010import java.util.ArrayList;
    1111
     12import org.refal.plus.comp.CompilerEnvironment;
    1213import org.refal.plus.comp.MsgCode;
    1314import org.refal.plus.comp.MsgHandler;
    14 import org.refal.plus.comp.Parser;
    15 import org.refal.plus.comp.Scanner;
     15import org.refal.plus.comp.RfpParser;
     16import org.refal.plus.comp.RfpScanner;
    1617import org.refal.plus.comp.ast.AstImplem;
    1718import org.refal.plus.comp.ast.AstInterf;
     
    1920
    2021public class Util {
     22
     23        private static final class StringCompilerEnvironment implements
     24                        CompilerEnvironment {
     25                private final Reader reader;
     26
     27                private final MsgHandler handler;
     28
     29                private StringCompilerEnvironment(String input, MsgHandler handler) {
     30                        this.reader = new StringReader(input);
     31                        this.handler = handler;
     32                }
     33
     34                public void ReportImportedModules(String[] moduleNames) {
     35                        throw new UnsupportedOperationException();
     36                }
     37
     38                public Reader getImplemReader() {
     39                        return reader;
     40                }
     41
     42                public Reader getInterfReader() {
     43                        throw new UnsupportedOperationException();
     44                }
     45
     46                public Reader getModuleInterfReader(String moduleName) {
     47                        throw new UnsupportedOperationException();
     48                }
     49
     50                public String getModuleName() {
     51                        return "Test";
     52                }
     53
     54                public MsgHandler getMsgHandler() {
     55                        return handler;
     56                }
     57        }
    2158
    2259        public static void checkMsg(MsgAccumulator msgAcc, MsgCode msgCode) {
     
    2663        }
    2764
    28         public static void checkMsg(MsgAccumulator msgAcc, MsgCode msgCode, String expectedArg) {
     65        public static void checkMsg(MsgAccumulator msgAcc, MsgCode msgCode,
     66                        String expectedArg) {
    2967                assertTrue("There is a message", msgAcc.messages.size() > 0);
    3068                Message msg = msgAcc.messages.get(0);
     
    3674        public static AstImplem parseImplemString(String input,
    3775                        MsgHandler msgHandler) {
    38                 StringReader stringReader = new StringReader(input);
    39                 PushbackReader reader = new PushbackReader(stringReader);
    40                 Scanner scanner = new Scanner(reader, "string", msgHandler);
    41                 return Parser.parseImplem(scanner, "string", msgHandler);
     76                CompilerEnvironment environment = new StringCompilerEnvironment(input,
     77                                msgHandler);
     78                return RfpParser.parseImplem(environment);
    4279        }
    4380
    44         public static AstInterf parseInterfString(String input, MsgHandler msgHandler) {
    45                 StringReader stringReader = new StringReader(input);
    46                 PushbackReader reader = new PushbackReader(stringReader);
    47                 Scanner scanner = new Scanner(reader, "string", msgHandler);
    48                 return Parser.parseInterf(scanner, "string", msgHandler);
     81        public static AstInterf parseInterfString(String input,
     82                        MsgHandler msgHandler) {
     83                CompilerEnvironment environment = new StringCompilerEnvironment(input,
     84                                msgHandler);
     85                return RfpParser.parseInterf(environment);
    4986        }
    5087
    5188        public static Object[] scan(Reader reader, MsgHandler msgHandler) {
    5289                ArrayList<Token> tokens = new ArrayList<Token>();
    53                 PushbackReader pushbackReader = new PushbackReader(reader);
    54                 Scanner scanner = new Scanner(pushbackReader, "string", msgHandler);
     90                RfpScanner scanner = new RfpScanner(reader, "string",
     91                                msgHandler);
    5592                for (;;) {
    5693                        scanner.getNextToken();
    5794                        Token t = new Token(scanner.tkPos, scanner.tk, scanner.tkInt,
    58                                         scanner.tkKind, scanner.tkChar, scanner.tkString, scanner.tkBigInteger);
     95                                        scanner.tkKind, scanner.tkChar, scanner.tkString,
     96                                        scanner.tkBigInteger);
    5997                        if (t.tk == EOP)
    6098                                break;
Note: See TracChangeset for help on using the changeset viewer.