私はboost :: spirit :: lexを使ってレクサーを書いていますが、私が見つけることができるすべての例は、まずファイル全体をRAMに読み込んだと仮定しているようです。 RAM全体に文字列全体を必要としないレクサーを書いてみたいと思いますか?それとも別のものを使う必要がありますか?Boost :: Spirit :: Lexを使ってファイル全体を最初にメモリに読み込まずにレックスする方法は?
私はistream_iteratorを使用しようとしましたが、反復子の型としてconst char *を使用しない限り、boostは私にコンパイルエラーを与えます。
私が見つけることができるすべての例は、基本的にこれを行います:また、どのようにしてlexトークンから行番号/列番号を決定することはできますか?
ありがとうございます!
+1、はい、スピリットドキュメントの新しい例は素晴らしいでしょう:) – Viet
私はそれを実際に行いました。 Boost V1.47には、このようなトークンタイプと、それを使用する方法を示す新しい例があります。 – hkaiser
ありがとうございました!新しいスピリットでブースト1.47のリリースを楽しみにしています! – Viet