Created
January 3, 2017 23:38
-
-
Save bvssvni/d3b9807c4787aaf0ce6f4bd631682514 to your computer and use it in GitHub Desktop.
Syntax for a subset of English that is activity focused
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| _seps: "." | |
| 8 sentence = [activity:"activity" .w? "."] | |
| 9 expression = .s!([.w! {"&":"&" "|":"|"} .w!] activity:"term") | |
| 10 if = [{"if" "when"} .w! expression:"condition" .w! "then" .w! expression:"then" | |
| .r?([.w! "else" .w! "if" .w! expression:"else_if_condition" .w! | |
| "then" .w! expression:"else_if_then"]) | |
| ?[.w! "else" .w! expression:"else"]] | |
| 11 activity = [!{"then" "else" "&" "|"} { | |
| if:"if" | |
| { | |
| [{"do":"do" "does":"does"} objects how ?[.w! to] ?[.w! activity:"activity"]] | |
| [ | |
| ?[ | |
| ![verbs .w!] | |
| items:"subjects" .w! | |
| ] | |
| ?[{ | |
| "will":"will" | |
| "would":"would" | |
| "shall":"shall" | |
| "should":"should" | |
| "can":"can" | |
| "could":"could" | |
| "may":"may" | |
| "might":"might" | |
| "does":"do" | |
| "do":"do" | |
| "did":"did" | |
| "start":"start" | |
| "begin":"begin" | |
| "end":"end" | |
| "finish":"finish" | |
| "continue":"continue" | |
| } ?[.w! "not":"not"] .w!] | |
| { | |
| [verb ?[.w! "with" .w! activity:"with"] how | |
| ?[.w! to] .w! activity:"activity"] | |
| [verb ?[.w! "with" .w! activity:"with"] how] | |
| [!"then " !"&" items:"objects" how] | |
| } | |
| ] | |
| items:"objects" | |
| } | |
| }] | |
| 12 to = {"that" "to" "so" "because":"because"} | |
| 12 filter_items = { | |
| "then" | |
| "that" | |
| "to" | |
| "so" | |
| "will" | |
| "would" | |
| "shall" | |
| "should" | |
| "can" | |
| "could" | |
| "may" | |
| "might" | |
| "do" | |
| "did" | |
| "is" | |
| "are" | |
| "was" | |
| "where" | |
| "now" | |
| "yesterday" | |
| "very" | |
| "early" | |
| "late" | |
| keywords | |
| } | |
| 12 items = [![filter_items .w!] { | |
| [number .w! .._seps!:"item"] | |
| [.._seps!:"item" .w! "and" .w! .s!([.w! "and" .w!] .._seps!:"item")] | |
| .._seps!:"item" | |
| } ?[.w! "or" .w! items:"or"] ?[.w! { | |
| ["but" .w! {"nothing" "none" "not" "no"}] | |
| "except" | |
| } .w! items:"except"]] | |
| 13 number = { | |
| "a":"a" | |
| "the":"the" | |
| "some":"some" | |
| "none":"none" | |
| "few":"few" | |
| "many":"many" | |
| [?[0_999 .w!] "million":"million" ?[?[.w! "and"] .w! 0_999999]] | |
| [?[0_999 .w!] "thousand":"thousand" ?[?[.w! "and"] .w! 0_999]] | |
| [?[0_99 .w!] "hundred":"hundred" ?[?[.w! "and"] .w! 0_99]] | |
| 0_99 | |
| } | |
| 14 0_9 = { | |
| "one":"one" | |
| "two":"two" | |
| "three":"three" | |
| "four":"four" | |
| "five":"five" | |
| "six":"six" | |
| "seven":"seven" | |
| "eight":"eight" | |
| "nine":"nine" | |
| } | |
| 15 0_99 = { | |
| "ten":"ten" | |
| "eleven":"eleven" | |
| "twelve":"twelve" | |
| "thirteen":"thirteen" | |
| "fourteen":"fourteen" | |
| "fifteen":"fifteen" | |
| "sixteen":"sixteen" | |
| "seventeen":"seventeen" | |
| "eighteen":"eighteen" | |
| "nineteen":"nineteen" | |
| ["twenty":"twenty" .w! 0_9] | |
| "twenty":"twenty" | |
| ["thirty":"thirty" .w! 0_9] | |
| "thirty":"thirty" | |
| ["forty":"forty" .w! 0_9] | |
| "forty":"forty" | |
| ["fifty":"fifty" .w! 0_9] | |
| "fifty":"fifty" | |
| ["sixty":"sixty" .w! 0_9] | |
| "sixty":"sixty" | |
| ["seventy":"seventy" .w! 0_9] | |
| "seventy":"seventy" | |
| ["eighty":"eighty" .w! 0_9] | |
| "eighty":"eighty" | |
| ["ninety":"ninety" .w! 0_9] | |
| "ninety":"ninety" | |
| 0_9 | |
| } | |
| 16 0_999 = { | |
| [?[0_9 .w!] "hundred":"hundred" ?[.w! "and" .w! 0_99]] | |
| 0_99 | |
| } | |
| 17 0_999999 = { | |
| [?[0_999 .w!] "thousand":"thousand" ?[.w! "and" .w! 0_999]] | |
| 0_999 | |
| } | |
| 114 how = ?[.w! { | |
| "how":"how" | |
| "who":"who" | |
| "when":"when" | |
| "why":"why" | |
| "what":"what" | |
| "sometimes":"sometimes" | |
| "always":"always" | |
| "never":"never" | |
| "now":"now" | |
| "yesterday":"yesterday" | |
| "tomorrow":"tomorrow" | |
| [?["very":"very" .w!] "early":"early"] | |
| [?["very":"very" .w!] "late":"late"] | |
| [{ | |
| "last":"last" | |
| "next":"next" | |
| } .w! { | |
| "week":"week" | |
| "month":"month" | |
| "year":"year" | |
| "decade":"decade" | |
| "century":"century" | |
| "millenia":"millenia" | |
| }] | |
| }] | |
| 115 keywords = { | |
| "to" | |
| "with" | |
| "how" | |
| "when" | |
| "why" | |
| "what" | |
| } | |
| 116 verbs = { | |
| "think" | |
| "learn" | |
| "ask" | |
| "plan" | |
| "know" | |
| "play" | |
| "teach" | |
| "swim" | |
| "walk" | |
| "win" | |
| "read" | |
| "observe" | |
| "swim" | |
| "walk" | |
| "win" | |
| "improve" | |
| "run" | |
| "compete" | |
| "write" | |
| "eat" | |
| "love" | |
| "sleep" | |
| "trick" | |
| "speak" | |
| "tell" | |
| "believe" | |
| "has" | |
| "want" | |
| "wish" | |
| "dance" | |
| "forget" | |
| "remember" | |
| "communicate" | |
| "store" | |
| "invite" | |
| "lie" | |
| "fight" | |
| "use" | |
| "train" | |
| "who" | |
| "contain" | |
| "fix" | |
| "support" | |
| "understand" | |
| "go" | |
| "figure" | |
| "correspond" | |
| "carry" | |
| "follow" | |
| "lead" | |
| "wait" | |
| } | |
| 117 objects = ?[.w! ![keywords .w!] items:"objects"] | |
| 118 verb = { | |
| think_about:"think_about" | |
| play:"play" | |
| learn:"learn" | |
| ask:"ask" | |
| plan:"plan" | |
| know:"know" | |
| teach:"teach" | |
| think:"think" | |
| read_about:"read_about" | |
| observe:"observe" | |
| swim:"swim" | |
| walk:"walk" | |
| win:"win" | |
| improve:"improve" | |
| run:"run" | |
| compete:"compete" | |
| write_about:"write_about" | |
| eat:"eat" | |
| love:"love" | |
| sleep_over:"sleep_over" | |
| sleep:"sleep" | |
| trick:"trick" | |
| speak:"speak" | |
| tell:"tell" | |
| is:"is" | |
| believe:"believe" | |
| have:"have" | |
| want:"want" | |
| dance:"dance" | |
| forget:"forget" | |
| remember:"remember" | |
| communicate:"communicate" | |
| store:"store" | |
| invite:"invite" | |
| lie_about:"lie_about" | |
| fight:"fight" | |
| use:"use" | |
| train:"train" | |
| contain:"contain" | |
| fix:"fix" | |
| support:"support" | |
| understand:"understand" | |
| go:"go" | |
| turn:"turn" | |
| figure_out:"figure_out" | |
| correspond:"correspond" | |
| carry:"carry" | |
| follow:"follow" | |
| lead:"lead" | |
| wait:"wait" | |
| } | |
| 119 against = ?[.w! { | |
| "against":"against" | |
| "toward":"toward" | |
| "beneath":"beneath" | |
| "above":"above" | |
| "between":"between" | |
| } .w! items:"objects"] | |
| 121 description = { | |
| "right":"right" | |
| "wrong":"wrong" | |
| "naughty":"naughty" | |
| "sticky":"sticky" | |
| "happy":"happy" | |
| "sad":"sad" | |
| "small":"small" | |
| "tall":"tall" | |
| "thin":"thin" | |
| "fat":"fat" | |
| "fresh":"fresh" | |
| "newborn":"newborn" | |
| "young":"young" | |
| "old":"old" | |
| "good":"good" | |
| "evil":"evil" | |
| "hungry":"hungry" | |
| "thirsty":"thirsty" | |
| "sleepy":"sleepy" | |
| "solved":"solved" | |
| "unsolved":"unsolved" | |
| color | |
| temperature | |
| } | |
| 122 color = { | |
| "black":"black" | |
| "white":"white" | |
| "blue":"blue" | |
| "red":"red" | |
| "orange":"orange" | |
| "yellow":"yellow" | |
| "gray":"gray" | |
| "green":"green" | |
| "violet":"violet" | |
| "pink":"pink" | |
| "brown":"brown" | |
| "dark":"dark" | |
| "bright":"bright" | |
| "colorful":"colorful" | |
| } | |
| 123 temperature = { | |
| "warm":"warm" | |
| "cold":"cold" | |
| "stormy":"stormy" | |
| "freezing":"freezing" | |
| } | |
| 124 speed = ?[.w! { | |
| "slow":"slow" | |
| "fast":"fast" | |
| }] | |
| 125 emotion_at = [{ | |
| "jealous":"jealous" | |
| "angry":"angry" | |
| "irritated":"irritated" | |
| "annoyed":"annoyed" | |
| } ?[.w! "at" objects]] | |
| 20 play = "play" | |
| 21 teach = ["teach" objects] | |
| 22 swim = ["swim" speed against] | |
| 23 walk = "walk" | |
| 24 win = ["win" against] | |
| 25 improve = "improve" | |
| 26 run = ["run" against] | |
| 27 compete = ["compete" against] | |
| 28 eat = ["eat" objects] | |
| 29 love = ["love" objects] | |
| 30 sleep = ["sleep"] | |
| 31 sleep_over = ["sleep" .w! "over" .w! "at" objects .w! .._seps!:"place"] | |
| 32 trick = ["trick" objects] | |
| 33 speak = ["speak" objects] | |
| 34 tell = ["tell" objects] | |
| 35 believe = "believe" | |
| 36 is = [?["who" .w!] { | |
| "are":"now" | |
| "is":"now" | |
| "was":"past" | |
| "were":"past" | |
| "be":"future" | |
| } ?[.w! "not":"not"] ?[?[.w! { | |
| "little":"little" | |
| "much":"much" | |
| }] .w! { | |
| "less":"less" | |
| "more":"more" | |
| }] .w! {description emotion_at} | |
| ?[.w! "than":"than" .w! {description emotion_at}]] | |
| 37 have = [{"have" "has"} ?[.w! description] objects] | |
| 38 want = [{"want" "wish"} ?[.w! "for"] ?[.w! description] objects] | |
| 39 dance = "dance" | |
| 40 forget = ["forget" ?[.w! description] objects] | |
| 41 remember = ["remember" ?[.w! description] objects] | |
| 42 communicate = "communicate" | |
| 43 store = ["store" objects] | |
| 44 invite = ["invite" objects] | |
| 45 fight = ["fight" against] | |
| 46 use = ["use" objects] | |
| 47 train = ["train" objects] | |
| 48 contain = ["contain" objects] | |
| 49 fix = ["fix" objects] | |
| 50 support = ["support" objects] | |
| 51 understand = ["understand" objects] | |
| 52 go = ["go" .w! { | |
| "through":"through" | |
| "under":"under" | |
| "over":"over" | |
| "around":"around" | |
| } objects] | |
| 53 turn = "turn" | |
| 54 figure_out = ["figure" .w! "out"] | |
| 55 correspond = "correspond" | |
| 56 carry = ["carry" objects] | |
| 57 follow = ["follow" objects] | |
| 58 lead = ["lead" objects] | |
| 59 wait = ["wait" ?[.w! "for" objects]] | |
| 530 think_about = ["think" .w! "about" objects] | |
| 531 learn = ["learn" objects] | |
| 532 ask = ["ask" objects] | |
| 533 plan = "plan" | |
| 534 know = ["know" objects] | |
| 535 think = ["think" objects] | |
| 536 read_about = ["read" .w! "about" objects] | |
| 537 observe = "observe" | |
| 538 write_about = ["write" .w! "about" objects] | |
| 539 lie_about = ["lie" .w! "about" objects] | |
| 100 document = [.w? .l(sentence:"sentence") .w?] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment