; Missing NP
;the overheating situation
(
  (cat n)
  (concepts ((mass +)))
  (det (
    (cat det)
    (concepts ((id *SP-THE)))
    (cte +)
    (head-root the)
    (meaning det-the-1)
    (ortho the)
    (pos det)
    (root the)
    (tokens 1)))
  (diagnostic (
    (highlight-tokens (*MULT* 2 3))
    (message "'overheating situation' is not in the dictionary.")
    (score 20)
    (type MISSING_NP)))
  (member (*MULT*
    (*OR*
      (
        (alternate-cats n)
        (being -)
        (cat v)
        (concepts (
          (class ((direct-object none) (indirect-object none) (subject theme)))
          (id *A-OVERHEAT)
          (valency intransitive)))
        (cte +)
        (form prespart)
        (head-root overheat)
        (meaning v-overheat-2)
        (nominalized +)
        (ortho overheating)
        (participle +)
        (past -)
        (plural -)
        (pos v)
        (root overheat)
        (third-singular -)
        (tokens 2))
      (
        (alternate-cats ing)
        (cat n)
        (concepts ((count -) (id *O-OVERHEATING) (mass +)))
        (cte +)
        (head-root overheating)
        (meaning n-overheating-2)
        (ortho overheating)
        (plural -)
        (pos n)
        (root overheating)
        (tokens 2)))
    (
      (cat n)
      (concepts ((count +) (id *O-SITUATION) (mass -)))
      (cte +)
      (head-root situation)
      (meaning n-situation-3)
      (ortho situation)
      (plural -)
      (pos n)
      (root situation)
      (tokens 3))))
  (nominalized -)
  (ortho "overheating situation")
  (plural -)
  (root compound-np)
  (standalone-phrase +)
  (standalone-tag -))

