POJ (JVM 上の Pascal) に従わない人のために説明すると、これは、JVM を実行環境として使用できるように、サブセットを Pascal から JASM (Java アセンブリ) に変換するコンパイラーです。
前回の投稿では、コンテキスト (parserから) とネストされた文について説明しました。この出版物では、Pascal.関数read/readlnを使用して、標準入力(stdin
)からデータを読み取れるようにするために必要な変更について説明します。JVM 用にコンパイルしているので、この素晴らしい仮想マシンのさまざまな点の機能を詳しく説明する必要があります。したがって、私はさまざまな機会に、JVM の内部動作とその命令 (オペコード) の一部について詳しく説明します。
標準入力(stdin) は、プログラムが入力データを読み取るストリームです。これまではstdout(標準出力) のみをサポートしていました。この
commitでは、JVM がstdin:をどのように処理するかを理解するために Java プログラムが実装されました。リーリー
class
アセンブリが得られます。無関係なスニペットは省略され、アセンブリを生成した元のスニペット (Java 内) が ";;":で挿入されました。リーリーこの例では、
stdin
System.console().readLine()を使用する必要があることがわかりました (行 11 と 16)。そしてreadLine()は文字列を返すため、数値を読み取るには関数Integer.parseInt(17 行目) を使用して変換する必要がありました。とはいえ、以下の Pascal プログラムから:リーリー
POJ は次の JASM を生成するように調整されました:
リーリー
PR全文はこちらです
次のステップ
次回の出版物では、このプロジェクトの目的の 1 つである階乗を再帰的に計算することを完了します。
プロジェクトの完全なコードとドキュメントを含むリポジトリはここにあります。
以上が標準入力 (stdin) からのデータの読み取りの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。