lexical-analysis

    7

    3答えて

    フレックスでは、正規表現の1つの一致に対して複数のトークンを返す必要があります。これを行う方法はありますか?

    5

    1答えて

    Rubyのeachの機能がちょっと混乱しています。私はテキスト行を持っている場合、eachループは、個々の文字ではなくスペースで区切られた単語を私に与えます。 だから、タブ文字で区切られた文字列のセクションを取得する最良の方法は何ですか。現時点では、私は持っています: line.split.each do |word| ... end しかしそれは間違いです。

    14

    10答えて

    最近、私はANTLRの学習を始めました。私は、レクサー/パーサーを一緒に使用してプログラミング言語を構築できることを知っています。 DSLやプログラミング言語以外に、実際の問題を解決するために、レクサー/パーサーツール(およびナレッジ)を直接的または間接的に使用したことがありますか?平均的なプログラマがレクサーやパーサの知識なしにこれらの問題を解決することは可能でしょうか?

    1

    4答えて

    これを編集してVimで編集している間、私はその構文強調表示(いくつかのファイルタイプ)にいくつかの欠陥があることがよくあります。私は現時点では事例を覚えていないが、確かに誰かがそうするだろう。通常、いくつかのケースではひどくハイライトされた文字列と、算術演算子とブール演算子といくつかの小さなものから構成されています。 これで、vimはそのちょっとしたもの(独自のフレーバー)に正規表現を使用します。

    1

    1答えて

    私は、ユーザーが A75PsN A75PS を入力した場合、ユーザは、私が A75PKN のようなものを言う場合、それは でもマッチします [aA][0-9]{2,2}[pP][sS][nN]? { return TOKEN; } のようなlexの正規表現を持っていると仮定それがエラーになり、「キャラクターKが認識されず、S私は、私は周りを取得することができますどのように意味のあるエ

    1

    2答えて

    私の問題は、flex-bison scanner-parserを使ってコード化した問題を実行しようとしていることです。私のプログラムは、ユーザーの入力(私の場合、私が設計しているデータベースシステムのクエリ)、lexと解析を行い、対応するアクションを実行します。実際には、私のパーサー・コードが、私がそれをフィードしている文字列リテラルを正しく解釈していないことが起こります。 は、ここに私のコードで

    3

    4答えて

    私はSebesta bookを読んで、コンパイラはほとんどの時間をソースコードのレキシングに費やしています。したがって、構文解析ツールとは異なり、レクサーを最適化する必要があります。 これが当てはまる場合、一般的な構文解析に比べて、字句解析の段階に時間がかかるのはなぜですか? 私は構文解析によって派生プロセスを意味します。

    5

    3答えて

    私は、パーサージェネレータにFlexとBisonを使用していますが、スキャナの開始状態に問題があります。私がコメントに対処するために排他的なルールを使用していますが、この文法は引用されたトークンと一致していないよう : %x COMMENT // { BEGIN(COMMENT); } <COMMENT>[^\n] ; <COMMENT>\n { BEGIN(INITIAL)

    10

    7答えて

    これは幅広い話題ですが、私は理想的にはPythonの中で、テキストから意味を解析する上で優れたプライマーを探しています。私は、ユーザーが行った場合、行うことを探しているものの一例として、のようなブログ記事:は 軽量何、 「マニー・ラミレスがヒューストン・アストロズに対してドジャースのための彼のリターン今日になります」 /文から名詞を得る簡単な方法?まず、適切な名詞に限定したいと思いますが、それだけ

    2

    2答えて

    flexはUTF-8入力をサポートしていないようです。スキャナがASCII以外の文字を検出すると、スキャナはEOFであるかのようにスキャンを停止します。 フレックスでUTF-8文字を強制的に使用する方法はありますか?私はそれが実際にUTF-8の文字にマッチすることを望んでいません。パターン。 提案がありますか? EDIT 最も簡単な解決策は次のようになります。 '' [\ x00- \ XFF]