JavaCC - 信号 EOL Mac 终端
JavaCC - Signal EOL Mac Terminal
我刚刚安装了 JavaCC 并正在尝试 运行 提供的示例程序之一 (Simple1)。我编译得很好,但是当我 运行 它时,我遇到了一个小问题。我指定输入,按回车键,但它不认为这是该行的结尾。
我在网上到处都看到它说 'ctrl+D' 会强制程序读取我的输入,但在我的 Mac 上它会退出程序。同样,'cmd+D' 似乎只是拆分终端 window?
如有任何帮助,我们将不胜感激。
谢谢。
编辑:例子如下
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() ] "}"
}
解决方法是使用cmd+D。虽然这似乎是在没有输出的情况下退出程序,但这是由于我的代码的性质,它需要 EOL EOF 结束,而不仅仅是 EOL 或 EOF。
我刚刚安装了 JavaCC 并正在尝试 运行 提供的示例程序之一 (Simple1)。我编译得很好,但是当我 运行 它时,我遇到了一个小问题。我指定输入,按回车键,但它不认为这是该行的结尾。
我在网上到处都看到它说 'ctrl+D' 会强制程序读取我的输入,但在我的 Mac 上它会退出程序。同样,'cmd+D' 似乎只是拆分终端 window?
如有任何帮助,我们将不胜感激。
谢谢。
编辑:例子如下
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() ] "}"
}
解决方法是使用cmd+D。虽然这似乎是在没有输出的情况下退出程序,但这是由于我的代码的性质,它需要 EOL EOF 结束,而不仅仅是 EOL 或 EOF。