Доступ к списку в списке - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь настроить сканер для распознавания токенов, и проблема в том, что когда я его печатаю, я получаю следующий вывод.

[[@-1,0:6='PROGRAM',<1>,1:0], [@-1,8:11='sqrt',<2>,1:8], [@-1,13:17='BEGIN',<1>,2:0]

Но мне нужен вывод, аналогичный приведенному ниже:

PROGRAM

sqrt

BEGIN

Я также перечислил мой код ниже:

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);


            do {

                System.out.println((lexer.getAllTokens()));
                System.out.println("Value:" + lexer.getAllTokens());

                i++;



            }
            while(lexer.getAllTokens() == null);

        }
}

1 Ответ

0 голосов
/ 11 февраля 2020

В качестве альтернативы вы можете использовать это регулярное выражение для фильтрации значений /\'(.*?)\'/g

Вы можете использовать StreamAPI в сочетании с регулярным выражением для выполнения работы: https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html

...