2

ホスト言語としてCを使用してragelを使用しています。

'\ n'で改行を認識できますが、代わりにファイルの先頭を認識する必要があります。

正規表現の他の実装では、これは\Aまたはによって指定できますが、他の目的のために予約されており、他の何か(アラーム?)にマップされ、パーサーエラーが発生します。$$'\A'\A

4

2 に答える 2

5

そのためのエスケープシーケンスはないと思います。ただし、Ragelのts変数が0に等しいかどうかを確認することで検出できます。

于 2012-06-13T14:33:43.770 に答える
0

テキスト形式の場合3つの選択肢があります。

  • 古いmacからnr9 \n\r(およびCommodore、Apple II、Microware OS-9)

  • Unicesと新しいMacOSX \n(およびBeOS、AmigaOS、MorphOS、RISC OS、Multics)

  • Windowsは\r\n(およびDOS、OS / 2、Symbian、DEC RT-11)を使用します

行末を定義するRagelで

endline = ( "\r" | "\n" )+ @{ increase_line_number; };

行の開始が始まっています(any - endline)

于 2017-03-10T19:50:54.950 に答える