Skip to content

Practical Grammar

Rule Grammar

rules:
  - id: <string>              # optional if name exists
    name: <string>            # optional if id exists

    rewrite: # optional
      match: # optional but recommended
        tokens: ...
        gloss: ...
        surface: ...
      between:
        length: <int>         # optional
      delete: ...
      before: ...
      after: ...
      gloss: ...
      insert: ...
      regex_sub: ...
      split: ...

    merge: # optional
      match:
        tokens: ...

In practice, a correction rule is interpreted as a sequence of items : if rewrite.delete exists, the engine creates a deletion rule ; if rewrite.insert exists also, it creates an insertion rule ; similarly for regex_sub, split, etc.

So, a single YAML item can generate multiple Java rules.