; Missing DET.
;Remove the steering and implement.
(
  (being -)
  (capitalization-change capitalize)
  (cat v)
  (concepts (
    (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
    (id *A-REMOVE)
    (valency transitive)))
  (cte +)
  (form rootform)
  (gap -)
  (head-root remove)
  (meaning v-remove-1)
  (mood imp)
  (obj (
    (cat n)
    (concepts ((coordination-type coordinate) (id *CONJ-AND)))
    (conj ((root and)))
    (count-noun-no-det +)
    (cte +)
    (head-root and)
    (meaning conj-and-4)
    (member (*MULT*
      (*OR*
        (
          (alternate-cats n)
          (being -)
          (cat v)
          (concepts (
            (class ((direct-object theme) (indirect-object none) (subject agent)))
            (id *A-STEER)
            (valency transitive)))
          (cte +)
          (det (
            (cat det)
            (concepts ((id *SP-THE)))
            (cte +)
            (head-root the)
            (meaning det-the-2)
            (ortho the)
            (pos det)
            (root the)
            (tokens 2)))
          (form prespart)
          (head-root steer)
          (meaning v-steer-3)
          (nominalized +)
          (ortho steering)
          (participle +)
          (past -)
          (plural -)
          (pos v)
          (root steer)
          (third-singular -)
          (tokens 3))
        (
          (alternate-cats v)
          (cat n)
          (concepts ((count -) (id *O-STEERING) (mass +)))
          (cte +)
          (det (
            (cat det)
            (concepts ((id *SP-THE)))
            (cte +)
            (head-root the)
            (meaning det-the-2)
            (ortho the)
            (pos det)
            (root the)
            (tokens 2)))
          (head-root steering)
          (meaning n-steering-3)
          (nominalized -)
          (ortho steering)
          (plural -)
          (pos n)
          (root steering)
          (standalone-tag -)
          (tokens 3)))
      (
        (cat n)
        (concepts ((count +) (id *O-IMPLEMENT) (mass -)))
        (count-noun-no-det +)
        (cte +)
        (diagnostic ((message "'implement' requires an article.") (score 11) (text "the ") (type MISSING_DET)))
        (full-form +)
        (head-root implement)
        (meaning n-implement-5)
        (nominalized -)
        (ortho implement)
        (plural -)
        (pos n)
        (root implement)
        (standalone-tag -)
        (tokens 5))))
    (ortho and)
    (pos conj)
    (root set-np)
    (standalone-phrase -)
    (tokens 4)))
  (ortho Remove)
  (participle -)
  (passive -)
  (past -)
  (pos v)
  (punctuation period)
  (root remove)
  (third-singular -)
  (tokens 1))

; 'in order to'
;Install Tooling <callout>C</callout> to remove the bearing.
(
  (being -)
  (capitalization-change capitalize)
  (cat v)
  (concepts (
    (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
    (id *A-INSTALL)
    (valency transitive)))
  (cte +)
  (diagnostic (
    (highlight-tokens 6)
    (message "Use 'in order to' instead of 'to' here.")
    (score 12)
    (text "in order ")
    (type IN_ORDER_TO)))
  (form rootform)
  (gap -)
  (head-root install)
  (meaning v-install-1)
  (mood imp)
  (obj (
    (capitalization-change capitalize)
    (cat n)
    (concepts ((count +) (id *O-TOOLING) (mass +)))
    (cte +)
    (head-root tooling)
    (meaning n-tooling-2)
    (no-coord callout)
    (ortho Tooling)
    (plural -)
    (pos n)
    (reference implied)
    (root tooling)
    (standalone-phrase -)
    (tags (
      (concepts (
        (contents literal)
        (coord +)
        (final +)
        (id *S-CALLOUT)
        (initial +)
        (promotable +)
        (promotes-to-high +)
        (reference implied)
        (standalone +)))
      (head-root {callout})
      (juxtaposition final)
      (meaning "tag-{callout}-3")
      (no-coord callout)
      (ortho <callout>)
      (pos tag)
      (root {callout})
      (tag-ending -)
      (tag-name callout)
      (tokens (*MULT* 3 4 5))
      (value ((ortho C) (root c)))))
    (tokens 2)))
  (ortho Install)
  (participle -)
  (passive -)
  (past -)
  (pos v)
  (pred-passive -)
  (punctuation period)
  (purpose-inf (
    (cat subclause)
    (connective ((cat conj) (root infinitive)))
    (content (
      (being -)
      (cat v)
      (concepts (
        (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
        (id *A-REMOVE)
        (valency transitive)))
      (cte +)
      (form rootform)
      (gap -)
      (head-root remove)
      (infinitive +)
      (meaning v-remove-7)
      (obj (*OR*
        (
          (alternate-cats n)
          (being -)
          (cat v)
          (concepts (
            (class ((direct-object patient) (indirect-object none) (subject agent)))
            (id *A-BEAR)
            (valency transitive)))
          (cte +)
          (det (
            (cat det)
            (concepts ((id *SP-THE)))
            (cte +)
            (head-root the)
            (meaning det-the-8)
            (ortho the)
            (pos det)
            (root the)
            (tokens 8)))
          (form prespart)
          (head-root bear)
          (meaning v-bear-9)
          (nominalized +)
          (ortho bearing)
          (participle +)
          (past -)
          (plural -)
          (pos v)
          (root bear)
          (standalone-phrase -)
          (third-singular -)
          (tokens 9))
        (
          (alternate-cats v)
          (cat n)
          (concepts (
            (count +)
            (id (*OR* *O-BEARING-1 *O-BEARING-2))
            (mass -)))
          (cte +)
          (det (
            (cat det)
            (concepts ((id *SP-THE)))
            (cte +)
            (head-root the)
            (meaning det-the-8)
            (ortho the)
            (pos det)
            (root the)
            (tokens 8)))
          (head-root bearing)
          (meaning n-bearing-9)
          (nominalized -)
          (ortho bearing)
          (plural -)
          (pos n)
          (root bearing)
          (standalone-phrase -)
          (standalone-tag -)
          (tokens 9))))
      (ortho remove)
      (participle -)
      (past -)
      (pos v)
      (root remove)
      (third-singular -)
      (tokens 7)))
    (inf-marker ((tokens 6)))
    (root purpose)))
  (root install)
  (third-singular -)
  (tokens 1))

; Missing-punct
;Tighten twelve bolts
(
  (being -)
  (capitalization-change capitalize)
  (cat v)
  (concepts (
    (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
    (id *A-TIGHTEN)
    (valency transitive)))
  (cte +)
  (diagnostic (
    (location after)
    (message "This sentence requires a final period.")
    (score 13)
    (text ".")
    (type MISSING_PUNCT)))
  (form rootform)
  (gap -)
  (head-root tighten)
  (meaning v-tighten-1)
  (mood imp)
  (obj (
    (alternate-cats v)
    (card (
      (cat card)
      (concepts (
        (alphabetic +)
        (id *C-DECIMAL-NUMBER)
        (integer 12)
        (number-type integer)
        (ordinal -)))
      (cte +)
      (head-root __0)
      (meaning number-__0-2)
      (ortho twelve)
      (pos number)
      (root __0)
      (tokens 2)))
    (cat n)
    (concepts ((count +) (id *O-BOLT) (mass -)))
    (cte +)
    (head-root bolt)
    (meaning n-bolt-3)
    (ortho bolts)
    (plural +)
    (pos n)
    (reference implied)
    (root bolt)
    (standalone-phrase -)
    (tokens 3)))
  (ortho Tighten)
  (participle -)
  (passive -)
  (past -)
  (pos v)
  (root tighten)
  (third-singular -)
  (tokens 1))

; Missing det; must capture all tokens
; Use very important spring.
(
  (alternate-cats n)
  (being -)
  (capitalization-change capitalize)
  (cat v)
  (concepts (
    (class (*OR*
      (
        (attribute -)
        (complement +)
        (direct-object patient)
        (indirect-object none)
        (subject agent))
      ((attribute -) (direct-object patient) (indirect-object none) (subject agent))))
    (id *A-USE)
    (valency transitive)
    (xcomp +)))
  (cte +)
  (form rootform)
  (gap -)
  (head-root use)
  (meaning v-use-1)
  (mood imp)
  (obj (*OR*
    (
      (adj (
        (attributive-adj +)
        (cat adj)
        (concepts ((expletive-subject +) (id *P-IMPORTANT) (xcomp +)))
        (cte +)
        (head-root important)
        (int (
          (alternate-cats adj)
          (cat int)
          (concepts ((id *INT-VERY)))
          (cte +)
          (head-root very)
          (meaning int-very-2)
          (ortho very)
          (pos int)
          (root very)
          (tokens 2)))
        (meaning adj-important-3)
        (ortho important)
        (pos adj)
        (root important)
        (tokens 3)))
      (cat n)
      (concepts ((count +) (id *O-SPRING) (mass -)))
      (count-noun-no-det +)
      (cte +)
      (diagnostic ((message "'spring' requires an article.") (score 11) (text "the ") (type MISSING_DET)))
      (full-form +)
      (head-root spring)
      (meaning n-spring-4)
      (nominalized -)
      (ortho spring)
      (plural -)
      (pos n)
      (root spring)
      (standalone-phrase -)
      (standalone-tag -)
      (tokens 4))
    (
      (adj (*MULT*
        (
          (alternate-cats int)
          (attributive-adj +)
          (cat adj)
          (concepts ((id *P-VERY)))
          (cte +)
          (head-root very)
          (meaning adj-very-2)
          (ortho very)
          (pos adj)
          (root very)
          (tokens 2))
        (
          (attributive-adj +)
          (cat adj)
          (concepts ((expletive-subject +) (id *P-IMPORTANT) (xcomp +)))
          (cte +)
          (head-root important)
          (meaning adj-important-3)
          (ortho important)
          (pos adj)
          (root important)
          (tokens 3))))
      (cat n)
      (concepts ((count +) (id *O-SPRING) (mass -)))
      (count-noun-no-det +)
      (cte +)
      (diagnostic ((message "'spring' requires an article.") (score 11) (text "the ") (type MISSING_DET)))
      (full-form +)
      (head-root spring)
      (meaning n-spring-4)
      (nominalized -)
      (ortho spring)
      (plural -)
      (pos n)
      (root spring)
      (standalone-phrase -)
      (standalone-tag -)
      (tokens 4))))
  (ortho Use)
  (participle -)
  (passive -)
  (past -)
  (pos v)
  (punctuation period)
  (root use)
  (third-singular -)
  (tokens 1))

; Multiple diagnostic (keep both, present lowest-scored one)
;A larger adapter is now available for high impact applications
(
  (adj-comp (
    (cat adj)
    (concepts ((id *P-AVAILABLE) (xcomp +)))
    (cte +)
    (head-root available)
    (meaning adj-available-6)
    (ortho available)
    (pos adj)
    (pp (
      (cat prep)
      (concepts ((id *K-FOR)))
      (cte +)
      (head-root for)
      (meaning prep-for-7)
      (obj (
        (cat n)
        (concepts ((mass +)))
        (diagnostic (
          (highlight-tokens (*MULT* 8 9 10))
          (message "'high impact applications' is not in the dictionary.")
          (score 20)
          (type MISSING_NP)))
        (member (*MULT*
          (
            (cat n)
            (concepts ((count +) (id *O-HIGH-IMPACT) (mass +)))
            (cte +)
            (head-root impact)
            (head-token 9)
            (meaning "n-high impact-9")
            (ortho "high impact")
            (plural -)
            (pos n)
            (root "high impact")
            (tokens (*MULT* 8 9)))
          (
            (cat n)
            (concepts (
              (count +)
              (id (*OR* *O-APPLICATION-1 *O-APPLICATION-2 *O-APPLICATION-3))
              (mass -)))
            (cte +)
            (head-root application)
            (meaning n-application-10)
            (ortho applications)
            (plural +)
            (pos n)
            (root application)
            (tokens 10))))
        (nominalized -)
        (ortho "high impact applications")
        (plural +)
        (root compound-np)
        (standalone-phrase -)
        (standalone-tag -)))
      (ortho for)
      (pos prep)
      (root for)
      (tokens 7)))
    (root available)
    (tokens 6)))
  (adv (
    (cat adv)
    (concepts ((id *M-NOW)))
    (cte +)
    (head-root now)
    (meaning adv-now-5)
    (ortho now)
    (pos adv)
    (root now)
    (tokens 5)))
  (being +)
  (cat v)
  (concepts (
    (apcomp +)
    (class ((attribute +) (subject theme)))
    (id *A-BE-PREDICATE)
    (valency intransitive)))
  (cte +)
  (diagnostic (
    (location after)
    (message "This sentence requires a final period.")
    (score 13)
    (text ".")
    (type MISSING_PUNCT)))
  (form present3sg)
  (gap -)
  (head-root be)
  (meaning v-be-4)
  (mood dec)
  (ortho is)
  (participle -)
  (past -)
  (pos v)
  (root be)
  (subj (
    (adj (
      (attributive-adj +)
      (cat adj)
      (concepts ((id *P-LARGE)))
      (cte +)
      (degree comparative)
      (head-root large)
      (meaning adj-large-2)
      (ortho larger)
      (pos adj)
      (root large)
      (tokens 2)))
    (cat n)
    (concepts (
      (count +)
      (id (*OR* *O-ADAPTER-1 *O-ADAPTER-2))
      (mass -)))
    (cte +)
    (det (
      (alternate-cats sym)
      (capitalization-change uppercaseify)
      (cat det)
      (concepts ((id *SP-A)))
      (cte +)
      (head-root a)
      (meaning det-a-1)
      (ortho A)
      (pos det)
      (root a)
      (tokens 1)))
    (head-root adapter)
    (meaning n-adapter-3)
    (nominalized -)
    (ortho adapter)
    (plural -)
    (pos n)
    (root adapter)
    (standalone-phrase -)
    (standalone-tag -)
    (tokens 3)))
  (third-singular +)
  (tokens 4))

; Another multiple diagnostic with differing slots
;wash the truck to clean the truck 
(
  (alternate-cats n)
  (being -)
  (cat v)
  (concepts (
    (class ((attribute -) (direct-object patient) (indirect-object none) (subject agent)))
    (id *A-WASH)
    (valency transitive)))
  (cte +)
  (diagnostic (*MULT*
    (
      (highlight-tokens 4)
      (message "Use 'in order to' instead of 'to' here.")
      (score 12)
      (text "in order ")
      (type IN_ORDER_TO))
    (
      (location after)
      (message "This sentence requires a final period.")
      (score 13)
      (text ".")
      (type MISSING_PUNCT))))
  (form rootform)
  (gap -)
  (head-root wash)
  (meaning v-wash-1)
  (mood imp)
  (obj (
    (cat n)
    (concepts ((count +) (id *O-TRUCK) (mass -)))
    (cte +)
    (det (
      (cat det)
      (concepts ((id *SP-THE)))
      (cte +)
      (head-root the)
      (meaning det-the-2)
      (ortho the)
      (pos det)
      (root the)
      (tokens 2)))
    (full-form +)
    (head-root truck)
    (meaning n-truck-3)
    (nominalized -)
    (ortho truck)
    (plural -)
    (pos n)
    (root truck)
    (standalone-phrase -)
    (standalone-tag -)
    (tokens 3)))
  (ortho wash)
  (participle -)
  (passive -)
  (past -)
  (pos v)
  (purpose-inf (
    (cat subclause)
    (connective ((cat conj) (root infinitive)))
    (content (
      (alternate-cats adj)
      (being -)
      (cat v)
      (concepts (
        (class ((attribute -) (direct-object patient) (indirect-object none) (subject agent)))
        (id *A-CLEAN)
        (valency transitive)))
      (cte +)
      (form rootform)
      (gap -)
      (head-root clean)
      (infinitive +)
      (meaning v-clean-5)
      (obj (
        (cat n)
        (concepts ((count +) (id *O-TRUCK) (mass -)))
        (cte +)
        (det (
          (cat det)
          (concepts ((id *SP-THE)))
          (cte +)
          (head-root the)
          (meaning det-the-6)
          (ortho the)
          (pos det)
          (root the)
          (tokens 6)))
        (full-form +)
        (head-root truck)
        (meaning n-truck-7)
        (nominalized -)
        (ortho truck)
        (plural -)
        (pos n)
        (root truck)
        (standalone-phrase -)
        (standalone-tag -)
        (tokens 7)))
      (ortho clean)
      (participle -)
      (past -)
      (pos v)
      (root clean)
      (third-singular -)
      (tokens 5)))
    (inf-marker ((tokens 4)))
    (root purpose)))
  (root wash)
  (third-singular -)
  (tokens 1))

; another mult
;If necessary, turn nut to get the correct end play. 
(
  (adjoined-modifier (
    (capitalization-change capitalize)
    (cat sp)
    (concepts ((id *SP-IF-NECESSARY)))
    (head 0)
    (head-root if)
    (head-token 1)
    (meaning "sp-if necessary-1")
    (ortho "If necessary")
    (pos sp)
    (root "if necessary")
    (tokens (*MULT* 1 2))
    (topic +)
    (words 2)))
  (alternate-cats n)
  (being -)
  (cat v)
  (concepts (
    (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
    (id (*OR* *A-TURN-1 *A-TURN-2))
    (valency transitive)))
  (cte +)
  (diagnostic (*MULT*
    (
      (highlight-tokens 5)
      (message "'nut' requires an article.")
      (score 11)
      (text "the ")
      (type MISSING_DET))
    (
      (highlight-tokens 6)
      (message "Use 'in order to' instead of 'to' here.")
      (score 12)
      (text "in order ")
      (type IN_ORDER_TO))))
  (form rootform)
  (gap -)
  (head-root turn)
  (meaning v-turn-4)
  (mood imp)
  (obj (
    (cat n)
    (concepts ((count +) (id *O-NUT) (mass -)))
    (count-noun-no-det +)
    (cte +)
    (head-root nut)
    (meaning n-nut-5)
    (nominalized -)
    (ortho nut)
    (plural -)
    (pos n)
    (root nut)
    (standalone-phrase -)
    (standalone-tag -)
    (tokens 5)))
  (ortho turn)
  (participle -)
  (passive -)
  (past -)
  (pos v)
  (punctuation period)
  (purpose-inf (
    (cat subclause)
    (connective ((cat conj) (root infinitive)))
    (content (
      (alternate-cats n)
      (being -)
      (cat v)
      (concepts (*OR*
        (
          (apcomp +)
          (attributed-adjective -)
          (class (*OR*
            (
              (attribute -)
              (complement +)
              (direct-object theme)
              (indirect-object none)
              (subject agent))
            ((attribute -) (direct-object theme) (indirect-object none) (subject agent))))
          (id *A-GET-1)
          (valency transitive)
          (xcomp +))
        (
          (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
          (id *A-GET-2)
          (valency transitive))))
      (cte +)
      (form rootform)
      (gap -)
      (head-root get)
      (infinitive +)
      (meaning v-get-7)
      (obj (
        (adj (
          (alternate-cats v)
          (attributive-adj +)
          (cat adj)
          (concepts ((expletive-subject +) (id *P-CORRECT) (xcomp +)))
          (cte +)
          (head-root correct)
          (meaning adj-correct-9)
          (ortho correct)
          (pos adj)
          (root correct)
          (tokens 9)))
        (cat n)
        (concepts ((count -) (id *O-END-PLAY) (mass +)))
        (cte +)
        (det (
          (cat det)
          (concepts ((id *SP-THE)))
          (cte +)
          (head-root the)
          (meaning det-the-8)
          (ortho the)
          (pos det)
          (root the)
          (tokens 8)))
        (head-root play)
        (head-token 11)
        (meaning "n-end play-11")
        (nominalized -)
        (ortho "end play")
        (plural -)
        (pos n)
        (root "end play")
        (standalone-phrase -)
        (standalone-tag -)
        (tokens (*MULT* 10 11))))
      (ortho get)
      (participle -)
      (past -)
      (pos v)
      (root get)
      (third-singular -)
      (tokens 7)))
    (inf-marker ((tokens 6)))
    (root purpose)))
  (root turn)
  (third-singular -)
  (tokens 4))

; Ambiguous diagnostic (choose 'best' one out of MISSING_NP vs MISSING_DET)
; turn nut.
(*OR*
  (
    (alternate-cats n)
    (being -)
    (cat v)
    (concepts (
      (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
      (id (*OR* *A-TURN-1 *A-TURN-2))
      (valency transitive)))
    (cte +)
    (diagnostic (
      (highlight-tokens 2)
      (message "'nut' requires an article.")
      (score 11)
      (text "the ")
      (type MISSING_DET)))
    (form rootform)
    (gap -)
    (head-root turn)
    (meaning v-turn-1)
    (mood imp)
    (obj (
      (cat n)
      (concepts ((count +) (id *O-NUT) (mass -)))
      (count-noun-no-det +)
      (cte +)
      (head-root nut)
      (meaning n-nut-2)
      (nominalized -)
      (ortho nut)
      (plural -)
      (pos n)
      (root nut)
      (standalone-phrase -)
      (standalone-tag -)
      (tokens 2)))
    (ortho turn)
    (participle -)
    (passive -)
    (past -)
    (pos v)
    (punctuation period)
    (root turn)
    (third-singular -)
    (tokens 1))
  (
    (cat n)
    (concepts ((mass +)))
    (diagnostic (
      (highlight-tokens (*MULT* 1 2))
      (message "'turn nut' is not in the dictionary.")
      (score 20)
      (type MISSING_NP)))
    (member (*MULT*
      (
        (alternate-cats v)
        (cat n)
        (concepts ((count +) (id *O-TURN) (mass -)))
        (cte +)
        (head-root turn)
        (meaning n-turn-1)
        (ortho turn)
        (plural -)
        (pos n)
        (root turn)
        (tokens 1))
      (
        (cat n)
        (concepts ((count +) (id *O-NUT) (mass -)))
        (cte +)
        (head-root nut)
        (meaning n-nut-2)
        (ortho nut)
        (plural -)
        (pos n)
        (root nut)
        (tokens 2))))
    (nominalized -)
    (ortho "turn nut")
    (plural -)
    (punctuation period)
    (root compound-np)
    (standalone-phrase +)
    (standalone-tag -)))

; Ambiguous diagnostic (choose 'best' one out of MISSING_NP vs 2 diags)
; turn nut
(*OR*
  (
    (alternate-cats n)
    (being -)
    (cat v)
    (concepts (
      (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
      (id (*OR* *A-TURN-1 *A-TURN-2))
      (valency transitive)))
    (cte +)
    (diagnostic (*MULT*
      (
        (highlight-tokens 2)
        (message "'nut' requires an article.")
        (score 11)
        (text "the ")
        (type MISSING_DET))
      (
	(location after)
        (message "This sentence requires a final period.")
        (score 13)
        (text ".")
        (type MISSING_PUNCT))))
    (form rootform)
    (gap -)
    (head-root turn)
    (meaning v-turn-1)
    (mood imp)
    (obj (
      (cat n)
      (concepts ((count +) (id *O-NUT) (mass -)))
      (count-noun-no-det +)
      (cte +)
      (head-root nut)
      (meaning n-nut-2)
      (nominalized -)
      (ortho nut)
      (plural -)
      (pos n)
      (root nut)
      (standalone-phrase -)
      (standalone-tag -)
      (tokens 2)))
    (ortho turn)
    (participle -)
    (passive -)
    (past -)
    (pos v)
    (root turn)
    (third-singular -)
    (tokens 1))
  (
    (cat n)
    (concepts ((mass +)))
    (diagnostic (
      (highlight-tokens (*MULT* 1 2))
      (message "'turn nut' is not in the dictionary.")
      (score 20)
      (type MISSING_NP)))
    (member (*MULT*
      (
        (alternate-cats v)
        (cat n)
        (concepts ((count +) (id *O-TURN) (mass -)))
        (cte +)
        (head-root turn)
        (meaning n-turn-1)
        (ortho turn)
        (plural -)
        (pos n)
        (root turn)
        (tokens 1))
      (
        (cat n)
        (concepts ((count +) (id *O-NUT) (mass -)))
        (cte +)
        (head-root nut)
        (meaning n-nut-2)
        (ortho nut)
        (plural -)
        (pos n)
        (root nut)
        (tokens 2))))
    (nominalized -)
    (ortho "turn nut")
    (plural -)
    (root compound-np)
    (standalone-phrase +)
    (standalone-tag -)))

; Missing-det, but have to catch multiple adjs
; full disabled position
(
        (adj (*MULT*
          (
            (attributive-adj +)
            (cat adj)
            (concepts ((id *P-FULL)))
            (cte +)
            (head-root full)
            (meaning adj-full-8)
            (ortho full)
            (pos adj)
            (root full)
            (tokens 1))
          (
            (alternate-cats ed)
            (attributive-adj +)
            (cat adj)
            (concepts ((id *P-DISABLED)))
            (cte +)
            (head-root disabled)
            (meaning adj-disabled-9)
            (ortho disabled)
            (pos adj)
            (root disabled)
            (tokens 2))))
        (alternate-cats v)
        (cat n)
        (concepts ((count +) (id *O-POSITION) (mass -)))
        (count-noun-no-det +)
        (cte +)
        (diagnostic ((message "'position' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
        (full-form +)
        (head-root position)
        (meaning n-position-10)
        (nominalized -)
        (ortho position)
        (plural -)
        (pos n)
        (root position)
        (standalone-phrase -)
        (standalone-tag -)
        (tokens 3))

; Optional diagnostic (prune diagnostic)
; turn nuts.
(*OR*
  (
    (alternate-cats n)
    (being -)
    (capitalization-change capitalize)
    (cat v)
    (concepts (
      (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
      (id (*OR* *A-TURN-1 *A-TURN-2))
      (valency transitive)))
    (cte +)
    (form rootform)
    (gap -)
    (head-root turn)
    (meaning v-turn-1)
    (mood imp)
    (obj (
      (cat n)
      (concepts ((count +) (id *O-NUT) (mass -)))
      (cte +)
      (head-root nut)
      (meaning n-nut-2)
      (nominalized -)
      (ortho nuts)
      (plural +)
      (pos n)
      (root nut)
      (standalone-phrase -)
      (standalone-tag -)
      (tokens 2)))
    (ortho Turn)
    (participle -)
    (passive -)
    (past -)
    (pos v)
    (punctuation period)
    (root turn)
    (third-singular -)
    (tokens 1))
  (
    (cat n)
    (concepts ((mass +)))
    (diagnostic (
      (highlight-tokens (*MULT* 1 2))
      (message "'Turn nuts' is not in the dictionary.")
      (score 20)
      (type MISSING_NP)))
    (member (*MULT*
      (
        (alternate-cats v)
        (capitalization-change capitalize)
        (cat n)
        (concepts ((count +) (id *O-TURN) (mass -)))
        (cte +)
        (head-root turn)
        (meaning n-turn-1)
        (ortho Turn)
        (plural -)
        (pos n)
        (root turn)
        (tokens 1))
      (
        (cat n)
        (concepts ((count +) (id *O-NUT) (mass -)))
        (cte +)
        (head-root nut)
        (meaning n-nut-2)
        (ortho nuts)
        (plural +)
        (pos n)
        (root nut)
        (tokens 2))))
    (nominalized -)
    (ortho "Turn nuts")
    (plural +)
    (punctuation period)
    (root compound-np)
    (standalone-phrase +)
    (standalone-tag -)))

; Missing DET, but should be ignored
;Remove the steering and implement.
(
  (being -)
  (capitalization-change capitalize)
  (cat v)
  (concepts (
    (class ((attribute -) (direct-object theme) (indirect-object none) (subject agent)))
    (id *A-REMOVE)
    (valency transitive)))
  (cte +)
  (form rootform)
  (gap -)
  (head-root remove)
  (ignore-diagnostic MISSING_DET)
  (meaning v-remove-1)
  (mood imp)
  (obj (
    (cat n)
    (concepts ((coordination-type coordinate) (id *CONJ-AND)))
    (conj ((root and)))
    (count-noun-no-det +)
    (cte +)
    (head-root and)
    (meaning conj-and-4)
    (member (*MULT*
      (*OR*
        (
          (alternate-cats n)
          (being -)
          (cat v)
          (concepts (
            (class ((direct-object theme) (indirect-object none) (subject agent)))
            (id *A-STEER)
            (valency transitive)))
          (cte +)
          (det (
            (cat det)
            (concepts ((id *SP-THE)))
            (cte +)
            (head-root the)
            (meaning det-the-2)
            (ortho the)
            (pos det)
            (root the)
            (tokens 2)))
          (form prespart)
          (head-root steer)
          (meaning v-steer-3)
          (nominalized +)
          (ortho steering)
          (participle +)
          (past -)
          (plural -)
          (pos v)
          (root steer)
          (third-singular -)
          (tokens 3))
        (
          (alternate-cats v)
          (cat n)
          (concepts ((count -) (id *O-STEERING) (mass +)))
          (cte +)
          (det (
            (cat det)
            (concepts ((id *SP-THE)))
            (cte +)
            (head-root the)
            (meaning det-the-2)
            (ortho the)
            (pos det)
            (root the)
            (tokens 2)))
          (head-root steering)
          (meaning n-steering-3)
          (nominalized -)
          (ortho steering)
          (plural -)
          (pos n)
          (root steering)
          (standalone-tag -)
          (tokens 3)))
      (
        (cat n)
        (concepts ((count +) (id *O-IMPLEMENT) (mass -)))
        (count-noun-no-det +)
        (cte +)
        (diagnostic ((message "'implement' requires an article.") (score 11) (text "the ") (type MISSING_DET)))
        (full-form +)
        (head-root implement)
        (meaning n-implement-5)
        (nominalized -)
        (ortho implement)
        (plural -)
        (pos n)
        (root implement)
        (standalone-tag -)
        (tokens 5))))
    (ortho and)
    (pos conj)
    (root set-np)
    (standalone-phrase -)
    (tokens 4)))
  (ortho Remove)
  (participle -)
  (passive -)
  (past -)
  (pos v)
  (punctuation period)
  (root remove)
  (third-singular -)
  (tokens 1))

; Last test
*UNDEFINED*

; Line to rod end of cylinder
 (*OR*
  (
    (alternate-cats v)
    (capitalization-change capitalize)
    (cat n)
    (concepts (*OR*
      (
        (count +)
        (id (*OR*
          *O-LINE-1
          *O-LINE-2
          *O-LINE-4
          *O-LINE-5
          *O-LINE-6))
        (mass +))
      (
        (count +)
        (id *O-LINE-3)
        (mass +)
        (smcs (*OR* 1400 4450)))))
    (count-noun-no-det +)
    (diagnostic ((message "'Line' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
    (head-root line)
    (ignore-diagnostic MISSING_DET)
    (kce +)
    (lexical-plural -)
    (meaning n-line-1)
    (nominalized -)
    (ortho Line)
    (plural (*OR* + -))
    (pos n)
    (pp (*MULT*
      (
        (alternate-cats inf)
        (cat prep)
        (concepts ((id *K-TO)))
        (head-root to)
        (kce +)
        (meaning prep-to-2)
        (obj (
          (cat n)
          (concepts ((count +) (id *O-ROD-END) (mass -)))
          (count-noun-no-det +)
          (diagnostic ((message "'rod end' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
          (head-root end)
          (head-token 4)
          (kce +)
          (meaning "n-rod end-4")
          (nominalized -)
          (ortho "rod end")
          (plural -)
          (pos n)
          (root "rod end")
          (standalone-phrase -)
          (standalone-tag -)
          (tokens (*MULT* 3 4))))
        (ortho to)
        (pos prep)
        (root to)
        (tokens 2))
      (
        (cat prep)
        (concepts ((id *K-OF)))
        (head-root of)
        (ignore-diagnostic MISSING_DET)
        (kce +)
        (meaning prep-of-5)
        (obj (
          (cat n)
          (concepts (
            (count +)
            (id (*OR* *O-CYLINDER-1 *O-CYLINDER-2))
            (mass -)))
          (count-noun-no-det +)
          (diagnostic ((message "'cylinder' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
          (head-root cylinder)
          (kce +)
          (meaning n-cylinder-6)
          (nominalized -)
          (ortho cylinder)
          (plural -)
          (pos n)
          (root cylinder)
          (standalone-phrase -)
          (standalone-tag -)
          (tokens 6)))
        (ortho of)
        (pos prep)
        (root of)
        (tokens 5))))
    (root line)
    (standalone-phrase +)
    (standalone-tag -)
    (tokens 1))
  (
    (alternate-cats v)
    (capitalization-change capitalize)
    (cat n)
    (concepts (*OR*
      (
        (count +)
        (id (*OR*
          *O-LINE-1
          *O-LINE-2
          *O-LINE-4
          *O-LINE-5
          *O-LINE-6))
        (mass -))
      (
        (count +)
        (id *O-LINE-3)
        (mass -)
        (smcs (*OR* 1400 4450)))))
    (count-noun-no-det +)
    (diagnostic ((message "'Line' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
    (head-root line)
    (ignore-diagnostic MISSING_DET)
    (kce +)
    (meaning n-line-1)
    (nominalized -)
    (ortho Line)
    (plural -)
    (pos n)
    (pp (
      (alternate-cats inf)
      (cat prep)
      (concepts ((id *K-TO)))
      (head-root to)
      (kce +)
      (meaning prep-to-2)
      (obj (
        (cat n)
        (concepts ((count +) (id *O-ROD-END) (mass +)))
        (count-noun-no-det +)
        (diagnostic ((message "'rod end' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
        (head-root end)
        (head-token 4)
        (kce +)
        (lexical-plural -)
        (meaning "n-rod end-4")
        (nominalized -)
        (ortho "rod end")
        (plural (*OR* + -))
        (pos n)
        (pp (
          (cat prep)
          (concepts ((id *K-OF)))
          (head-root of)
          (ignore-diagnostic MISSING_DET)
          (kce +)
          (meaning prep-of-5)
          (obj (
            (cat n)
            (concepts (
              (count +)
              (id (*OR* *O-CYLINDER-1 *O-CYLINDER-2))
              (mass -)))
            (count-noun-no-det +)
            (diagnostic ((message "'cylinder' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
            (head-root cylinder)
            (kce +)
            (meaning n-cylinder-6)
            (nominalized -)
            (ortho cylinder)
            (plural -)
            (pos n)
            (root cylinder)
            (standalone-phrase -)
            (standalone-tag -)
            (tokens 6)))
          (ortho of)
          (pos prep)
          (root of)
          (tokens 5)))
        (root "rod end")
        (standalone-phrase -)
        (standalone-tag -)
        (tokens (*MULT* 3 4))))
      (ortho to)
      (pos prep)
      (root to)
      (tokens 2)))
    (root line)
    (standalone-phrase +)
    (standalone-tag -)
    (tokens 1)))

; planetary release valve (use this to make earth leave orbit?)
(*OR*
  (
    (adj (
      (alternate-cats n)
      (attributive-adj +)
      (cat adj)
      (concepts ((id *P-PLANETARY)))
      (head-root planetary)
      (kce +)
      (meaning adj-planetary-1)
      (ortho planetary)
      (pos adj)
      (root planetary)
      (tokens 1)))
    (cat n)
    (concepts ((count +) (id *O-RELEASE-VALVE) (mass -)))
    (count-noun-no-det +)
    (diagnostic ((message "'release valve' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
    (head-root valve)
    (head-token 3)
    (ignore-diagnostic MISSING_DET)
    (kce +)
    (meaning "n-release valve-3")
    (nominalized -)
    (ortho "release valve")
    (plural -)
    (pos n)
    (root "release valve")
    (standalone-phrase +)
    (standalone-tag -)
    (tokens (*MULT* 2 3)))
  (
    (cat n)
    (concepts ((mass +)))
    (diagnostic (
      (highlight-tokens (*MULT* 1 2 3))
      (message "'planetary release valve' is not in the dictionary.")
      (score 10)
      (type MISSING_NP)))
    (ignore-diagnostic MISSING_DET)
    (member (*MULT*
      (
        (alternate-cats adj)
        (cat n)
        (concepts ((count +) (id *O-PLANETARY) (mass -)))
        (head-root planetary)
        (kce +)
        (meaning n-planetary-1)
        (ortho planetary)
        (plural -)
        (pos n)
        (root planetary)
        (tokens 1))
      (
        (cat n)
        (concepts ((count +) (id *O-RELEASE-VALVE) (mass -)))
        (head-root valve)
        (head-token 3)
        (kce +)
        (meaning "n-release valve-3")
        (ortho "release valve")
        (plural -)
        (pos n)
        (root "release valve")
        (tokens (*MULT* 2 3)))))
    (nominalized -)
    (ortho "planetary release valve")
    (plural -)
    (pos n)
    (root compound-np)
    (standalone-phrase +)
    (standalone-tag -)))

; (don't ignore all diagnostics, just MISSING_DET)
; Engine.
(
  (capitalization-change capitalize)
  (cat n)
  (concepts ((count +) (id *O-ENGINE) (mass -)))
  (count-noun-no-det +)
  (diagnostic (*MULT*
    ((message "'Engine' might require an article.") (score 11) (text "the ") (type MISSING_DET))
    ((message "Do not end this phrase with a period.") (score 21) (type IMPROPER_PUNC))))
  (head-root engine)
  (ignore-diagnostic MISSING_DET)
  (kce +)
  (meaning n-engine-1)
  (nominalized -)
  (ortho Engine)
  (plural -)
  (pos n)
  (punctuation period)
  (root engine)
  (standalone-phrase +)
  (standalone-tag -)
  (tokens 1))


; Make sure the merge-scoring vs compare-scoring works (Bug 543)
;USB uses a standard port and plug combination for connecting devices like printers, modems, scanners, and digital cameras.
(
  (cat v)
  (concepts ((coordination-type coordinate) (id *CONJ-AND)))
  (conj ((root and)))
  (diagnostic ((message "Do not conjoin sentences that are not the same type.") (score 16) (type MOOD)))
  (gap -)
  (head-root and)
  (kce +)
  (meaning conj-and-6)
  (member (*MULT*
    (
      (alternate-cats n)
      (being -)
      (cat v)
      (concepts (
        (class (
          (attribute -)
          (complement -)
          (direct-object patient)
          (indirect-object none)
          (subject agent)))
        (id *A-USE)
        (valency transitive)
        (xcomp +)))
      (form present3sg)
      (gap -)
      (head-root use)
      (kce +)
      (meaning v-use-2)
      (mood dec)
      (obj (
        (adj (
          (alternate-cats n)
          (attributive-adj +)
          (cat adj)
          (concepts ((id *P-STANDARD)))
          (head-root standard)
          (kce +)
          (meaning adj-standard-4)
          (morph-super -)
          (ortho standard)
          (pos adj)
          (root standard)
          (tokens 4)))
        (cat n)
        (concepts ((count +) (id *O-PORT) (mass -)))
        (det (
          (alternate-cats sym)
          (cat det)
          (concepts ((id *SP-A)))
          (head-root a)
          (kce +)
          (meaning det-a-3)
          (ortho a)
          (pos det)
          (root a)
          (tokens 3)))
        (head-root port)
        (kce +)
        (meaning n-port-5)
        (nominalized -)
        (ortho port)
        (plural -)
        (pos n)
        (referential +)
        (root port)
        (standalone-phrase -)
        (standalone-tag -)
        (tokens 5)))
      (ortho uses)
      (participle -)
      (past -)
      (pos v)
      (root use)
      (subj (
        (acronym +)
        (cat n)
        (concepts ((count +) (id *O-UNIVERSAL-SERIAL-BUS) (mass -)))
        (head-root usb)
        (kce +)
        (meaning n-usb-1)
        (ortho USB)
        (plural -)
        (pos n)
        (reference implied)
        (referential +)
        (root usb)
        (standalone-phrase -)
        (tokens 1)))
      (third-singular +)
      (tokens 2))
    (
        (being -)
        (cat v)
        (concepts (
          (class (
            (attribute -)
            (complement -)
            (direct-object theme)
            (indirect-object none)
            (subject agent)))
          (id *A-PLUG)
          (valency transitive)))
        (form rootform)
        (gap -)
        (head-root plug)
        (kce +)
        (meaning v-plug-7)
        (mood imp)
        (obj (
          (cat n)
          (concepts ((count +) (id *O-COMBINATION) (mass -)))
          (count-noun-no-det +)
          (diagnostic ((message "'combination' might require an article.") (score 11) (text "the ") (type MISSING_DET)))
          (head-root combination)
          (kce +)
          (meaning n-combination-8)
          (nominalized -)
          (ortho combination)
          (plural -)
          (pos n)
          (referential +)
          (root combination)
          (standalone-phrase -)
          (standalone-tag -)
          (tokens 8)))
        (ortho plug)
        (participle -)
        (passive -)
        (past -)
        (pos v)
        (pp (
          (cat prep)
          (concepts ((id *K-FOR)))
          (head-root for)
          (kce +)
          (meaning prep-for-9)
          (obj (*OR*
            (
              (being -)
              (cat v)
              (concepts (
                (class (
                  (attribute -)
                  (complement -)
                  (direct-object theme)
                  (indirect-object none)
                  (subject agent)))
                (count -)
                (id *A-CONNECT)
                (valency transitive)))
              (form prespart)
              (gap -)
              (gerundive +)
              (head-root connect)
              (kce +)
              (meaning v-connect-10)
              (nominalized +)
              (obj (
                (cat n)
                (concepts ((count +) (id *O-DEVICE) (mass -)))
                (head-root device)
                (kce +)
                (meaning n-device-11)
                (nominalized -)
                (ortho devices)
                (plural +)
                (pos n)
                (referential +)
                (root device)
                (standalone-phrase -)
                (standalone-tag -)
                (tokens 11)))
              (ortho connecting)
              (participle +)
              (past -)
              (plural -)
              (pos v)
              (pp (
                (cat prep)
                (diagnostic ((message "Do not use 'like' with a noun.  Try 'as' or 'such as'.") (score 15) (type LIKE)))
                (obj (
                  (cat n)
                  (concepts ((coordination-type coordinate) (id *CONJ-AND)))
                  (conj ((root and)))
                  (head-root and)
                  (kce +)
                  (meaning conj-and-19)
                  (member (*MULT*
                    (
                      (cat n)
                      (concepts ((count +) (id *O-PRINTER) (mass -)))
                      (head-root printer)
                      (kce +)
                      (meaning n-printer-13)
                      (nominalized -)
                      (ortho printers)
                      (plural +)
                      (pos n)
                      (referential +)
                      (root printer)
                      (standalone-tag -)
                      (tokens 13))
                    (
                      (cat n)
                      (concepts ((count +) (id *O-MODEM) (mass -)))
                      (head-root modem)
                      (kce +)
                      (meaning n-modem-15)
                      (nominalized -)
                      (ortho modems)
                      (plural +)
                      (pos n)
                      (referential +)
                      (root modem)
                      (standalone-tag -)
                      (tokens 15))
                    (
                      (cat n)
                      (concepts ((count +) (id *O-SCANNER) (mass -)))
                      (head-root scanner)
                      (kce +)
                      (meaning n-scanner-17)
                      (nominalized -)
                      (ortho scanners)
                      (plural +)
                      (pos n)
                      (referential +)
                      (root scanner)
                      (standalone-tag -)
                      (tokens 17))
                    (*OR*
                      (
                        (adj (
                          (attributive-adj +)
                          (cat adj)
                          (concepts ((id *P-DIGITAL)))
                          (head-root digital)
                          (kce +)
                          (meaning adj-digital-20)
                          (morph-super -)
                          (ortho digital)
                          (pos adj)
                          (root digital)
                          (tokens 20)))
                        (cat n)
                        (concepts ((count +) (id *O-CAMERA) (mass -)))
                        (head-root camera)
                        (kce +)
                        (meaning n-camera-21)
                        (nominalized -)
                        (ortho cameras)
                        (plural +)
                        (pos n)
                        (referential +)
                        (root camera)
                        (standalone-tag -)
                        (tokens 21))
                      (
                        (cat n)
                        (concepts ((count +) (id *O-DIGITAL-CAMERA) (mass -)))
                        (head-root camera)
                        (head-token 21)
                        (kce +)
                        (meaning "n-digital camera-21")
                        (nominalized -)
                        (ortho "digital cameras")
                        (plural +)
                        (pos n)
                        (referential +)
                        (root "digital camera")
                        (standalone-tag -)
                        (tokens (*MULT* 20 21))))))
                  (ortho and)
                  (pos conj)
                  (root set-np)
                  (tokens 19)))
                (root like)))
              (referential +)
              (root connect)
              (standalone-phrase -)
              (third-singular -)
              (tokens 10)
              (trans-or-intrans +))
            (
              (being -)
              (cat v)
              (concepts (
                (class (
                  (attribute -)
                  (complement -)
                  (direct-object theme)
                  (indirect-object none)
                  (subject agent)))
                (count -)
                (id *A-CONNECT)
                (valency transitive)))
              (form prespart)
              (gap -)
              (gerundive +)
              (head-root connect)
              (kce +)
              (meaning v-connect-10)
              (nominalized +)
              (obj (*OR*
                (
                  (cat n)
                  (concepts ((coordination-type coordinate) (id *CONJ-AND)))
                  (conj ((root and)))
                  (head-root and)
                  (kce +)
                  (meaning conj-and-19)
                  (member (*MULT*
                    (
                      (cat n)
                      (concepts ((count +) (id *O-DEVICE) (mass -)))
                      (head-root device)
                      (kce +)
                      (meaning n-device-11)
                      (nominalized -)
                      (ortho devices)
                      (plural +)
                      (pos n)
                      (pp (
                        (cat prep)
                        (diagnostic ((message "Do not use 'like' with a noun.  Try 'as' or 'such as'.") (score 15) (type LIKE)))
                        (obj (
                          (cat n)
                          (concepts ((count +) (id *O-PRINTER) (mass -)))
                          (head-root printer)
                          (kce +)
                          (meaning n-printer-13)
                          (nominalized -)
                          (ortho printers)
                          (plural +)
                          (pos n)
                          (referential +)
                          (root printer)
                          (standalone-tag -)
                          (tokens 13)))
                        (root like)))
                      (referential +)
                      (root device)
                      (standalone-tag -)
                      (tokens 11))
                    (
                      (cat n)
                      (concepts ((count +) (id *O-MODEM) (mass -)))
                      (head-root modem)
                      (kce +)
                      (meaning n-modem-15)
                      (nominalized -)
                      (ortho modems)
                      (plural +)
                      (pos n)
                      (referential +)
                      (root modem)
                      (standalone-tag -)
                      (tokens 15))
                    (
                      (cat n)
                      (concepts ((count +) (id *O-SCANNER) (mass -)))
                      (head-root scanner)
                      (kce +)
                      (meaning n-scanner-17)
                      (nominalized -)
                      (ortho scanners)
                      (plural +)
                      (pos n)
                      (referential +)
                      (root scanner)
                      (standalone-tag -)
                      (tokens 17))
                    (*OR*
                      (
                        (adj (
                          (attributive-adj +)
                          (cat adj)
                          (concepts ((id *P-DIGITAL)))
                          (head-root digital)
                          (kce +)
                          (meaning adj-digital-20)
                          (morph-super -)
                          (ortho digital)
                          (pos adj)
                          (root digital)
                          (tokens 20)))
                        (cat n)
                        (concepts ((count +) (id *O-CAMERA) (mass -)))
                        (head-root camera)
                        (kce +)
                        (meaning n-camera-21)
                        (nominalized -)
                        (ortho cameras)
                        (plural +)
                        (pos n)
                        (referential +)
                        (root camera)
                        (standalone-tag -)
                        (tokens 21))
                      (
                        (cat n)
                        (concepts ((count +) (id *O-DIGITAL-CAMERA) (mass -)))
                        (head-root camera)
                        (head-token 21)
                        (kce +)
                        (meaning "n-digital camera-21")
                        (nominalized -)
                        (ortho "digital cameras")
                        (plural +)
                        (pos n)
                        (referential +)
                        (root "digital camera")
                        (standalone-tag -)
                        (tokens (*MULT* 20 21))))))
                  (ortho and)
                  (pos conj)
                  (root set-np)
                  (standalone-phrase -)
                  (standalone-tag -)
                  (tokens 19))
                (
                  (cat n)
                  (concepts ((count +) (id *O-DEVICE) (mass -)))
                  (head-root device)
                  (kce +)
                  (meaning n-device-11)
                  (nominalized -)
                  (ortho devices)
                  (plural +)
                  (pos n)
                  (pp (
                    (cat prep)
                    (diagnostic ((message "Do not use 'like' with a noun.  Try 'as' or 'such as'.") (score 15) (type LIKE)))
                    (obj (
                      (cat n)
                      (concepts ((coordination-type coordinate) (id *CONJ-AND)))
                      (conj ((root and)))
                      (head-root and)
                      (kce +)
                      (meaning conj-and-19)
                      (member (*MULT*
                        (
                          (cat n)
                          (concepts ((count +) (id *O-PRINTER) (mass -)))
                          (head-root printer)
                          (kce +)
                          (meaning n-printer-13)
                          (nominalized -)
                          (ortho printers)
                          (plural +)
                          (pos n)
                          (referential +)
                          (root printer)
                          (standalone-tag -)
                          (tokens 13))
                        (
                          (cat n)
                          (concepts ((count +) (id *O-MODEM) (mass -)))
                          (head-root modem)
                          (kce +)
                          (meaning n-modem-15)
                          (nominalized -)
                          (ortho modems)
                          (plural +)
                          (pos n)
                          (referential +)
                          (root modem)
                          (standalone-tag -)
                          (tokens 15))
                        (
                          (cat n)
                          (concepts ((count +) (id *O-SCANNER) (mass -)))
                          (head-root scanner)
                          (kce +)
                          (meaning n-scanner-17)
                          (nominalized -)
                          (ortho scanners)
                          (plural +)
                          (pos n)
                          (referential +)
                          (root scanner)
                          (standalone-tag -)
                          (tokens 17))
                        (*OR*
                          (
                            (adj (
                              (attributive-adj +)
                              (cat adj)
                              (concepts ((id *P-DIGITAL)))
                              (head-root digital)
                              (kce +)
                              (meaning adj-digital-20)
                              (morph-super -)
                              (ortho digital)
                              (pos adj)
                              (root digital)
                              (tokens 20)))
                            (cat n)
                            (concepts ((count +) (id *O-CAMERA) (mass -)))
                            (head-root camera)
                            (kce +)
                            (meaning n-camera-21)
                            (nominalized -)
                            (ortho cameras)
                            (plural +)
                            (pos n)
                            (referential +)
                            (root camera)
                            (standalone-tag -)
                            (tokens 21))
                          (
                            (cat n)
                            (concepts ((count +) (id *O-DIGITAL-CAMERA) (mass -)))
                            (head-root camera)
                            (head-token 21)
                            (kce +)
                            (meaning "n-digital camera-21")
                            (nominalized -)
                            (ortho "digital cameras")
                            (plural +)
                            (pos n)
                            (referential +)
                            (root "digital camera")
                            (standalone-tag -)
                            (tokens (*MULT* 20 21))))))
                      (ortho and)
                      (pos conj)
                      (root set-np)
                      (tokens 19)))
                    (root like)))
                  (referential +)
                  (root device)
                  (standalone-phrase -)
                  (standalone-tag -)
                  (tokens 11))))
              (ortho connecting)
              (participle +)
              (past -)
              (plural -)
              (pos v)
              (referential +)
              (root connect)
              (standalone-phrase -)
              (third-singular -)
              (tokens 10)
              (trans-or-intrans +))
            (
              (cat n)
              (concepts ((coordination-type coordinate) (id *CONJ-AND)))
              (conj ((root and)))
              (gerundive +)
              (head-root and)
              (kce +)
              (meaning conj-and-19)
              (member (*MULT*
                (*OR*
                  (
                    (being -)
                    (cat v)
                    (concepts (
                      (class (
                        (attribute -)
                        (complement -)
                        (direct-object theme)
                        (indirect-object none)
                        (subject agent)))
                      (count -)
                      (id *A-CONNECT)
                      (valency transitive)))
                    (form prespart)
                    (gap -)
                    (gerundive +)
                    (head-root connect)
                    (kce +)
                    (meaning v-connect-10)
                    (nominalized +)
                    (obj (
                      (cat n)
                      (concepts ((count +) (id *O-DEVICE) (mass -)))
                      (head-root device)
                      (kce +)
                      (meaning n-device-11)
                      (nominalized -)
                      (ortho devices)
                      (plural +)
                      (pos n)
                      (referential +)
                      (root device)
                      (standalone-phrase -)
                      (standalone-tag -)
                      (tokens 11)))
                    (ortho connecting)
                    (participle +)
                    (past -)
                    (plural -)
                    (pos v)
                    (pp (
                      (cat prep)
                      (diagnostic ((message "Do not use 'like' with a noun.  Try 'as' or 'such as'.") (score 15) (type LIKE)))
                      (obj (
                        (cat n)
                        (concepts ((count +) (id *O-PRINTER) (mass -)))
                        (head-root printer)
                        (kce +)
                        (meaning n-printer-13)
                        (nominalized -)
                        (ortho printers)
                        (plural +)
                        (pos n)
                        (referential +)
                        (root printer)
                        (standalone-tag -)
                        (tokens 13)))
                      (root like)))
                    (referential +)
                    (root connect)
                    (third-singular -)
                    (tokens 10)
                    (trans-or-intrans +))
                  (
                    (being -)
                    (cat v)
                    (concepts (
                      (class (
                        (attribute -)
                        (complement -)
                        (direct-object theme)
                        (indirect-object none)
                        (subject agent)))
                      (count -)
                      (id *A-CONNECT)
                      (valency transitive)))
                    (form prespart)
                    (gap -)
                    (gerundive +)
                    (head-root connect)
                    (kce +)
                    (meaning v-connect-10)
                    (nominalized +)
                    (obj (
                      (cat n)
                      (concepts ((count +) (id *O-DEVICE) (mass -)))
                      (head-root device)
                      (kce +)
                      (meaning n-device-11)
                      (nominalized -)
                      (ortho devices)
                      (plural +)
                      (pos n)
                      (pp (
                        (cat prep)
                        (diagnostic ((message "Do not use 'like' with a noun.  Try 'as' or 'such as'.") (score 15) (type LIKE)))
                        (obj (
                          (cat n)
                          (concepts ((count +) (id *O-PRINTER) (mass -)))
                          (head-root printer)
                          (kce +)
                          (meaning n-printer-13)
                          (nominalized -)
                          (ortho printers)
                          (plural +)
                          (pos n)
                          (referential +)
                          (root printer)
                          (standalone-tag -)
                          (tokens 13)))
                        (root like)))
                      (referential +)
                      (root device)
                      (standalone-phrase -)
                      (standalone-tag -)
                      (tokens 11)))
                    (ortho connecting)
                    (participle +)
                    (past -)
                    (plural -)
                    (pos v)
                    (referential +)
                    (root connect)
                    (third-singular -)
                    (tokens 10)
                    (trans-or-intrans +)))
                (
                  (cat n)
                  (concepts ((count +) (id *O-MODEM) (mass -)))
                  (head-root modem)
                  (kce +)
                  (meaning n-modem-15)
                  (nominalized -)
                  (ortho modems)
                  (plural +)
                  (pos n)
                  (referential +)
                  (root modem)
                  (standalone-tag -)
                  (tokens 15))
                (
                  (cat n)
                  (concepts ((count +) (id *O-SCANNER) (mass -)))
                  (head-root scanner)
                  (kce +)
                  (meaning n-scanner-17)
                  (nominalized -)
                  (ortho scanners)
                  (plural +)
                  (pos n)
                  (referential +)
                  (root scanner)
                  (standalone-tag -)
                  (tokens 17))
                (*OR*
                  (
                    (adj (
                      (attributive-adj +)
                      (cat adj)
                      (concepts ((id *P-DIGITAL)))
                      (head-root digital)
                      (kce +)
                      (meaning adj-digital-20)
                      (morph-super -)
                      (ortho digital)
                      (pos adj)
                      (root digital)
                      (tokens 20)))
                    (cat n)
                    (concepts ((count +) (id *O-CAMERA) (mass -)))
                    (head-root camera)
                    (kce +)
                    (meaning n-camera-21)
                    (nominalized -)
                    (ortho cameras)
                    (plural +)
                    (pos n)
                    (referential +)
                    (root camera)
                    (standalone-tag -)
                    (tokens 21))
                  (
                    (cat n)
                    (concepts ((count +) (id *O-DIGITAL-CAMERA) (mass -)))
                    (head-root camera)
                    (head-token 21)
                    (kce +)
                    (meaning "n-digital camera-21")
                    (nominalized -)
                    (ortho "digital cameras")
                    (plural +)
                    (pos n)
                    (referential +)
                    (root "digital camera")
                    (standalone-tag -)
                    (tokens (*MULT* 20 21))))))
              (ortho and)
              (pos conj)
              (root set-np)
              (standalone-phrase -)
              (tokens 19))))
          (ortho for)
          (pos prep)
          (root for)
          (tokens 9)))
        (root plug)
        (third-singular -)
        (tokens 7))))
  (ortho and)
  (pos conj)
  (punctuation period)
  (root set-s)
  (tokens 6))


; Replacement tokens
; smooth and shiny papers
(
  (adj (
    (attributive-adj +)
    (cat adj)
    (concepts ((coordination-type coordinate) (id *CONJ-AND)))
    (conj ((root and)))
    (diagnostic (
      (location replace)
      (message "'Smooth' and 'shiny' should not be joined by conjunction.")
      (replacement-tokens 2)
      (score 16)
      (text ",")
      (type COORDINATED_ADJ)))
    (head-root and)
    (kce +)
    (meaning conj-and-2)
    (member (*MULT*
      (
        (alternate-cats v)
        (capitalization-change capitalize)
        (cat adj)
        (concepts ((id *P-SMOOTH)))
        (head-root smooth)
        (kce +)
        (meaning adj-smooth-1)
        (morph-super +)
        (ortho Smooth)
        (pos adj)
        (root smooth)
        (tokens 1))
      (
        (cat adj)
        (concepts ((id *P-SHINY)))
        (head-root shiny)
        (kce +)
        (meaning adj-shiny-3)
        (morph-super +)
        (ortho shiny)
        (pos adj)
        (root shiny)
        (tokens 3))))
    (ortho and)
    (pos conj)
    (root set-adjp)
    (tokens 2)))
  (cat n)
  (concepts ((count +) (id *O-PAPER) (mass +)))
  (head-root paper)
  (ignore-diagnostic MISSING_DET)
  (kce +)
  (meaning n-paper-4)
  (nominalized -)
  (ortho papers)
  (plural +)
  (pos n)
  (referential +)
  (root paper)
  (standalone-phrase +)
  (standalone-tag -)
  (tokens 4))
