#include #include "html.pbi" #ifndef FRIEND #define FRIEND "friend" #endif #ifndef ACTOR #define ACTOR "actor" #endif #ifndef MOVIE #define MOVIE "movie" #endif #ifndef DIRECTOR #define DIRECTOR "director" #endif entry: TITLE(title(opinion)>upcase-first) review ; review: introduction(opinion) BRK discuss(opinion) PBRK @opinion>make-paragraph | introduction(opinion) PBRK @opinion>make-paragraph BRK discuss(opinion) | introduction(opinion) BRK @opinion>make-paragraph | introduction(opinion) BRK discuss(opinion) | intro(movie)>upcase-first ". " no-opinion | introduction(opinion) PBRK plot | introduction(opinion) PBRK plot PBRK discuss(opinion) BRK @opinion>make-paragraph | introduction(opinion) BRK @opinion>make-paragraph PBRK plot PBRK discuss(opinion) BRK @opinion>make-paragraph | introduction(opinion) BRK @opinion>make-paragraph PBRK discuss(opinion) BRK @opinion>make-paragraph ; friend: FRIEND; movie: "'" MOVIE "'"; director: DIRECTOR; actor: ACTOR; title(op): movie | movie | movie | movie ": " @op | movie ": " [@op]>add-indefinite-article [" movie" | " flick" | " picture"] | "I saw " movie | "at the movies" | [@op]>add-indefinite-article " movie" ; opinion: v-opinion< "good" "superlative" -> "bad" "good" -> "superlative" ; conj: "superlative" -> "and" "good" -> "and" "bad" -> "but" ; add-indefinite-article: "^simply [aeiou].*" -> "^simply"/"simply an" "^simply.*" -> "^simply"/"simply a" "^just [aeiou].*" -> "^just"/"just an" "^just.*" -> "^just"/"just a" "^[aeiou].*" -> "^"/"an " "^[AEIOU].*" -> "^"/"an " "^.*" -> "^"/"a " ; movie-aspect: "the plot" | "the soundtrack" | "the script" | "the cinematography" | "the lighting" | "the dialog" | "the casting" ; movie-aspects: "the costumes" | "the sets" ; watcher: v-watcher< "I" ".*" -> "we" ; make-actor-sentence: ".*" -> "$"/"-actor-sentence" ; make-aspect: ".*" -> "$"/"-aspect" ; make-paragraph: ".*" -> "$"/"-paragraph" ; some-time: "last night" | "yesterday" | "last saturday" ; generic-opening: "I just have to say " | "I have to say " | "I just want to say " | "I want to say " | "Anyway " | "Well, " ; introduction(op): intro("%LINK%")>upcase-first ". " expectation>upcase-first ", " op>conj " " movie-opinion("it" op) ". " | expectation>upcase-first ", " op>conj " " movie-opinion("%LINK%" op) ". " | intro("%LINK%")>upcase-first ". " | intro("%LINK%")>upcase-first ". " expectation>upcase-first ". " | expectation>upcase-first ". So " intro("%LINK%") ". " | intro(["the movie " "%LINK%"])>upcase-first ". " | intro(["%LINK%" [" (with " actor ")"|", by " director]])>upcase-first ". " | intro("%LINK%")>upcase-first ". " [@op]>upcase-first " movie. " | intro(["%LINK%" [" (with " actor ")"|", by " director]])>upcase-first ". " movie-opinion("it" op)>upcase-first ". " | intro(movie)>upcase-first ". " movie-opinion("it " op)>upcase-first ". " | intro(movie)>upcase-first " and " movie-opinion("it " op) ". " | movie-opinion("%LINK%" op)>upcase-first ", " intro("it") ". " | movie-opinion(movie op)>upcase-first ", " intro("the movie") ". " | movie-opinion("%LINK%" op)>upcase-first ". " | intro(movie)>upcase-first ". " generic-opening movie-opinion("it" op) ". " | generic-opening movie-opinion("%LINK%" op) ". " ; intro (m): watcher " saw " m " " some-time | some-time " " watcher" saw " m | "just saw " m | watcher " went to see " m ["" | " " some-time] | watcher " went to the movies " some-time " and saw " m | some-time " " watcher " went to the movies and saw " m | watcher " saw a screening of " m " " some-time ; movie-opinion(m op): m " was " @op | m " is " [@op]>add-indefinite-article " movie" | m " is " @op | watcher>pronoun " found " m " " [@op | [@op]>add-indefinite-article " movie"] | watcher>pronoun " thought " m " was " [@op | [@op]>add-indefinite-article " movie"] ; discuss(op): discuss-actors(op) | discuss-actors(op) discuss-director(op)>upcase-first " too. " | discuss-actors(op) discuss-aspect(op)>upcase-first ". " | discuss-director(op)>upcase-first ". " discuss-actors(op)>upcase-first | discuss-director(op)>upcase-first ", " discuss-actors(op) | discuss-aspect(op)>upcase-first " and " discuss-director(op) ". " | discuss-director(op)>upcase-first " and " discuss-aspect(op) " as well. " | discuss-aspect(op)>upcase-first ". " | discuss-director(op)>upcase-first ". " | "The actors and the director did " [@op]>add-indefinite-article " job. " | discuss-aspect(op)>upcase-first ", " discuss-actors2(op) | discuss-director(op)>upcase-first ", " discuss-actors2(op) ; discuss-aspect(op): movie-aspect " is " @op | movie-aspect " and " movie-aspect " are " @op | movie-aspect " of " movie " is " @op | movie-aspect " is " @op ". " [@op>make-aspect]>upcase-first | @op>make-aspect | @op>make-aspect ; discuss-director(op): [""| "director "] director " did " [@op]>add-indefinite-article " job" | "the direction " ["" | "(by " director ") "] "was " @op | director "'s direction was " @op ; discuss-actors(op): "I " ["think " | "found "] actor-performance(op) ". " | actor-performance(op)>upcase-first ". " | actor-performance(op)>upcase-first ". " | actor-performance(op)>upcase-first ". " actor-performance(op)>upcase-first " too. " | actors-performance(op)>upcase-first ". " ; discuss-actors2(op): ?op2=op>second-opinion ["but " | "however " | "although " ] actor-performance($op2) ". " | ?op2=op>second-opinion actor-performance($op2)>upcase-first " though." ; actor-performance(op): actor " " ["delivered" | "gave"] " " [@op]>add-indefinite-article " performance" | actor " did " [@op]>add-indefinite-article " job" | actor "'s performance is " @op | actor " is " @op | @op>make-actor-sentence ; actors-performance(op): actor " and " actor " " ["delivered" | "gave"] " " @op " performances" | actor " and " actor " did " @op " jobs" | actor " and " actor " are " @op | "the actors did " [@op]>add-indefinite-article " job" | "the main actors are " @op ; superlative: [ "absolutely " | "just " | "truly " | "simply "] superlative-word | superlative-word ; superlative-word: "great" | "excellent" | "stunning" | "enthralling" | "phenomenal" | "wonderful" | "stellar" | "amazing" | "terrific" | "brilliant" | "fabulous" | "overwhelming" | "gorgeous" | "superb" ; superlative-actor-sentence: actor " "["deserves" | "should get"] " an " ["Oscar" | "Academy Award"] | "I always enjoy " actor ; superlative-aspect: "a very " bold-word " and " bold-word " flick" | "it was " bold-word ", " bold-word " and beautifully filmed" | "very special movie that is " bold-word " and " bold-word ; superlative-paragraph: superlative-sentence>upcase-first "! " | superlative-paragraph superlative-sentence>upcase-first ". " ; superlative-sentence: "they pulled it off in spades" | "it caught the entire audience immediately" | "I sat spell bound for the entire evening" | "I highly recommend it" | "I absolutely loved it" | "I wanted to buy another ticket" | "don't be swayed by the nay-sayers" | "there wasn't a dull moment in the entire movie" | "I disagree with everyone who said they were disappointed with " ["it" | "the movie" | movie] | "I really believe that anyone who disagrees with me is crazy" | "go see this movie" | "a must see" | "I'll definitely be going to the movie again, and probably more than once" | "I'm definitely going to buy the DVD when it comes out" | "this is a movie that you keep on watching, in your mind, after you leave the stadium" ; good: ["pretty" | "rather" | "just" | "reasonably"] " " good-word | good-word | good-word ; good-word: "good" | "fine" | "ok" | "enjoyable" | "pleasant" | "nice" | "gratifying" | "okay" | "decent" | "cool" | "amusing" | "entertaining" ; good-actor-sentence: "I had reservations about " actor ", but it turned out " good | "Normally I enjoy " actor " very much, this time the performance was mediocre" ; good-paragraph: "" | good-sentence>upcase-first ". " | good-paragraph good-sentence>upcase-first ". " ; good-aspect: "the movie had some really " bold-word " moments" | "occasionally the movie was very " bold-word | "it's " bold-word " and " bold-word | "it is " bold-word " but not very " bold-word ; good-sentence: "the movie is well worth the admission price" | "it's worth the price of an admission ticket and a medium popcorn" | "overall I think it's " good>add-indefinite-article " movie" | "but either I was missing something crucial or the film just wasn't my type" | movie " is the best movie from " director ", but it's not a masterpiece" | "I won't say it's a masterpiece" | "it's an interesting movie, well put together" | "the mood of " movie " is rather special" | "worth seeing, anyway" | "it has some interesting ideas" | "it's not bad, because it does keep you in expectation" | "it's an interesting movie, not for everyone, but the story is engaging" | "there are occasional lapses in credibility" | "if you like this genre you should see " movie | "I think my expectations were high, as I only found it " good-word ", but not the big deal that everyone was talking about" | "this film never got up enough steam to really engage me" ; bad: ["very" | "awfully" | "terribly"] " " bad-word1 | bad-word1 | ["just " | "absolutely " | "" | ""] bad-word2 ; bad-word1: "bad" | "poor" | "silly" | "cheesy" | "bad" | "overrated" ; bad-word2: "terrible" | "crappy" | "cheap" | "lousy" | "god-awful" | "awful" | "dreadful" ; bad-actor-sentence: "I hate " actor | "yes, I'd already expressed my hatred of " actor " but that was before I saw any acting. Now the hate is real" | actor " has no apparent talent" | actor " delivers the lines like they're read directly from the script" | actor " seemed incredibly bored by everything going on" | "to " actor ": take some acting lessons" | actor " should take some acting lessons" | actor " acted badly" | "the only highlight was " actor ; bad-aspect: "the story was " bold-word ", but it didn't stick." | "the movie had some " bold-word " moments though" | "only occasionally the film was " bold-word | "now and then however the picture was " bold-word | "but some parts were " bold-word | "it just wasn't " bold-word | "nothing " bold-word " or " bold-word " happened in the film" | "not a single " bold-word " or " bold-word " moment in the whole damn movie" | "there is nothing " bold-word " about the movie" ; bad-paragraph: "" | bad-sentence>upcase-first | bad-paragraph bad-sentence>upcase-first ; bad-sentence: "the lack of chemistry was appalling. " | director " must've been smoking something while he was watching the dailies. " | "worst movie I've seen in my life. " | "how the hell did I end up going to see that movie? " | "I can't believe I actually saw it the whole way through. " | "anyway, don't ever, ever, ever see this movie. " | "don't waste any time or money on this. " | "it is awful to think that someone actually paid to do this one." | "can't call it a waste of talent, because there's nobody in it who has any." | watcher>pronoun " walked out halfway. " | "I honestly can't see what the fuss about this film is. " | "it was sad, really, when you think how good the story could have been if it had been done properly. " | movie " is the kind of film I could quite happily see exterminated from the fabric of existence. " | "this is what I call disappointment! " | "you shouldn't watch this film, even if you have nothing else to do. " | "avoid at all cost!! " | "it is complete crap! " | "it's terribly overrated. " | "there are some good bits, but as a whole the movie falls apart. " ; bold-word: "defiant" | "bold" | "poignant" | "provoking" | "gripping" | "charismatic" | "compelling" | "interesting" | "funny" | "moving" ; plot: "The plot involved the following: %PLOT%" | "%PLOT% " BRK "That is pretty much the story of " [movie | "the movie"] | "The story of " [movie | "the movie"] " is basically like this. %PLOT%" | "%PLOT% That's the main story line of the movie." | "In short: %PLOT%" | "%PLOT%" | "%PLOT%" ; no-opinion: no-opinion1>upcase-first | no-opinion1>upcase-first | no-opinion1>upcase-first ". " discuss-director(opinion)>upcase-first ". " discuss-actors2(opinion)>upcase-first " " | no-opinion1>upcase-first ". " discuss-actors(opinion)>upcase-first " But " discuss-aspect(opinion>second-opinion) ". " ; no-opinion1: ["I " | ""] "will " ["talk about" | "discuss" | "write about" ] " it later" [" when there's more time" | ""] | "I won't spoil the plot " ["(or waste my time :-) " | ""] " by telling you anything about the movie" [" but that " fact | ""] | "not much to tell, except that " fact | "it's not easy to tell you " ["exactly " | ""] "how I felt about it" | watcher>pronoun " had a good time" | "more on this later" ; expectation: "I had high expectations because " hearsay | hearsay " so my expectations where high" | hearsay " so " watcher>pronoun " wanted to see what the hype is about" | hearsay | "my expectations were high" | "I expected a " superlative " movie because " hearsay | "Expectations were high since " hearsay | "I expected a lot from this movie" ; hearsay: friend " told me " ["it" | "the movie"] " was " superlative | "I heard " ["it" | "the movie"] " is " good | "I heard a lot about this movie" | "many people are talking about this movie" | friend " already saw it and recommended it" | "I heard a lot of good things about it" | "a lot op people recommended it" ; fact: "it features " actor | "it is directed by " director ;