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.