chiark / gitweb /
src/lexer-proto.lisp: New parser `must'.
[sod] / doc / SYMBOLS
index f729de4d3cbc1662c72090dd04397d02ab388c9b..c506fcfe1b30c194c1b0e56f634da4e18ad4dfda 100644 (file)
@@ -16,10 +16,14 @@ c-types-class-impl.lisp
 
 c-types-impl.lisp
   cl:*                                          variable function c-type
+  alignas
+  alignas-storage-specifier                     class
   cl:array                                      class c-type
+  atomic                                        c-type
   bool                                          c-type
   c-array-dimensions                            generic
   c-array-type                                  class
+  c-atomic-type                                 class
   c-enum-type                                   class
   c-function-arguments                          generic
   c-function-keywords                           generic
@@ -66,6 +70,7 @@ c-types-impl.lisp
   double-complex                                c-type
   double-imaginary                              c-type
   enum                                          c-type
+  find-simple-c-type                            function
   cl:float                                      function class c-type
   float-complex                                 c-type
   float-imaginary                               c-type
@@ -84,6 +89,7 @@ c-types-impl.lisp
   long-long                                     c-type
   long-long-int                                 c-type
   make-array-type                               function
+  make-atomic-type                              function
   make-c-tagged-type                            function
   make-enum-type                                function
   make-function-type                            function
@@ -117,6 +123,7 @@ c-types-impl.lisp
   size-t                                        c-type
   sllong                                        c-type
   slong                                         c-type
+  specs                                         c-type
   sshort                                        c-type
   cl:string                                     function class c-type opthandler
   struct                                        c-type
@@ -153,25 +160,35 @@ c-types-proto.lisp
   argument-type                                 function
   argumentp                                     function
   c-name-case                                   function
+  c-qualifier-keyword                           generic
+  c-storage-specifiers-type                     class
   c-type                                        macro class
   c-type-alias                                  macro
   c-type-equal-p                                generic
+  c-type-qualifier-keywords                     function
   c-type-qualifiers                             generic
   c-type-space                                  function
+  c-type-specifiers                             generic
   c-type-subtype                                generic
   canonify-qualifiers                           function
   commentify-argument-name                      generic
   defctype                                      macro
+  define-c-storage-specifier-syntax             macro
   define-c-type-syntax                          macro
+  expand-c-storage-specifier                    generic
+  expand-c-storage-specifier-form               generic
   expand-c-type-form                            generic
   expand-c-type-spec                            generic
   format-qualifiers                             function
   make-argument                                 function
   maybe-in-parens                               macro
+  pprint-c-storage-specifier                    generic
   pprint-c-type                                 generic
+  print-c-storage-specifier                     generic
   print-c-type                                  generic
   qualifiable-c-type                            class
   qualify-c-type                                generic
+  wrap-c-type                                   function
 
 class-finalize-impl.lisp
   c3-cpl                                        function
@@ -179,6 +196,7 @@ class-finalize-impl.lisp
   dylan-cpl                                     function
   flavors-cpl                                   function
   l*loops-cpl                                   function
+  merge-class-lists                             function
   python-cpl                                    function
 
 class-finalize-proto.lisp
@@ -219,6 +237,7 @@ class-layout-proto.lisp
   effective-slot-class                          generic
   effective-slot-direct-slot                    generic
   effective-slot-initializer                    generic
+  find-slot-initargs                            generic
   find-slot-initializer                         generic
   ichain                                        class
   ichain-body                                   generic
@@ -268,6 +287,10 @@ class-make-proto.lisp
   make-sod-method                               generic
   make-sod-method-using-message                 generic
   make-sod-slot                                 generic
+  make-sod-slot-initarg                         generic
+  make-sod-slot-initarg-using-slot              generic
+  make-sod-user-initarg                         generic
+  sod-initarg-argument                          generic
   sod-message-method-class                      generic
 
 class-output.lisp
@@ -316,6 +339,7 @@ classes.lisp
   sod-class-tearfrags                           generic setf
   sod-class-type                                generic
   sod-class-vtables                             generic
+  sod-initarg                                   class
   sod-initializer                               class
   sod-initializer-class                         generic
   sod-initializer-slot                          generic
@@ -332,8 +356,10 @@ classes.lisp
   sod-method-type                               generic
   sod-slot                                      class
   sod-slot-class                                generic
+  sod-slot-initarg                              class
   sod-slot-name                                 generic
   sod-slot-type                                 generic
+  sod-user-initarg                              class
 
 codegen-impl.lisp
   codegen                                       class
@@ -427,6 +453,7 @@ final.lisp
   *sod-version*                                 variable
   exercise                                      function
   test-module                                   function
+  test-parse-c-type                             function
   test-parser                                   macro
 
 fragment-parse.lisp
@@ -437,6 +464,7 @@ lexer-proto.lisp
   define-indicator                              function
   cl:error                                      function class parser
   lexer-error                                   function
+  must                                          parser
   scan-comment                                  function
   skip-until                                    function parser
   sod-token-scanner                             class
@@ -503,6 +531,7 @@ method-proto.lisp
   method-entry-function-name                    generic
   method-entry-function-type                    generic
   method-entry-slot-name                        generic
+  method-keyword-argument-lists                 generic
   primary-method-class                          generic
   simple-method-body                            generic
   sod-message-argument-tail                     generic
@@ -572,6 +601,7 @@ output-proto.lisp
   sequencer-table                               generic
 
 pset-parse.lisp
+  parse-property                                function
   parse-property-set                            function
 
 pset-proto.lisp
@@ -603,7 +633,11 @@ pset-proto.lisp
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      cl:serious-condition
+        cl:error
     cl:standard-object
+      alignas-storage-specifier
       base-offset
       sod::basic-codegen
         codegen
@@ -613,7 +647,9 @@ cl:t
         c-array-type
         c-function-type
           c-keyword-function-type
+        c-storage-specifiers-type
         qualifiable-c-type
+          c-atomic-type
           c-pointer-type
           simple-c-type
             c-class-type
@@ -665,6 +701,9 @@ cl:t
           cl:class [sb-pcl::definition-source-mixin sb-pcl::standard-specializer]
       sequencer
       sod-class
+      sod-initarg
+        sod-slot-initarg
+        sod-user-initarg
       sod-initializer
         sod-class-initializer
         sod-instance-initializer
@@ -717,6 +756,9 @@ c-function-arguments
   c-function-type
 c-function-keywords
   c-keyword-function-type
+c-qualifier-keyword
+  (eql :atomic)
+  cl:symbol
 c-tagged-type-kind
   c-enum-type
   c-struct-type
@@ -726,23 +768,30 @@ c-type-class
 (setf c-type-class)
   t c-class-type
 c-type-equal-p
-  t t
-  c-array-type c-array-type
-  c-class-type c-class-type
-  c-function-type c-function-type
-  c-keyword-function-type c-keyword-function-type
-  c-pointer-type c-pointer-type
-  qualifiable-c-type qualifiable-c-type
-  simple-c-type simple-c-type
-  tagged-c-type tagged-c-type
+  t t [and]
+  c-array-type c-array-type [and]
+  c-atomic-type c-atomic-type [and]
+  c-class-type c-class-type [and]
+  c-function-type c-function-type [and]
+  c-keyword-function-type c-keyword-function-type [and]
+  c-pointer-type c-pointer-type [and]
+  c-storage-specifiers-type c-type [:around]
+  c-type c-storage-specifiers-type [:around]
+  qualifiable-c-type qualifiable-c-type [and]
+  simple-c-type simple-c-type [and]
+  tagged-c-type tagged-c-type [and]
 c-type-name
   simple-c-type
 c-type-qualifiers
   qualifiable-c-type
+c-type-specifiers
+  c-storage-specifiers-type
 c-type-subtype
   c-array-type
+  c-atomic-type
   c-function-type
   c-pointer-type
+  c-storage-specifiers-type
 c-type-tag
   tagged-c-type
 chain-offset-chain-head
@@ -832,7 +881,7 @@ compute-chains
 compute-cpl
   sod-class
 compute-effective-method-body
-  basic-effective-method t t
+  basic-effective-method t t [:around]
   simple-effective-method t t
 compute-effective-methods
   sod-class
@@ -847,8 +896,7 @@ compute-islots
   sod-class sod-class
 compute-method-entry-functions
   basic-effective-method
-  effective-method
-  simple-effective-method
+  effective-method [:around]
 compute-sod-effective-method
   sod-message sod-class
 compute-vtable
@@ -906,6 +954,12 @@ ensure-sequencer-item
   sequencer t
 ensure-var
   sod::basic-codegen t t
+expand-c-storage-specifier
+  cl:list
+  cl:symbol
+expand-c-storage-specifier-form
+  (eql alignas) t
+  (eql sod-parser:lisp) t
 expand-c-type-form
   (eql cl:*) t
   (eql cl:array) t
@@ -915,6 +969,7 @@ expand-c-type-form
   (eql cl:function) t
   (eql cl:nil) t
   (eql cl:union) t
+  (eql atomic) t
   (eql bool) t
   (eql double) t
   (eql double-complex) t
@@ -937,6 +992,7 @@ expand-c-type-form
   (eql short) t
   (eql signed-char) t
   (eql size-t) t
+  (eql specs) t
   (eql struct) t
   (eql unsigned) t
   (eql unsigned-char) t
@@ -1011,6 +1067,7 @@ sod-parser:file-location
   c-fragment
   property
   sod-class
+  sod-initarg
   sod-initializer
   sod-message
   sod-method
@@ -1019,6 +1076,8 @@ finalize-module
   module
 finalize-sod-class
   sod-class
+find-slot-initargs
+  sod-class sod-slot
 find-slot-initializer
   sod-class sod-slot
 format-temporary-name
@@ -1029,47 +1088,47 @@ format-temporary-name
 guess-metaclass
   sod-class
 hook-output
-  t t t
-  base-offset (eql :c) t
-  base-offset (eql :h) t
-  basic-effective-method (eql :c) t
-  chain-offset (eql :c) t
-  chain-offset (eql :h) t
-  class-pointer (eql :c) t
-  class-pointer (eql :h) t
-  code-fragment-item t t
-  delegating-direct-method (eql :c) t
-  effective-slot (eql cl:class) t
-  ichain (eql :h) t
-  ichain (eql cl:class) t
-  ichain (eql ilayout) t
-  ichain t t
-  ilayout (eql :h) t
-  ilayout t t
-  islots (eql :h) t
-  islots (eql cl:class) t
-  islots t t
-  method-entry (eql :c) t
-  method-entry (eql vtmsgs) t
-  module (eql :c) t
-  module (eql :h) t
-  module t t
-  sod-class (eql :c) t
-  sod-class (eql :h) t
-  sod-class t t
-  sod-class-effective-slot (eql cl:class) t
-  sod-method (eql :c) t
-  sod-method (eql :h) t
-  sod-slot (eql islots) t
-  vtable (eql :c) t
-  vtable (eql :h) t
-  vtable t t
-  vtable-pointer (eql :h) t
-  vtable-pointer (eql cl:class) t
-  vtmsgs (eql :c) t
-  vtmsgs (eql :h) t
-  vtmsgs (eql vtmsgs) t
-  vtmsgs t t
+  t t t [progn]
+  base-offset (eql :c) t [progn]
+  base-offset (eql :h) t [progn]
+  basic-effective-method (eql :c) t [progn]
+  chain-offset (eql :c) t [progn]
+  chain-offset (eql :h) t [progn]
+  class-pointer (eql :c) t [progn]
+  class-pointer (eql :h) t [progn]
+  code-fragment-item t t [progn]
+  delegating-direct-method (eql :c) t [progn]
+  effective-slot (eql cl:class) t [progn]
+  ichain (eql :h) t [progn]
+  ichain (eql cl:class) t [progn]
+  ichain (eql ilayout) t [progn]
+  ichain t t [progn]
+  ilayout (eql :h) t [progn]
+  ilayout t t [progn]
+  islots (eql :h) t [progn]
+  islots (eql cl:class) t [progn]
+  islots t t [progn]
+  method-entry (eql :c) t [progn]
+  method-entry (eql vtmsgs) t [progn]
+  module (eql :c) t [progn]
+  module (eql :h) t [progn]
+  module t t [progn]
+  sod-class (eql :c) t [progn]
+  sod-class (eql :h) t [progn]
+  sod-class t t [progn]
+  sod-class-effective-slot (eql cl:class) t [progn]
+  sod-method (eql :c) t [progn]
+  sod-method (eql :h) t [progn]
+  sod-slot (eql islots) t [progn]
+  vtable (eql :c) t [progn]
+  vtable (eql :h) t [progn]
+  vtable t t [progn]
+  vtable-pointer (eql :h) t [progn]
+  vtable-pointer (eql cl:class) t [progn]
+  vtmsgs (eql :c) t [progn]
+  vtmsgs (eql :h) t [progn]
+  vtmsgs (eql vtmsgs) t [progn]
+  vtmsgs t t [progn]
 ichain-body
   ichain
 ichain-class
@@ -1144,6 +1203,7 @@ inst-metric
   if-inst
   return-inst
   set-inst
+  sod::suppliedp-struct-inst
   update-inst
   var-inst
   while-inst
@@ -1159,6 +1219,7 @@ inst-update
   for-inst
 inst-var
   set-inst
+  sod::suppliedp-struct-inst
   update-inst
 invoke-sequencer-items
   sequencer
@@ -1200,6 +1261,12 @@ make-sod-method-using-message
   sod-message sod-class t t t t
 make-sod-slot
   sod-class t t t
+make-sod-slot-initarg
+  sod-class t t t t
+make-sod-slot-initarg-using-slot
+  sod-class t sod-slot t
+make-sod-user-initarg
+  sod-class t t t
 method-entry-chain-head
   method-entry
 method-entry-chain-tail
@@ -1212,6 +1279,9 @@ method-entry-function-type
   method-entry
 method-entry-slot-name
   method-entry
+method-keyword-argument-lists
+  effective-method t
+  sod::initialization-effective-method t
 module-dependencies
   module
 (setf module-dependencies)
@@ -1229,22 +1299,33 @@ module-name
   module
 module-pset
   module
+pprint-c-storage-specifier
+  cl:symbol t
+  alignas-storage-specifier t
 pprint-c-type
-  t t t
+  t t t [:around]
   c-array-type t t
+  c-atomic-type t t
   c-function-type t t
   c-keyword-function-type t t
   c-pointer-type t t
+  c-storage-specifiers-type t t
   simple-c-type t t
   tagged-c-type t t
 primary-method-class
   simple-message
   standard-message
+print-c-storage-specifier
+  t cl:symbol
+  t t
+  t alignas-storage-specifier
 print-c-type
   t c-array-type
+  t c-atomic-type
   t c-class-type
   t c-function-type
   t c-pointer-type
+  t c-storage-specifiers-type
   t simple-c-type
   t tagged-c-type
 cl:print-object
@@ -1301,22 +1382,22 @@ sequencer-constraints
 sequencer-table
   sequencer
 cl:shared-initialize
-  aggregating-message t
-  basic-direct-method t
-  c-function-type t
-  c-keyword-function-type t
-  effective-method t
-  method-codegen t
-  module t
+  aggregating-message t [:before]
+  basic-direct-method t [:after]
+  c-function-type t [:after]
+  c-keyword-function-type t [:after]
+  effective-method t [:after]
+  method-codegen t [:after]
+  module t [:after]
   sequencer t
-  simple-effective-method t
-  sod-class t
-  sod-class-slot t
-  sod-initializer t
-  sod-message t
-  sod-method t
-  sod-slot t
-  sod-token-scanner t
+  simple-effective-method t [:after]
+  sod-class t [:after]
+  sod-class-slot t [:after]
+  sod-initializer t [:after]
+  sod-message t [:after]
+  sod-method t [:after]
+  sod-slot t [:after]
+  sod-token-scanner t [:after]
 simple-method-body
   aggregating-effective-method t t
   sod::lifecycle-effective-method t t
@@ -1385,6 +1466,8 @@ sod-class-type
   sod-class
 sod-class-vtables
   sod-class
+sod-initarg-argument
+  sod-initarg
 sod-initializer-class
   sod-initializer
 sod-initializer-slot
@@ -1495,7 +1578,9 @@ floc-proto.lisp
   enclosed-condition                            generic
   enclosing-condition                           class
   enclosing-condition-with-location             class
+  enclosing-condition-with-location-type        generic
   enclosing-error-with-location                 class
+  enclosing-information-with-location           class
   enclosing-warning-with-location               class
   error-with-location                           function class
   file-location                                 generic class
@@ -1503,10 +1588,17 @@ floc-proto.lisp
   file-location-filename                        function
   file-location-line                            function
   file-location-p                               function
+  info                                          function
+  info-with-location                            function
+  information                                   class
+  information-with-location                     class
   make-condition-with-location                  function
   make-file-location                            function
+  noted
   simple-condition-with-location                class
   simple-error-with-location                    class
+  simple-information                            class
+  simple-information-with-location              class
   simple-warning-with-location                  class
   warn-with-location                            function
   warning-with-location                         class
@@ -1545,6 +1637,7 @@ parser-proto.lisp
   cl:char                                       function setf c-type parser
   character-parser-context                      class
   combine-parser-failures                       function
+  commit                                        parser
   cond-parse                                    macro
   define-pluggable-parser                       macro
   defparse                                      macro
@@ -1561,6 +1654,8 @@ parser-proto.lisp
   cl:not                                        function parser
   cl:or                                         macro parser
   parse
+  parse-empty                                   function
+  parse-fail                                    function
   parser                                        macro
   parser-at-eof-p                               generic
   parser-capture-place                          generic
@@ -1638,6 +1733,51 @@ streams-proto.lisp
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      condition-with-location
+        enclosing-condition-with-location [enclosing-condition]
+          enclosing-error-with-location [cl:error]
+          enclosing-information-with-location [information]
+          enclosing-warning-with-location [cl:warning]
+        error-with-location [cl:error]
+          simple-error-with-location [cl:simple-error]
+        information-with-location [information]
+          simple-information-with-location [simple-information]
+        simple-condition-with-location [cl:simple-condition]
+        warning-with-location [cl:warning]
+          simple-warning-with-location [cl:simple-warning]
+      enclosing-condition
+        enclosing-condition-with-location [condition-with-location]
+          enclosing-error-with-location [cl:error]
+          enclosing-information-with-location [information]
+          enclosing-warning-with-location [cl:warning]
+      information
+        enclosing-information-with-location [enclosing-condition-with-location]
+        information-with-location [condition-with-location]
+          simple-information-with-location [simple-information]
+        simple-information [cl:simple-condition]
+          simple-information-with-location [information-with-location]
+      cl:serious-condition
+        cl:error
+          enclosing-error-with-location [enclosing-condition-with-location]
+          error-with-location [condition-with-location]
+            simple-error-with-location [cl:simple-error]
+          cl:simple-error [cl:simple-condition]
+            simple-error-with-location [error-with-location]
+      cl:simple-condition
+        simple-condition-with-location [condition-with-location]
+        cl:simple-error [cl:error]
+          simple-error-with-location [error-with-location]
+        simple-information [information]
+          simple-information-with-location [information-with-location]
+        cl:simple-warning [cl:warning]
+          simple-warning-with-location [warning-with-location]
+      cl:warning
+        enclosing-warning-with-location [enclosing-condition-with-location]
+        cl:simple-warning [cl:simple-condition]
+          simple-warning-with-location [warning-with-location]
+        warning-with-location [condition-with-location]
+          simple-warning-with-location [cl:simple-warning]
     cl:standard-object
       character-parser-context
         character-scanner-context [scanner-context]
@@ -1742,6 +1882,11 @@ charbuf-scanner-map
   charbuf-scanner t
 enclosed-condition
   enclosing-condition
+enclosing-condition-with-location-type
+  cl:condition
+  cl:error
+  cl:warning
+  information
 expand-parser-form
   t (eql cl:and) t
   t (eql cl:list) t
@@ -1750,6 +1895,7 @@ expand-parser-form
   t (eql cl:t) t
   t (eql cl:when) t
   t (eql ?) t
+  t (eql commit) t
   t (eql expr) t
   t (eql label) t
   t (eql lisp) t
@@ -1768,6 +1914,7 @@ expand-parser-form
   list-parser (eql cl:type) t
   token-parser-context (eql token) t
   token-scanner-context (eql cl:error) t
+  token-scanner-context (eql sod:must) t
   token-scanner-context (eql sod:skip-until) t
 expand-parser-spec
   t (eql :eof)
@@ -1787,6 +1934,7 @@ file-location
   sod:c-fragment
   sod:property
   sod:sod-class
+  sod:sod-initarg
   sod:sod-initializer
   sod:sod-message
   sod:sod-method
@@ -1796,6 +1944,7 @@ file-location
   condition-with-location
   file-location
   position-aware-stream
+  string-scanner
   token-scanner
   token-scanner-place
 cl:make-load-form
@@ -1865,7 +2014,7 @@ cl:print-object
 push-operator
   t sod-parser::expression-parse-state
   close-parenthesis sod-parser::expression-parse-state
-  open-parenthesis sod-parser::expression-parse-state
+  open-parenthesis sod-parser::expression-parse-state [:after]
   prefix-operator sod-parser::expression-parse-state
 push-value
   t sod-parser::expression-parse-state
@@ -1883,6 +2032,7 @@ scanner-capture-place
 scanner-column
   t
   charbuf-scanner
+  string-scanner
   token-scanner
 (setf scanner-column)
   t token-scanner
@@ -1892,6 +2042,7 @@ scanner-current-char
 scanner-filename
   t
   charbuf-scanner
+  string-scanner
   token-scanner
 scanner-interval
   charbuf-scanner t
@@ -1899,6 +2050,7 @@ scanner-interval
 scanner-line
   t
   charbuf-scanner
+  string-scanner
   token-scanner
 (setf scanner-line)
   t token-scanner
@@ -1920,10 +2072,11 @@ scanner-token
   sod:sod-token-scanner
 scanner-unread
   charbuf-scanner t
+  string-scanner t
 cl:shared-initialize
-  charbuf-scanner t
-  simple-binary-operator t
-  token-scanner t
+  charbuf-scanner t [:after]
+  simple-binary-operator t [:after]
+  token-scanner t [:after]
 sb-gray:stream-line-column
   position-aware-output-stream
 stream-pathname
@@ -2028,13 +2181,15 @@ optparse.lisp
   cl:string                                     function class c-type opthandler
   with-unix-error-reporting                     macro
 
-Leaked slot names: cl:documentation, options
-  option: cl:documentation
-  option-parser: options
-
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      cl:serious-condition
+        cl:error
+          option-parse-error [cl:simple-condition]
+      cl:simple-condition
+        option-parse-error [cl:error]
     cl:structure-object
       option
       option-parser
@@ -2047,6 +2202,7 @@ cl:print-object
 Package `sod-utilities'
 
 utilities.lisp
+  aand                                          macro
   acase                                         macro
   acond                                         macro
   aecase                                        macro
@@ -2063,6 +2219,8 @@ utilities.lisp
   default-slot                                  macro
   define-access-wrapper                         macro
   define-on-demand-slot                         macro
+  defvar-unbound                                macro
+  designated-condition                          function
   dosequence                                    macro
   sb-mop:eql-specializer                        class
   sb-mop:eql-specializer-object                 generic
@@ -2096,6 +2254,10 @@ utilities.lisp
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      cl:serious-condition
+        cl:error
+          inconsistent-merge-error
     cl:standard-object
       sb-mop:metaobject
         sb-mop:specializer