Чтение .micro файла в качестве ввода из командной строки для программы JAVA - PullRequest
0 голосов
/ 12 февраля 2020

Во-первых, моя программа не компилируется, и я не знаю почему. Он работает в среде IDE, но не работает в командной строке.

Я использовал следующую команду для компиляции программы: javac имя_программы. java

Это выдает следующую ошибку:

  Driver.java:66: error: cannot find symbol

            little lexer = new little(input);
            ^
  symbol:   class little
  location: class Driver
  Driver.java:66: error: cannot find symbol
            little lexer = new little(input);
                               ^
  symbol:   class little
  location: class Driver
  Note: Driver.java uses or overrides a deprecated API.
  Note: Recompile with -Xlint:deprecation for details.
  2 errors

Это код, который я написал для программы:

public class Driver {

public static void main(String[] args) throws Exception{


    // TODO Auto-generated method stub

    ANTLRInputStream input = new ANTLRFileStream("sqrt.micro");
    little lexer = new little(input);
    //CommonTokenStream tokens = new CommonTokenStream(lexer);





       while(true){

        String token_type = "";
        Token token = lexer.nextToken();

        if (token.getType() == lexer.EOF) {
            break;
        }

        token_type += ( "Token Type: " + indexToToken(token.getType()) + "\n" );
        token_type += ( "Value: " + token.getText());
        System.out.println(token_type);


         }   



    }

private static String filetoString(String filepath) {
    // TODO Auto-generated method stub
    String file = "";

    try {
        file = new String(Files.readAllBytes(Paths.get(filepath)));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return null;
}

private static String indexToToken(int type) {
    switch(type) {
    case 1: return "KEYWORD";
    case 2: return "IDENTIFIER";
    case 3: return "OPERATOR";
    case 4: return "STRINGLITERAL";
    case 5: return "INTEGER";

    default: return "no match";

    }

}

}

Наряду с этим я хотел бы заменить .micro-файл для входного текстового файла, прочитанного из командной строки.

...