lexer

    0

    1答えて

    私はJavaScriptに移植するレクサー(source)を理解しようとしています。入力からのデータがどのようにバッファに読み込まれるか理解していません。それは標準的なレクサーだから、誰かが私に何が起こっているのかのヒントを教えてくれることを願っている。#919。 問題のスニペット: register char *dest = yy_current_buffer->yy_ch_buf; regi

    0

    1答えて

    レクサーで例外をキャッチするにはどうすればよいですか?パーサにはルールが失敗した(または指定された入力ストリームとの不一致)されている場合ANTLRは例外をスローします、我々は簡単にこのexception.CatchにAntlr3.Refでレクサーで例外をキャッチすることができます:Error handeling in antlr 3.0 ... attribute : Value1

    1

    1答えて

    私はC++を使用してChip-8アセンブリ用のレクサーを作成していますが、常に3番目のトークンをスキップします。 例えば(My機能アセンブリの一行を読み込む) ADD V1,V2 それだけV2をスキップし、トークンとして、V1を追加見つけます。 同じ DRW V3,V4,2 それだけDRW、V3、V4 はどこ私は間違っ見つけましたか? #include <fstream> #include <s

    0

    1答えて

    私はいくつかのツールが、例えば簡単に文脈自由な文法を定義して、例えばDSLを定義できることを知っています。 しかし、文脈自由文法を解析できるツールはありますか?

    0

    1答えて

    私は小さな言語を書いており、私のツールとしてantlrv4を使用しています。 Antlrは、文法ファイル(.g4)をコンパイルするときに、レクサーファイルとパーサファイルを自動生成します。私はjavac btwを使用しています。私は自分の言語にセミコロンがないようにしたい、そして、これをやりたいのは、行内の最後のトークンとして識別子または ")"がある場合、レクサーは自動的にセミコロン( "go"

    0

    1答えて

    私はANTLR 4.5でレクサーを書くことを学び始めています。ドキュメントとして機能するthis pageから、more、pushMode(x)、popMode、type(x)、channel(x)、mode(x)、skipというLexerコマンドが存在することがわかりました。 私はその機能をはっきりと理解できませんでした。 これは、現在のトークンに読み込まれているすべての文字をスキップし スキッ

    0

    1答えて

    私は好奇心のためにおもちゃの言語を書いています。私は、いくつかの正規表現を使用してトークンを作成するための関数レクサーを作成しました。 パフォーマンスの観点からは、文字コードごとにソースコードをループして、トークンを見つけ出すのがより速く/より効率的ですか、正規表現に固執すべきですか? 「適切な」レクサーがどのように実装されているのか不思議です。

    0

    1答えて

    私はRustにレクサーを作成しようとしていますが、C/C++ではバックグラウンドで比較的新しいです。私は、 "借用されたコンテンツから移動できません"というエラーを生成する次のコードで、Rustがメモリをどのように割り当てているかに問題があります。私はcargo --explain E0507を読んでいますが、これは可能な解決方法を詳しく説明していますが、私はRustとC/C++がメモリを管理する

    0

    1答えて

    BLOCK_COMMENT : '/*' .*? '*/' -> skip; EOL_COMMENT : '//' ~[\r\n]* -> skip; WS: [ \n\t\r]+ -> skip; program: usingDirectives? EOF; usingDirectives: usingDirective+; usingDirective: USING