JavaCC - 信号EOL Mac终端

时间:2016-04-15 17:50:35

标签: macos javacc

我刚刚安装了JavaCC,并尝试运行其中一个提供的示例程序(Simple1)。我编译得很好,但是当我运行它时,我遇到了一个小问题。我指定输入,按回车但它不会将此识别为行的结尾。

网上到处都看我说'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() ] "}"
}

1 个答案:

答案 0 :(得分:1)

解决方案是使用cmd + D.虽然这似乎没有输出退出程序,但这是由于我的代码的性质,它需要EOL EOF结束,而不仅仅是EOL或EOF。