forked from sipa/gramtropy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
failmail.gram
30 lines (22 loc) · 1.54 KB
/
failmail.gram
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Author: Andrew Poelstra
# Updated to new gramtropy by Pieter Wuille
s = " ";
letter_s = "s";
article = "the" | "some" | "this" | "that" | "his" | "her" | "their";
connect = "still" | "and" | "but" | "thus" | "hence" | "yet" | "considering" | "while" | "so";
noun = "ailment" | "failure" | "mail" | "quail" | "pail" | "bale" | "dale" | "gale" | "grail" | "hail" | "jail" | "nail" | "sail" | "sale" | "scale" | "snail" |
"tail" | "tale" | "trail" | "rail" | "cocktail" | "monorail" | "thumbnail" | "ale" | "bobtail" | "flail" | "hangnail" | "hobnail" | "pigtail" | "whale" |
"toenail" | "topsail" | "kale" | "nightingale" | "resale" | "tattletale" | "timescale" | "vale";
adjective = "ailing" | "failing" | "wailing" | "whaling" | "stale" | "railing" | "male" | "female" | "braille" | "pale" | "shale" | "frail" | "retail" |
"emailing" | "derailing" | "downscale" | "telltale" | "upscale" | "wholesale" | "flailing";
verbnontransplur = "prevail" | "travail" | "exhale" | "wail" | "fishtail" | "dovetail" | "bail";
verbnontrans = verbnontransplur letter_s;
verbplur = "avail" | "fail" | "derail" | "email" | "detail" | "blackmail" | "entail" | "curtail" | "bewail" | "assail" | "impale";
verb = verbplur letter_s;
nounplur = noun letter_s;
nounpart = article s (adjective s)? noun;
nounpartplur = ((article s)? adjective s) nounplur;
sentencepart = nounpart s (verb (s nounpart)? | verbnontrans) |
nounpartplur s (verbplur (s nounpartplur)? | verbnontransplur);
sentence = sentencepart (s connect s sentencepart)*;
main = sentence;