如何匹配文件结尾?

时间:2018-01-09 04:23:46

标签: eof ragel

我想匹配换行符(" \ n"),分号(&#34 ;;")或eof作为语句的有效结尾。前两个是显而易见的,例如。

eos = "\n" | ";";

但我不确定如何以同样的方式与eof匹配。

有没有办法与eof匹配?我想知道empty是否可行,但我不确定如何使用它。

1 个答案:

答案 0 :(得分:1)

这是一台小型机器,对句末结束符或EOF采取行动。

%%{
    machine test;

    eos = (';' | '\n') ${ /* terminator code here */ } >eof{ /* eof code here */ };
    main := ('a' 'b' eos)*;

    write data;
    write init;
    write exec;

}%%