Я только что установил JavaCC и пытаюсь запустить одну из предоставленных программ-примеров (Simple1). Я скомпилировал это хорошо, но когда я запускаю его, у меня есть небольшая проблема. Я указываю ввод, нажимаю enter, но он не распознает это как конец строки.JavaCC - Signal EOL Mac Terminal
Везде онлайн Я смотрю, что «ctrl + D» заставит программу читать мой ввод, но на моем Mac он выходит из программы. Аналогично, «cmd + D», похоже, просто разбивает окно терминала?
Любая помощь была бы принята с благодарностью.
Спасибо.
Изменить: Пример выглядит следующим образом
PARSER_BEGIN(Simple1)
/** Simple brace matcher. */
public class Simple1 {
/** Main entry point. */
public static void main(String args[]) throws ParseException {
Simple1 parser = new Simple1(System.in);
parser.Input();
}
}
PARSER_END(Simple1)
/** Root production. */
void Input() :
{}
{
MatchedBraces() ("\n"|"\r")* <EOF>
}
/** Brace matching production. */
void MatchedBraces() :
{}
{
"{" [ MatchedBraces() ] "}"
}
Можете ли вы показать образец кода, который вы пытаетесь скомпилировать? – Cloxure
Это просто Simple1.jj, который поставляется в качестве примера с JavaCC, он добавлен в вопрос! – fierynot
Клавиша «return» (или «enter») даст вам символ новой строки («\ n»). cntl-D - для EOF. –