標準入力 (stdin) からのデータの読み取り

王林
リリース: 2024-08-07 08:30:52
オリジナル
298 人が閲覧しました

Lendo dados da entrada padrão (stdin)

POJ (JVM 上の Pascal) に従わない人のために説明すると、これは、JVM を実行環境として使用できるように、サブセットを Pascal から JASM (Java アセンブリ) に変換するコンパイラーです。

前回の投稿では、コンテキスト (parserから) とネストされた文について説明しました。この出版物では、Pascal.関数read/readlnを使用して、標準入力(stdin

)からデータを読み取れるようにするために必要な変更について説明します。

JVM 用にコンパイルしているので、この素晴らしい仮想マシンのさまざまな点の機能を詳しく説明する必要があります。したがって、私はさまざまな機会に、JVM の内部動作とその命令 (オペコード) の一部について詳しく説明します。

stdin(標準入力) からのデータの読み取り

標準入力(stdin) は、プログラムが入力データを読み取るストリームです。これまではstdout(標準出力) のみをサポートしていました。この

commit

では、JVM がstdin:をどのように処理するかを理解するために Java プログラムが実装されました。リーリー
class

ファイルを逆アセンブルすると、以下の

アセンブリが得られます。無関係なスニペットは省略され、アセンブリを生成した元のスニペット (Java 内) が ";;":で挿入されました。リーリーこの例では、
stdin

からデータを読み取るには、命令

System.console().readLine()を使用する必要があることがわかりました (行 11 と 16)。そしてreadLine()は文字列を返すため、数値を読み取るには関数Integer.parseInt(17 行目) を使用して変換する必要がありました。とはいえ、以下の Pascal プログラムから:リーリー

POJ は次の JASM を生成するように調整されました:


リーリー

このコミットは、POJ パーサーに必要な変更を実装します。


PR全文はこちらです

次のステップ

次回の出版物では、このプロジェクトの目的の 1 つである階乗を再帰的に計算することを完了します。

完全なプロジェクトコード

プロジェクトの完全なコードとドキュメントを含むリポジトリはここにあります。

以上が標準入力 (stdin) からのデータの読み取りの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!