# Said (Kernel)

`Said`(saidString)

  Checks to see if the specified string matches the last line parsed.

  Parameters: | saidString (saidString) – The string to match.
  Returns: | TRUE if there was a match, otherwise FALSE.

  The following operators can be used in a said string:

  ,
    “OR”, Used to specify alternatives to words, such as “take,get”.
  /
    Sentence part separator. Only two of these tokens may be used, since sentences are split into a maximum of three parts.
  (
    Used together with ‘)’ for grouping.
  )
    See ‘(‘.
  [
    Used together with ‘]’ for optional grouping. “[a]” means “either a or nothing”.
  ]
    See ‘[‘.
  <
    Semantic reference operator (as in ‘get<up’)
  >
    Instructs Said() not to claim the event passed to the previous Parse() call on a match. Used for successive matching.

  If a match is made, the words are “used up” until a fresh parse event happens. For example:

      (if (Said 'look')
      )

      (if (Said 'look') ; This will return FALSE, even if the previous line returned TRUE.
              ; We can never get here.
      )

  Other examples:

      (Said 'look/car')         ; Matches "look car", "look in car"
      (Said 'look<in/car')      ; Matches "look in car" only
      (Said 'give/food/dog')    ; Matches "give food to dog" and "give dog food"