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

;;
;;   File name extensions
;;
(defmacro DK-SP () `(quote ,(intern ".sp")))
(defmacro DK-SP-MA () `(quote ,(intern ".sp.ma")))
(defmacro DK-GR () `(quote ,(intern ".gr")))
(defmacro DK-GR-MA () `(quote ,(intern ".gr.ma")))
(defmacro DK-LE () `(quote ,(intern ".le")))
(defmacro DK-LE-MA () `(quote ,(intern ".le.ma")))
(defmacro DK-EN-MA () `(quote ,(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 () `(quote ,(intern "zzz")))
(defmacro DK-ENDTREE () `(quote ,(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 () `(quote ,(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)))

