2016-04-15 24 views
0

JavaCCをインストールしたばかりで、提供されているサンプルプログラム(Simple1)の1つを実行しようとしています。私はそれをうまくコンパイルしましたが、私がそれを実行するとき、私は小さな問題があります。私は入力を指定し、Enterを押しますが、これは行末として認識されません。JavaCC - シグナルEOL Mac端末

どこでもオンライン「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() ] "}" 
} 
+0

コンパイルしようとしているコードのサンプルを表示できますか? – Cloxure

+0

JavaCCのサンプルとして提供されているSimple1.jjだけです。質問に追加されました! – fierynot

+0

"return"(または "enter")キーは改行文字( "\ n")を与えます。 cntl-DはEOF用です。 –

答えて

0

溶液はCMD + Dを使用していたが、次のように例があります。これは出力なしでプログラムを終了するように見えましたが、これはEOLまたはEOFの代わりにEOL EOFが必要なコードの性質によるものです。

関連する問題