;;
;;
;;      Title : macros for keywords in the system
;;
;;      Function : these macros should be used rather than direct
;;                 'keyword in the system.  This is so the system will
;;                 port more easily.  Thus only this file has to be changed
;;                 if special quoting is required.
;;
;;      Author : Alan W Black   April 1985
;;               Dept of A.I. University of Edinburgh
;;
;;      Copyright Graeme Ritchie, Alan Black,
;;                Steve Pulman and Graham Russell  1987
;;
;;         ---------------------------------------------
;;         |    Not to be used for military purposes   |
;;         ---------------------------------------------
;;
;;         >>>>> COMMON LISP VERSION <<<<<
;;
;;      Description :
;;
;;      Parameters :
;;      Returns :
;;      Side Effect :
;;
;;      External references :
;;
;;      System functions used :
;;        Name     type      Args #  type                 Comment
;;
;;      Restrictions :
;;         Note these macros are preceded by DK-  but will normally
;;         be compiled out.
;;

(defmacro DK-Alias () `(intern "Alias"))
(defmacro DK-Variable () `(intern "Variable"))
(defmacro DK-Feature () `(intern "Feature"))
(defmacro DK-FeatureClass () `(intern "FeatureClass"))
(defmacro DK-Defaults () `(intern "Defaults"))
(defmacro DK-Top () `(intern "Top"))
(defmacro DK-LCategory () `(intern "LCategory"))
(defmacro DK-CatDef () `(intern "CatDef"))
(defmacro DK-has () `(intern "has"))
(defmacro DK-Declarations () `(intern "Declarations"))
(defmacro DK-Grammar () `(intern "Grammar"))
(defmacro DK-SurfaceAlphabet () `(intern "SurfaceAlphabet"))
(defmacro DK-SurfaceSets () `(intern "SurfaceSets"))
(defmacro DK-LexicalAlphabet () `(intern "LexicalAlphabet"))
(defmacro DK-Sets () `(intern "Sets"))
(defmacro DK-LexicalSets () `(intern "LexicalSets"))
(defmacro DK-DefaultPairs () `(intern "DefaultPairs"))
(defmacro DK-Rules () `(intern "Rules"))
(defmacro DK-WHead () `(intern "WHead"))
(defmacro DK-WDaughter () `(intern "WDaughter"))
(defmacro DK-MorphologyOnly () `(intern "MorphologyOnly"))
(defmacro DK-is () `(intern "is"))
(defmacro DK-or () `(intern "or"))
(defmacro DK-KleenePlus () `(intern "1+"))
(defmacro DK-where () `(intern "where"))
(defmacro DK-in () `(intern "in"))
(defmacro DK-CAT () `(intern "CAT"))
(defmacro DK-category () `(intern "category"))
(defmacro DK-NonInflect () `(intern "NonInflect"))
(defmacro DK-Entries () `(intern "Entries"))
(defmacro DK-Completion () `(intern "Completion"))
(defmacro DK-Multiplication () `(intern "Multiplication"))
(defmacro DK-Checks () `(intern "Checks"))
(defmacro DK-Consistency () `(intern "Consistency"))
(defmacro DK-demands () `(intern "demands"))
(defmacro DK-and () `(intern "and"))
(defmacro DK-INCLUDE () `(intern "include"))
(defmacro DK-NONULLS-FLAG () `(intern "NONULLS"))
(defmacro DK-NULL () `(intern "0"))
(defmacro DK-ON () `(intern "on"))
(defmacro DK-OFF () `(intern "off"))
(defmacro DK-TRACE () `(intern "trace"))
(defmacro DK-INCORE () `(intern "incore"))
(defmacro DK-NONINFLECTCD () `(intern "noninflect"))
(defmacro DK-Alternate () `(intern "Alternate"))

;;
;;   File name extensions
;;
(defmacro DK-SP () `(intern ".sp"))
(defmacro DK-SP-MA () `(intern ".sp.ma"))
(defmacro DK-GR () `(intern ".gr"))
(defmacro DK-GR-MA () `(intern ".gr.ma"))
(defmacro DK-LE () `(intern ".le"))
(defmacro DK-LE-MA () `(intern ".le.ma"))
(defmacro DK-EN-MA () `(intern ".en.ma"))

;;
;;  Required Feature name
;;
(defmacro DK-STEM () `(quote STEM))

;;
;;  Special State Name
;;
(defmacro DK-D-ERROR () `(quote D-ERROR))

;;
;;  End markers for strings when looking up dictionary
;;
(defmacro DK-ENDMARKER () `(intern "zzz"))
(defmacro DK-ENDTREE () `(intern "AA"))  ;; to be near start of list

;;
;;  Macros used in the readatom routine
;;
(defmacro DK-LEFTPAREN () #\( )
(defmacro DK-RIGHTPAREN () #\) )
(defmacro DK-HASH () #\# )
(defmacro DK-SEMICOLON () #\; )
(defmacro DK-COLON () #\: )
(defmacro DK-LEFTBRACE () #\{ )
(defmacro DK-RIGHTBRACE () #\} )
(defmacro DK-LEFTANGLE () #\< )
(defmacro DK-RIGHTANGLE () #\> )
(defmacro DK-LEFTBRACKET () #\[ )
(defmacro DK-RIGHTBRACKET () #\] )
(defmacro DK-COMMA () #\, )
(defmacro DK-SPACE () #\  )
(defmacro DK-SIMPLEQUOTE () #\')
(defmacro DK-BANG () #\! ) 
(defmacro DK-TAB () #\	 )
(defmacro DK-READERQUOTE () #\" )
(defmacro DK-READERENDOFLINE () #\
) 
(defmacro DK-MINUS_SIGN () #\-)
(defmacro DK-NUMBERSLIST () `(quote (#\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9)))

(defmacro DK-D-EOF () `(quote EOF))

(defmacro DK-COMPILERDIRECTIVE () `(quote (compiler directive)))

;;
;;  Command names for the command interface
;;
(defmacro DK-COM-EXITS () `(quote (|e| |exit| |q| |quit|)))
(defmacro DK-COM-HELPS () `(quote (|h| ? |help|)))
(defmacro DK-COM-TRACE () `(quote |t|))
(defmacro DK-COM-LOAD () `(quote |l|))
(defmacro DK-COM-LS () `(quote |ls|))
(defmacro DK-COM-LL () `(quote |ll|))
(defmacro DK-COM-LG () `(quote |lg|))
(defmacro DK-COM-AL () `(quote |al|))
(defmacro DK-COM-CL () `(quote |cl|))
(defmacro DK-COM-CS () `(quote |cs|))
(defmacro DK-COM-CG () `(quote |cg|))
(defmacro DK-COM-W () `(quote |w|))
(defmacro DK-COM-F () `(quote |f|))
(defmacro DK-COM-M () `(quote |m|))
(defmacro DK-COM-S () `(quote |s|))
(defmacro DK-COM-CLEAR () `(quote |clear|))
(defmacro DK-COM-DS () `(quote |ds|))
(defmacro DK-COM-SPDEBUG () `(quote |spd|))
(defmacro DK-COM-SETTOP () `(quote |st|))
(defmacro DK-COM-DEBUG () `(quote |db|))
(defmacro DK-COM-EVAL () `(quote |eval|))
(defmacro DK-COM-LA () `(quote |la|))
(defmacro DK-COM-CM () `(quote |cm|))

(defmacro DK-COM-YES () `(quote (Y YES |yes| |y|))) 

(defmacro DK-SYM-COLON () `(intern ":"))

(defmacro DK-SPDEBUG-INFO () `(quote (|i| I INFO |info|)))

;;
;;  for parser debugger
;;
(defmacro DK-DEBUG-DISPLAY-EDGE () `(quote |de|))
(defmacro DK-DEBUG-DISPLAY-VERTEX () `(quote |dv|))
(defmacro DK-DEBUG-VII () `(quote |ii|))  ;; incomplete incoming
(defmacro DK-DEBUG-VCO () `(quote |co|))  ;; complete outgoing
(defmacro DK-DEBUG-VTYPE () `(quote (,(DK-DEBUG-VII) ,(DK-DEBUG-VCO))))
(defmacro DK-DEBUG-DISPLAY-CHART () `(quote |dc|))

;;
;;   Version stamp  - DK-VERSION-STAMP is defined in catrouts.*
;;
(defmacro DK-LISP-VERSION ()
    `(quote (CL 3 1)))

