我刚刚安装了JavaCC,并试图运行一个提供的示例程序(Simple1)。我编译得很好,但是当我运行它时,我有一个小问题。我指定输入,按enter,但它不承认这是行的末尾。
我在网上到处看,上面写着'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() ] "}"
}发布于 2016-04-23 18:14:15
解决方案是使用cmd+D,虽然这似乎是在没有输出的情况下退出程序,但这是由于我的代码的性质,它要求EOL EOF结束,而不仅仅是EOL或EOF。
https://stackoverflow.com/questions/36653769
复制相似问题