3

独自のスクリプト言語でコンパイラのようなアプリを構築しています。ユーザーがコードを入力すると、別のアプリが出力されます。そのため、一部の行が間違っているかどうか、およびその理由をユーザーに伝える必要があります。

でも、どうやって始めたらいいのかわからない。

私はこれを考えました:変数で始まる行を除いて、すべての行はキーワードで始まります。とても違うので間違っています。したがって、次の有効なエントリを計算して確認できます。

また、一行ずつ確認できると思っていたのですが、これができるので複雑です。

var varName { /* ... */ };

または

var varName {
/* ... */
};

あるいは

var varName
{
/* ... */
};

それでは、ブレークラインを削除してチェックしてみませんか? この場合、最も重要な行番号が失われるためです。たぶん、ブレークラインがあるコードとないコードの間のマップを作成するつもりです。

しかし、あなたがすでにこの経験を持っているか、何かアイデアを持っているなら、まずあなたの話を聞きたいです.

ありがとう

4

3 に答える 3

1

lexbisonおよびのようなツールをチェックする必要がありyaccます。

lex字句解析ジェネレーターです。スクリプトをトークン (数字、キーワードなど) に分割するために使用できるコードを生成します。

bisonyaccは両方ともパーサージェネレーターです。どちらも、言語を解析するためのコードを生成するために使用できます (トークンをステートメントに結合します)。

これらのツールのチュートリアルをグーグルで検索してください。

于 2013-05-12T21:55:46.227 に答える