Любой персонаж, кроме

#ocaml #ocamllex #sedlex

Вопрос:

Я определил токен для ocamllex let non_line_termination_character = [^ 'x0D' 'x0A'] , который представляет любой символ, отличный от 'x0D' и 'x0A' .

Теперь я хотел бы перевести это на sedlex.

Кто-нибудь знает, как это правильно перевести? Должен ли я использовать SUB (например, SUB(SUB(any, 'x0D'), 'x0A') или SUB(any, ('x0D' | 'x0A')) )?

Ответ №1:

Это соответствует Compl описанию в документации sedlex

 Compl  ('x0D' | 'x0A')
 

См. также пример на https://github.com/ocaml-community/sedlex/blob/master/examples/complement.ml .