2012-04-06 53 views
2

我正在使用ragel与C作为主机语言。匹配文件的开头或换行符(Ragel)

我可以简单地用'\ n'来识别换行符,但我需要将文件的开头识别为替代。

在正则表达式,这可以通过\A$给予的其他实现,但$被保留用于其它目的,'\A'映射到别的东西(报警?)和\A给出了解析错误。

回答

5

我不认为有一个逃生序列。但是,您可以通过检查Ragel的ts变量等于0

0

在文本格式检测它,你必须选择3:

  • 旧的Mac到NR 9 \n\r(和准将,苹果II,制Microware OS- 9)

  • Unix变新的Mac OS X \n(和BeOS的,AmigaOS,MorphOS,RISC OS,Multics中)

  • Windows使用\r\n(和DOS,OS/2 ,Symbian和DEC RT-11)

在线路的Ragel限定端

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

线的开始begining (any - endline)