-3

プログラミングの概念で私がやっていることのいくつかは、私の父の頭を超えています。なぜなら、次世代は前の世代よりも賢くなることが期待されているからです。いずれにせよ、私は 12 月 2 日までに終わらせなければならないプロジェクトに取り組んでいます。かなり複雑です。これは、Eiffel として知られる基本言語のパーサーおよび語彙アナライザーであるはずです。これまでのところ、教授の Web サイトとサンプル ファイルの助けを借りて、すべてのコンパイル エラーを修正しました (Ada に関する本で、パーサーや字句解析器の作成方法が説明されていることはないと思います)。exe をビルドして実行したところ、次のようなエラーが表示されることがわかりました。

raised SYSTEM.ASSERTIONS.ASSERT_FAILURE : failed precondition from lexical_analyzers.ads:20

この zip ファイル内の lexical_analyzers.ads のコードで指定されています。

https://drive.google.com/file/d/0B3ZPyNRv7C3heEN1cnU3dVFOZmM/view?usp=sharing

20 行目、おそらくその上の 17 行目でエラーが発生しています。これは、parser.adb ファイルの書き方に関係している可能性があります。この言語は、本体ファイルを作成する前に仕様ファイルを作成する必要があるという点で C 言語と非常によく似ており、コーディング中に行ったり来たりすることがあります。parser.adb ファイルに書いたすべてのメソッドを parser.ads ファイルにも指定する必要がありますか? 私はそう思います、それが言語の仕組みです。なぜこのエラーが発生するのかについて、他に何か考えはありますか?

4

1 に答える 1