flexer.flex 578 B

123456789101112131415161718
  1. // Flexer generator's input own lexer specification
  2. line-comment -> "//[^\n\r]+" flex-skip .
  3. block-comment -> "/\*(?ms:.)*?\*/" flex-skip .
  4. dot -> '\.' .
  5. literal-string -> `"` flex-esc-string .
  6. literal-raw -> "`" flex-string .
  7. literal-char -> "'" flex-string .
  8. terminal -> "[[:lower:]][[:alnum]_-]+" .
  9. epsilon -> "(?:epsilon|ε)" .
  10. arrow -> "(?:->|→)" .
  11. flexer-keyword -> "flex-skip|flex-string|flex-esc-string" .
  12. whitespace -> "[ \t\n\r]+" flex-skip .
  13. flexer-action -> `@{(?ms:.)*?}@`
  14. @{
  15. // This is the rule action.
  16. @ { } @
  17. }@
  18. .