Повторное использование лексера и парсера ANTLR3 - PullRequest
0 голосов
/ 06 декабря 2011

Я создаю входной поток из строки с

pANTLR3_UINT8 input_string = (pANTLR3_UINT8) "test";
pANTLR3_INPUT_STREAM stream = antlr3StringStreamNew(input_string, ANTLR3_ENC_8BIT, sizeof(input_string), (pANTLR3_UINT8)"testname");

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

Я нашел reset метод классов лексера и анализатора и reuse метод потока, но как я могу использовать их для анализа новой строки?

1 Ответ

1 голос
/ 06 декабря 2011

Я считаю, что вам нужна функция setCharStream().

...