トークンを消費しないようにAntLRに指示する方法 -- antlr フィールド 関連 問題

How to tell ANTLR not to consume token












0
vote

問題

日本語

トークンを消費しないようにAntlrに言うことは、むしろそれをスキップしてから後者に戻ってくると言えますか? 私はHaskellのようなリストの構築を評価し、新しく形成されたリストを印刷しようとしています EX:[2X + 3 | x< -list1]。だから私が最初にlist1を読み、それから戻ってきて、表現2x + 3を評価することです。

それをする方法の提案は?

英語

How can i tell Antlr not to consume a token, rather just skip it and then come back to it latter? I am trying to evaluate Haskell-like list building and print the newly formed list ex: [2x+3| x<-list1]. so what i need is to first read list1, then come back and evaluate the expression 2x+3.

Any suggestions of how to do that?

</div
  

回答リスト

0
 
vote

私は数年間でAntlrを使用していませんが、AntLRのアクションを覚えているものから、中間結果を変数に保存して後で参照できます。その場合は、 2x+3 をいくつかの中間変数に保存することができます。 list1 を読み込んで、保存した中間値を評価することができます。必要な文脈

 

I haven't used ANTLR in a few years, but from what I remember ANTLR actions let you store intermediate results in variables, and reference them later. In that case, you can store 2x+3 in some intermediate variable, then once you've read list1 you can go back and evaluate the intermediate value you stored since you now have the necessary context.

</div
 
 

関連する質問

1  誰もが.NETと連携するようにAntLRを正しくインストールする方法を知っていますか?  ( Does anybody know how to correctly install antlr to work with net ) 
AntLR出力C#StringTemplateまたは任意のテキストを使用して、yacc / bisonのように任意のテキストを使用するか、それはJavaに出力されますか?私が見た例から、それは非常にJava中心のツールであるようです。 ...

0  パーサーは、改行を無視するようにレクサーに語ることができますか?  ( Can a parser tell the lexer to ignore a newline ) 
私は私の言語のためにプリプロセッサを書いています。プリプロセッサでは、ソースファイルにない行を出力します。これにより、ANLTRが1行ずつ増分されるエラーメッセージが発生します。 レクサーはラインカウントを処理しているので、パーサーがラインカウントを減らすよう...

1  隠されたトークンはデフォルトのチャネルに - AntLRV3へ  ( Hidden token into default channel antlrv3 ) 
隠しチャンネルに白いスペース(WS)があるとします。と 特定の規則のみで、私はまた考慮されるべき白いスペースが欲しい、 パーサーのその特定の規則のみのために、WSをデフォルトのチャネルに持ち込むことはできますか? ...

1  Antlr端末を正規表現から区別する方法  ( Antlr how to distinguish terminal from regex ) 
次の単純化された文法を考えてみましょう: <事前> <コード> ID : ('a'..'z') ('a'..'z')*; TYPE : 'int' '[' ']' | 'boolean' | 'int'; ...

0  ANTLRはバイソン拒否行動と同等ですか?  ( Antlr equivalent to bison reject action ) 
Name=Value ペアのリストを解析しようとしています。ここで、値は空白を除くものを含むことができます(すなわち、値に等号を含むことができる)。 名前は通常の識別子文字に制限されています。 問題は、 'Value'トークンがすべてに一致します。たとえば...

1  ANTLR3パーサーパスコマンドシェル  ( Antlr3 parser path command shell ) 
コマンドシェルを解析する必要があります。 <事前> <コード> cp /home/test /home/test2 私の問題は正しいパス解析にあります。 ルールを定義しました(パスとしてトークンを使用できませんが、パーサーに定義する必要があります): <事...

2  ANTLR V3に基づく成熟コンパイラ  ( Mature compilers based on antlr v3 ) 
AntLRに基づく言語実装を参照しているため、成熟した(そしてオープンソース)はありますか? C / C ++を出力としてターゲットにするDSL、またはC / C ++をターゲットにする言語のコードを本当に読みたくありません。私が後に私が何をターゲットにして...

1  Antlr Dターゲット - そこにある成熟した実装はありませんか?  ( Antlr d target any mature implementations out there ) 
成熟したANTLR Dターゲットはあります(または少なくともアルファとして分類されません)。おそらく、使用中の既存のSourceForgeホストターゲットの良好な動作例がありますか? ...

0  XText文法を宣言しながら3つ以上のオプションが機能していません  ( More than 3 options are not working while declaring xtext grammar ) 
特に3以上の記号を使用する場合は特に <事前> <コード> datatype: Integer | Float | Char | Blah | Blah entity: Class | Struct | Enumeration | Union ...

4  AntLR:Commontreeから便利なオブジェクトグラフへ  ( Antlr from commontree to useful object graph ) 
私は今日AntLRを使い始め、基本的なパーサーを作成しました。 解析後、私はツリーで終わります。私にとっては、 sendPhotos() { console.log("Je suis passé par là: sendPhotos"); th...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有