問題タブ [lex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
14667 参照

c - lex で yy_scan_string を使用する方法

yacc のメイン関数でパーサーに渡した文字列を解析したい。これを使用して実行できることyy_scan_stringは知っていますが、使用方法がわかりません。Web と man ページを検索しましたが、まだ明確ではありません。私を助けてください。

0 投票する
1 に答える
3447 参照

yacc - ファイルではなく文字列から解析する方法

重複の可能性:
Lex&Yacc(Solaris)でYY_INPUTがstdinではなく文字列を指すようにする方法

ファイルではなく文字列から解析したい。私はvがyy_scan_stringfnを使用してそれを行うことができることを知っていますが、私にとっては正しく機能していないので、plsは私を助けます

0 投票する
5 に答える
11347 参照

c - Lex & Yacc (Solaris) で YY_INPUT が stdin ではなく文字列を指すようにする方法

yylex()ファイルや標準入力ではなく文字列を解析したい。Solaris で提供されている Lex と Yacc を使用してこれを行うにはどうすればよいですか?

0 投票する
2 に答える
938 参照

solaris - YY_BUFFER_STATE を含めるために、lex & yacc (solaris) でリンクする必要のあるライブラリ

YY_BUFFER_STATE を含めるために、lex & yacc (solaris) でリンクする必要があるライブラリ。lexでYY_BUFFER_STATEを使用してコンパイルすると、宣言されていないというエラーが表示されますが、unixで実行すると出力が得られるので、plsが助けてくれます。

0 投票する
5 に答える
182 参照

python - 数式を解析するには、Lex または自家製のソリューションを使用する必要がありますか?

私は小さなルールベースの「数学」エンジンを書いているところです。これではわかりにくいと思いますので、簡単な例を示します。

整数を保持する変数 a があるとします。数値に適用できる関数もいくつかあります。

  • sqr- 数を二乗する
  • flp- 数値のビットを反転する
  • dec- 数を減らす
  • inc- 数を増やす

次に、 と言うことができますdo_formula(a, "2sqr+inc+flp")。a が 3 の場合、それを 2 乗し (81)、インクリメントし (82)、そのビットを反転します (~82 - 符号付き整数を扱う場合は -83 だと思います)。

数式を解析する最良の方法は何でしょうか? それは比較的単純で、すべてのオペコードを 3 文字にすることを考えています... Lex を使用するのはやり過ぎでしょうか? シンプルな自作のソリューションを作成するか、まったく別のものを使用する必要がありますか?

上記の例はばかげていると思います。私はそれを行う計算機を構築していませんが、それは私がやろうとしていることを十分に示しています.

0 投票する
1 に答える
2863 参照

javascript - Javascript レクサー/トークナイザー (Python で?)

Javascript字句解析器またはトークナイザーを知っている人はいますか(できればPythonで?)

基本的に、任意の Javascript ファイルを指定して、トークンを取得したいと考えています。

例えば

フー=1

次のようになります。

  1. 変数名:「foo」
  2. 空白
  3. 演算子 : 等しい
  4. 空白
  5. 整数: 1
0 投票する
6 に答える
102432 参照

c - flex/lex の文字列リテラルの正規表現

私はフレックスを学ぶために実験していて、文字列リテラルを一致させたいと思っています。私のコードは現在次のようになっています:

私は 1 時間ほどバリエーションに苦労してきましたが、本来の方法で動作させることができません。私は基本的に、改行を含めることができず (エスケープされていない限り)、エスケープされた文字をサポートする文字列リテラルに一致することを望んでいます。

私はおそらく、貧弱な正規表現を書いているか、flex と互換性のない正規表現を書いているだけです。お知らせ下さい!

0 投票する
4 に答える
1052 参照

user-interface - コンパイラ用の GUI を作成する方法は?

私はflexを字句アナライザーとして、bisonをパーサージェネレーターとして使用していますが、両方の結果はコンソールウィンドウであり、そのためのGUI(ideなど)が必要なので、それを行う方法. ありがとう

0 投票する
1 に答える
334 参照

lex - この (f)lex スニペットのどこに構文エラーがありますか?

私はフレックスを使ってレクサーをやっていて楽しい時間を過ごしています。問題は、コード エディターがファイルの構文に色を付けず、ルールにエラーがあるように見えることです。一重引用符と二重引用符を間隔内で使用する方法がよくわからないので、そのスニペットを共有したいと思います。

Flex は、回線に「認識されないルール」があることを教えてくれますutf8_decode。ルール全体を削除すると、再び問題が発生しなくなります。

ここで私が間違っていることを誰かに教えてもらえますか?