Static instance support.
[sod] / doc / SYMBOLS
index 9af73e1..dc1e784 100644 (file)
@@ -7,20 +7,20 @@ builtin.lisp
 
 c-types-class-impl.lisp
   c-class-type                                  class
-  c-type-class                                  generic setf
-  cl:class                                      class c-type
+  c-type-class                                  generic setf-generic
+  cl:class                                      class c-type-form
   find-class-type                               function
   find-sod-class                                function
   make-class-type                               function
   record-sod-class                              function
 
 c-types-impl.lisp
-  cl:*                                          variable function c-type
+  cl:*                                          variable function c-type-form
   alignas
   alignas-storage-specifier                     class
-  cl:array                                      class c-type
-  atomic                                        c-type
-  bool                                          c-type
+  cl:array                                      class c-type-form
+  atomic                                        c-type-form
+  bool                                          c-type-spec c-type-form
   c-array-dimensions                            generic
   c-array-type                                  class
   c-atomic-type                                 class
@@ -41,6 +41,20 @@ c-types-impl.lisp
   c-type-float-complex                          variable
   c-type-float-imaginary                        variable
   c-type-int                                    variable
+  c-type-int-fast16-t                           variable
+  c-type-int-fast32-t                           variable
+  c-type-int-fast64-t                           variable
+  c-type-int-fast8-t                            variable
+  c-type-int-least16-t                          variable
+  c-type-int-least32-t                          variable
+  c-type-int-least64-t                          variable
+  c-type-int-least8-t                           variable
+  c-type-int16-t                                variable
+  c-type-int32-t                                variable
+  c-type-int64-t                                variable
+  c-type-int8-t                                 variable
+  c-type-intmax-t                               variable
+  c-type-intptr-t                               variable
   c-type-long                                   variable
   c-type-long-double                            variable
   c-type-long-double-complex                    variable
@@ -52,6 +66,20 @@ c-types-impl.lisp
   c-type-signed-char                            variable
   c-type-size-t                                 variable
   c-type-tag                                    generic
+  c-type-uint-fast16-t                          variable
+  c-type-uint-fast32-t                          variable
+  c-type-uint-fast64-t                          variable
+  c-type-uint-fast8-t                           variable
+  c-type-uint-least16-t                         variable
+  c-type-uint-least32-t                         variable
+  c-type-uint-least64-t                         variable
+  c-type-uint-least8-t                          variable
+  c-type-uint16-t                               variable
+  c-type-uint32-t                               variable
+  c-type-uint64-t                               variable
+  c-type-uint8-t                                variable
+  c-type-uintmax-t                              variable
+  c-type-uintptr-t                              variable
   c-type-unsigned                               variable
   c-type-unsigned-char                          variable
   c-type-unsigned-long                          variable
@@ -61,33 +89,47 @@ c-types-impl.lisp
   c-type-void                                   variable
   c-type-wchar-t                                variable
   c-union-type                                  class
-  cl:char                                       function setf c-type parser
+  cl:char                                       function setf-function c-type-spec c-type-form parser-form
   commentify-argument-names                     function
   commentify-function-type                      function
-  const-string                                  c-type
+  const-string                                  c-type-spec
   define-simple-c-type                          macro
-  double                                        c-type
-  double-complex                                c-type
-  double-imaginary                              c-type
-  enum                                          c-type
+  double                                        c-type-spec c-type-form
+  double-complex                                c-type-spec c-type-form
+  double-imaginary                              c-type-spec c-type-form
+  enum                                          c-type-form
   find-simple-c-type                            function
-  cl:float                                      function class c-type
-  float-complex                                 c-type
-  float-imaginary                               c-type
-  fn                                            c-type
-  fun                                           c-type
-  func                                          c-type
-  cl:function                                   function class c-type
-  int                                           c-type
+  cl:float                                      function class c-type-spec c-type-form
+  float-complex                                 c-type-spec c-type-form
+  float-imaginary                               c-type-spec c-type-form
+  fn                                            c-type-form
+  fun                                           c-type-form
+  func                                          c-type-form
+  cl:function                                   function class c-type-form
+  sod-utilities:int                             c-type-spec c-type-form opthandler
+  int-fast16-t                                  c-type-spec c-type-form
+  int-fast32-t                                  c-type-spec c-type-form
+  int-fast64-t                                  c-type-spec c-type-form
+  int-fast8-t                                   c-type-spec c-type-form
+  int-least16-t                                 c-type-spec c-type-form
+  int-least32-t                                 c-type-spec c-type-form
+  int-least64-t                                 c-type-spec c-type-form
+  int-least8-t                                  c-type-spec c-type-form
+  int16-t                                       c-type-spec c-type-form
+  int32-t                                       c-type-spec c-type-form
+  int64-t                                       c-type-spec c-type-form
+  int8-t                                        c-type-spec c-type-form
+  intmax-t                                      c-type-spec c-type-form
+  intptr-t                                      c-type-spec c-type-form
   kind-c-tagged-type                            generic
-  llong                                         c-type
-  long                                          c-type
-  long-double                                   c-type
-  long-double-complex                           c-type
-  long-double-imaginary                         c-type
-  long-int                                      c-type
-  long-long                                     c-type
-  long-long-int                                 c-type
+  llong                                         c-type-spec
+  long                                          c-type-spec c-type-form
+  long-double                                   c-type-spec c-type-form
+  long-double-complex                           c-type-spec c-type-form
+  long-double-imaginary                         c-type-spec c-type-form
+  long-int                                      c-type-spec
+  long-long                                     c-type-spec c-type-form
+  long-long-int                                 c-type-spec
   make-array-type                               function
   make-atomic-type                              function
   make-c-tagged-type                            function
@@ -99,55 +141,69 @@ c-types-impl.lisp
   make-struct-type                              function
   make-union-type                               function
   merge-keyword-lists                           function
-  cl:nil                                        constant c-type parser
-  pointer                                       c-type
+  cl:nil                                        constant c-type-form parser-spec parser-form
+  pointer                                       c-type-form
   pprint-argument-list                          function
   pprint-c-function-type                        function
-  ptr                                           c-type
-  ptrdiff-t                                     c-type
+  ptr                                           c-type-form
+  ptrdiff-t                                     c-type-spec c-type-form
   reify-variable-argument-tail                  function
-  cl:schar                                      function setf c-type
-  short                                         c-type
-  short-int                                     c-type
-  signed                                        c-type
-  signed-char                                   c-type
-  signed-int                                    c-type
-  signed-long                                   c-type
-  signed-long-int                               c-type
-  signed-long-long                              c-type
-  signed-long-long-int                          c-type
-  signed-short                                  c-type
-  signed-short-int                              c-type
+  cl:schar                                      function setf-function c-type-spec
+  short                                         c-type-spec c-type-form
+  short-int                                     c-type-spec
+  signed                                        c-type-spec
+  signed-char                                   c-type-spec c-type-form
+  signed-int                                    c-type-spec
+  signed-long                                   c-type-spec
+  signed-long-int                               c-type-spec
+  signed-long-long                              c-type-spec
+  signed-long-long-int                          c-type-spec
+  signed-short                                  c-type-spec
+  signed-short-int                              c-type-spec
   simple-c-type                                 class
-  sint                                          c-type
-  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
+  sint                                          c-type-spec
+  size-t                                        c-type-spec c-type-form
+  sllong                                        c-type-spec
+  slong                                         c-type-spec
+  specs                                         c-type-form
+  sshort                                        c-type-spec
+  cl:string                                     function class c-type-spec opthandler
+  struct                                        c-type-form
   tagged-c-type                                 class
-  uchar                                         c-type
-  uint                                          c-type
-  ullong                                        c-type
-  ulong                                         c-type
-  cl:union                                      function c-type
-  unsigned                                      c-type
-  unsigned-char                                 c-type
-  unsigned-int                                  c-type
-  unsigned-long                                 c-type
-  unsigned-long-int                             c-type
-  unsigned-long-long                            c-type
-  unsigned-long-long-int                        c-type
-  unsigned-short                                c-type
-  unsigned-short-int                            c-type
-  ushort                                        c-type
-  va-list                                       c-type
-  vec                                           c-type
-  void                                          c-type
-  wchar-t                                       c-type
-  []                                            c-type
+  uchar                                         c-type-spec
+  uint                                          c-type-spec
+  uint-fast16-t                                 c-type-spec c-type-form
+  uint-fast32-t                                 c-type-spec c-type-form
+  uint-fast64-t                                 c-type-spec c-type-form
+  uint-fast8-t                                  c-type-spec c-type-form
+  uint-least16-t                                c-type-spec c-type-form
+  uint-least32-t                                c-type-spec c-type-form
+  uint-least64-t                                c-type-spec c-type-form
+  uint-least8-t                                 c-type-spec c-type-form
+  uint16-t                                      c-type-spec c-type-form
+  uint32-t                                      c-type-spec c-type-form
+  uint64-t                                      c-type-spec c-type-form
+  uint8-t                                       c-type-spec c-type-form
+  uintmax-t                                     c-type-spec c-type-form
+  uintptr-t                                     c-type-spec c-type-form
+  ullong                                        c-type-spec
+  ulong                                         c-type-spec
+  cl:union                                      function c-type-form
+  unsigned                                      c-type-spec c-type-form
+  unsigned-char                                 c-type-spec c-type-form
+  unsigned-int                                  c-type-spec
+  unsigned-long                                 c-type-spec c-type-form
+  unsigned-long-int                             c-type-spec
+  unsigned-long-long                            c-type-spec c-type-form
+  unsigned-long-long-int                        c-type-spec
+  unsigned-short                                c-type-spec c-type-form
+  unsigned-short-int                            c-type-spec
+  ushort                                        c-type-spec
+  va-list                                       c-type-spec c-type-form
+  vec                                           c-type-form
+  void                                          c-type-spec c-type-form
+  wchar-t                                       c-type-spec c-type-form
+  []                                            c-type-form
 
 c-types-parse.lisp
   parse-c-type                                  function
@@ -201,6 +257,7 @@ class-finalize-impl.lisp
   report-class-list-merge-error                 function
 
 class-finalize-proto.lisp
+  check-class-initializer                       generic
   check-sod-class                               generic
   compute-chains                                generic
   compute-cpl                                   generic
@@ -209,6 +266,8 @@ class-finalize-proto.lisp
   finalize-sod-class                            generic
 
 class-layout-impl.lisp
+  effective-slot-initializer-function           generic
+  effective-slot-prepare-function               generic
   sod-class-effective-slot                      class
   sod-class-slot                                class
   sod-slot-initializer-function                 generic
@@ -255,6 +314,7 @@ class-layout-proto.lisp
   islots-slots                                  generic
   islots-subclass                               generic
   make-base-offset                              generic
+  make-chain-offset                             generic
   make-class-pointer                            generic
   vtable                                        class
   vtable-body                                   generic
@@ -294,11 +354,20 @@ class-make-proto.lisp
   make-sod-slot-initarg                         generic
   make-sod-slot-initarg-using-slot              generic
   make-sod-user-initarg                         generic
+  make-static-instance                          generic
   sod-initarg-argument                          generic
   sod-message-method-class                      generic
 
 class-output.lisp
   *instance-class*                              variable
+  *static-instance*                             variable
+  declare-static-instance                       generic
+  emit-class-conversion-macro                   generic
+  emit-class-object-decl                        generic
+  emit-class-typedef                            generic
+  emit-message-macro                            generic
+  emit-message-macro-defn                       generic
+  output-static-instance-initializer            generic
 
 class-utilities.lisp
   argument-lists-compatible-p                   function
@@ -330,24 +399,31 @@ classes.lisp
   sod-class-chain-head                          generic
   sod-class-chain-link                          generic
   sod-class-chains                              generic
-  sod-class-class-initializers                  generic setf
+  sod-class-class-initializers                  generic setf-generic
   sod-class-direct-superclasses                 generic
+  sod-class-effective-methods                   generic
   sod-class-ilayout                             generic
-  sod-class-initfrags                           generic setf
+  sod-class-initargs                            generic setf-generic
+  sod-class-initfrags                           generic setf-generic
   sod-class-initializer                         class
-  sod-class-instance-initializers               generic setf
-  sod-class-messages                            generic setf
+  sod-class-instance-initializers               generic setf-generic
+  sod-class-messages                            generic setf-generic
   sod-class-metaclass                           generic
-  sod-class-methods                             generic setf
+  sod-class-methods                             generic setf-generic
   sod-class-name                                generic
   sod-class-nickname                            generic
   sod-class-precedence-list                     generic
-  sod-class-slots                               generic setf
+  sod-class-slots                               generic setf-generic
   sod-class-state                               generic
-  sod-class-tearfrags                           generic setf
+  sod-class-tearfrags                           generic setf-generic
   sod-class-type                                generic
   sod-class-vtables                             generic
   sod-initarg                                   class
+  sod-initarg-class                             generic
+  sod-initarg-default                           generic
+  sod-initarg-name                              generic
+  sod-initarg-slot                              generic
+  sod-initarg-type                              generic
   sod-initializer                               class
   sod-initializer-class                         generic
   sod-initializer-slot                          generic
@@ -356,6 +432,7 @@ classes.lisp
   sod-message                                   class
   sod-message-class                             generic
   sod-message-name                              generic
+  sod-message-readonly-p                        generic
   sod-message-type                              generic
   sod-method                                    class
   sod-method-body                               generic
@@ -368,6 +445,12 @@ classes.lisp
   sod-slot-name                                 generic
   sod-slot-type                                 generic
   sod-user-initarg                              class
+  static-instance                               class
+  static-instance-class                         generic
+  static-instance-const-p                       generic
+  static-instance-extern-p                      generic
+  static-instance-initializers                  generic setf-generic
+  static-instance-name                          generic
 
 codegen-impl.lisp
   codegen                                       class
@@ -385,7 +468,7 @@ codegen-proto.lisp
   call-inst                                     class
   codegen-add-function                          generic
   codegen-build-function                        function
-  codegen-functions                             generic setf
+  codegen-functions                             generic
   codegen-pop                                   generic
   codegen-pop-block                             generic
   codegen-pop-function                          generic
@@ -451,7 +534,7 @@ codegen-proto.lisp
   temporary-name                                class
   temporary-var                                 generic
   update-inst                                   class
-  var-in-use-p                                  generic setf
+  var-in-use-p                                  generic setf-generic
   var-inst                                      class
   while-inst                                    class
   with-temporary-var                            macro
@@ -471,11 +554,11 @@ fragment-parse.lisp
 
 lexer-proto.lisp
   define-indicator                              function
-  cl:error                                      function class parser
+  cl:error                                      function class parser-form
   lexer-error                                   function class
-  must                                          parser
+  must                                          parser-form
   scan-comment                                  function
-  skip-until                                    parser
+  skip-until                                    parser-form
   sod-token-scanner                             class
   syntax-error                                  function class
 
@@ -499,6 +582,7 @@ method-impl.lisp
   effective-method-after-methods                generic
   effective-method-around-methods               generic
   effective-method-before-methods               generic
+  effective-method-functions                    generic
   simple-effective-method                       class
   simple-message                                class
   sod-method-role                               generic
@@ -511,6 +595,7 @@ method-proto.lisp
   codegen-method                                generic
   codegen-target                                generic
   compute-effective-method-body                 generic
+  compute-effective-method-keyword-arguments    function
   compute-effective-methods                     generic
   compute-method-entry-functions                generic
   compute-sod-effective-method                  generic
@@ -539,12 +624,17 @@ method-proto.lisp
   method-entry-effective-method                 generic
   method-entry-function-name                    generic
   method-entry-function-type                    generic
+  method-entry-role                             generic
   method-entry-slot-name                        generic
-  method-keyword-argument-lists                 generic
+  method-entry-slot-name-by-role                generic
   primary-method-class                          generic
   simple-method-body                            generic
+  sod-message-applicable-methods                generic
   sod-message-argument-tail                     generic
+  sod-message-check-methods                     generic
   sod-message-effective-method-class            generic
+  sod-message-keyword-argument-lists            generic
+  sod-message-receiver-type                     generic
   sod-method-description                        generic
   sod-method-function-name                      generic
   sod-method-function-type                      generic
@@ -553,8 +643,6 @@ method-proto.lisp
 
 module-impl.lisp
   *module-dirs*                                 variable
-  c-fragment                                    class
-  c-fragment-text                               generic
   code-fragment                                 generic
   code-fragment-constraints                     generic
   code-fragment-item                            class
@@ -567,9 +655,11 @@ module-output.lisp
   banner                                        function
   declare-output-type                           function
   guard-name                                    function
+  module-output-file                            generic
   one-off-output                                function
   output-module                                 function
   output-type-pathname                          function
+  write-dependency-file                         generic
 
 module-parse.lisp
   class-item
@@ -580,17 +670,22 @@ module-proto.lisp
   add-clear-the-decks-function                  function
   add-module-binding                            function
   add-to-module                                 generic
+  c-fragment                                    class
+  c-fragment-text                               generic
   clear-the-decks                               function
   define-clear-the-decks                        macro
   define-module                                 macro
   define-module-var                             macro
   finalize-module                               generic
   module                                        class
-  module-dependencies                           generic setf
+  module-dependencies                           generic setf-generic
+  module-errors                                 generic
+  module-files                                  generic setf-generic
   module-import                                 generic
-  module-items                                  generic setf
+  module-items                                  generic setf-generic
   module-name                                   generic
   module-pset                                   generic
+  module-state                                  generic setf-generic
   with-module-environment                       macro
   with-temporary-module                         macro
 
@@ -603,9 +698,9 @@ output-proto.lisp
   make-sequencer-item                           function
   sequence-output                               macro
   sequencer                                     class
-  sequencer-constraints                         generic setf
+  sequencer-constraints                         generic setf-generic
   sequencer-item                                class
-  sequencer-item-functions                      function setf
+  sequencer-item-functions                      function setf-function
   sequencer-item-name                           function
   sequencer-item-p                              function
   sequencer-table                               generic
@@ -626,7 +721,7 @@ pset-proto.lisp
   make-pset                                     function
   p-key                                         function
   p-name                                        function
-  p-seenp                                       function setf
+  p-seenp                                       function setf-function
   p-type                                        function
   p-value                                       function
   property                                      class
@@ -744,6 +839,7 @@ cl:t
           delegating-direct-method
       sod-slot
         sod-class-slot
+      static-instance
       temporary-name
         temporary-argument
         temporary-function
@@ -829,6 +925,9 @@ chain-offset-target-head
 check-aggregating-message-type
   t t t
   aggregating-message (eql :progn) c-function-type
+check-class-initializer
+  effective-slot sod-class
+  sod-class-effective-slot sod-class
 check-message-type
   aggregating-message t
   sod-message c-function-type
@@ -862,8 +961,6 @@ codegen-class
   method-codegen
 codegen-functions
   codegen
-(setf codegen-functions)
-  t codegen
 codegen-message
   method-codegen
 codegen-method
@@ -936,6 +1033,8 @@ compute-vtables
   sod-class
 compute-vtmsgs
   sod-class sod-class sod-class sod-class
+declare-static-instance
+  t t
 decode-property
   cl:character
   cl:cons
@@ -943,6 +1042,7 @@ decode-property
   cl:integer
   cl:string
   cl:symbol
+  c-fragment
   c-type
   property
 effective-method-after-methods
@@ -957,6 +1057,8 @@ effective-method-class
   effective-method
 effective-method-function-name
   effective-method
+effective-method-functions
+  basic-effective-method
 effective-method-keywords
   effective-method
 effective-method-live-p
@@ -971,6 +1073,16 @@ effective-slot-direct-slot
   effective-slot
 effective-slot-initializer
   effective-slot
+effective-slot-initializer-function
+  sod-class-effective-slot
+effective-slot-prepare-function
+  sod-class-effective-slot
+emit-class-conversion-macro
+  sod-class sod-class t
+emit-class-object-decl
+  sod-class t
+emit-class-typedef
+  sod-class t
 emit-decl
   sod::basic-codegen t
 emit-decls
@@ -980,6 +1092,11 @@ emit-inst
 emit-insts
   t t
   sod::basic-codegen t
+emit-message-macro
+  sod-class method-entry t
+emit-message-macro-defn
+  sod-class method-entry t t t t t
+  sod-class method-entry t t t t t [:around]
 ensure-sequencer-item
   sequencer t
 ensure-var
@@ -1010,7 +1127,20 @@ expand-c-type-form
   (eql fn) t
   (eql fun) t
   (eql func) t
-  (eql int) t
+  (eql int-fast16-t) t
+  (eql int-fast32-t) t
+  (eql int-fast64-t) t
+  (eql int-fast8-t) t
+  (eql int-least16-t) t
+  (eql int-least32-t) t
+  (eql int-least64-t) t
+  (eql int-least8-t) t
+  (eql int16-t) t
+  (eql int32-t) t
+  (eql int64-t) t
+  (eql int8-t) t
+  (eql intmax-t) t
+  (eql intptr-t) t
   (eql long) t
   (eql long-double) t
   (eql long-double-complex) t
@@ -1024,6 +1154,20 @@ expand-c-type-form
   (eql size-t) t
   (eql specs) t
   (eql struct) t
+  (eql uint-fast16-t) t
+  (eql uint-fast32-t) t
+  (eql uint-fast64-t) t
+  (eql uint-fast8-t) t
+  (eql uint-least16-t) t
+  (eql uint-least32-t) t
+  (eql uint-least64-t) t
+  (eql uint-least8-t) t
+  (eql uint16-t) t
+  (eql uint32-t) t
+  (eql uint64-t) t
+  (eql uint8-t) t
+  (eql uintmax-t) t
+  (eql uintptr-t) t
   (eql unsigned) t
   (eql unsigned-char) t
   (eql unsigned-long) t
@@ -1035,6 +1179,7 @@ expand-c-type-form
   (eql wchar-t) t
   (eql []) t
   (eql sod-parser:lisp) t
+  (eql sod-utilities:int) t
   cl:string t
 expand-c-type-spec
   (eql cl:char)
@@ -1048,7 +1193,20 @@ expand-c-type-spec
   (eql double-imaginary)
   (eql float-complex)
   (eql float-imaginary)
-  (eql int)
+  (eql int-fast16-t)
+  (eql int-fast32-t)
+  (eql int-fast64-t)
+  (eql int-fast8-t)
+  (eql int-least16-t)
+  (eql int-least32-t)
+  (eql int-least64-t)
+  (eql int-least8-t)
+  (eql int16-t)
+  (eql int32-t)
+  (eql int64-t)
+  (eql int8-t)
+  (eql intmax-t)
+  (eql intptr-t)
   (eql llong)
   (eql long)
   (eql long-double)
@@ -1076,6 +1234,20 @@ expand-c-type-spec
   (eql sshort)
   (eql uchar)
   (eql uint)
+  (eql uint-fast16-t)
+  (eql uint-fast32-t)
+  (eql uint-fast64-t)
+  (eql uint-fast8-t)
+  (eql uint-least16-t)
+  (eql uint-least32-t)
+  (eql uint-least64-t)
+  (eql uint-least8-t)
+  (eql uint16-t)
+  (eql uint32-t)
+  (eql uint64-t)
+  (eql uint8-t)
+  (eql uintmax-t)
+  (eql uintptr-t)
   (eql ullong)
   (eql ulong)
   (eql unsigned)
@@ -1091,6 +1263,7 @@ expand-c-type-spec
   (eql va-list)
   (eql void)
   (eql wchar-t)
+  (eql sod-utilities:int)
   cl:list
   cl:string
 sod-parser:file-location
@@ -1102,6 +1275,7 @@ sod-parser:file-location
   sod-message
   sod-method
   sod-slot
+  static-instance
 finalize-module
   module
 finalize-sod-class
@@ -1121,47 +1295,58 @@ format-temporary-name
 guess-metaclass
   sod-class
 hook-output
-  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]
+  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
+  effective-slot (eql static-instance) t
+  ichain (eql :h) t
+  ichain (eql cl:class) t
+  ichain (eql ilayout) t
+  ichain (eql static-instance) t
+  ichain t t [:after]
+  ilayout (eql :h) t [:after]
+  ilayout (eql :h) t
+  ilayout t t [:after]
+  islots (eql :h) t
+  islots (eql cl:class) t
+  islots (eql static-instance) t
+  islots t t [:after]
+  method-entry (eql :c) t
+  method-entry (eql vtmsgs) t
+  module (eql :c) t
+  module (eql :h) t
+  module t t [:after]
+  sod-class (eql :c) t [:after]
+  sod-class (eql :c) t
+  sod-class (eql :h) t [:after]
+  sod-class (eql :h) t
+  sod-class (eql static-instance) t
+  sod-class t t [:after]
+  sod-class-effective-slot (eql cl:class) t
+  sod-method (eql :c) t
+  sod-method (eql :h) t
+  sod-slot (eql islots) t
+  static-instance (eql :c) t [:after]
+  static-instance (eql :c) t
+  static-instance (eql :h) t
+  vtable (eql :c) t
+  vtable (eql :h) t
+  vtable t t [:after]
+  vtable-pointer (eql :h) t
+  vtable-pointer (eql cl:class) t
+  vtable-pointer (eql static-instance) t
+  vtmsgs (eql :c) t
+  vtmsgs (eql :h) t
+  vtmsgs (eql vtmsgs) t
+  vtmsgs t t [:after]
 ichain-body
   ichain
 ichain-class
@@ -1268,6 +1453,8 @@ kind-c-tagged-type
   (eql :union)
 make-base-offset
   sod-class sod-class
+make-chain-offset
+  sod-class sod-class sod-class
 make-class-pointer
   sod-class sod-class sod-class sod-class
 cl:make-load-form
@@ -1300,6 +1487,8 @@ make-sod-slot-initarg-using-slot
   sod-class t sod-slot t
 make-sod-user-initarg
   sod-class t t t
+make-static-instance
+  sod-class t t t t
 method-entry-chain-head
   method-entry
 method-entry-chain-tail
@@ -1310,15 +1499,23 @@ method-entry-function-name
   effective-method sod-class t
 method-entry-function-type
   method-entry
+method-entry-role
+  method-entry
 method-entry-slot-name
   method-entry
-method-keyword-argument-lists
-  effective-method t t
-  sod::initialization-effective-method t t
+method-entry-slot-name-by-role
+  method-entry (eql :valist) t
+  method-entry (eql cl:nil) t
 module-dependencies
   module
 (setf module-dependencies)
   t module
+module-errors
+  module
+module-files
+  module
+(setf module-files)
+  t module
 module-import
   t
   module
@@ -1330,8 +1527,17 @@ module-items
   t module
 module-name
   module
+module-output-file
+  module cl:pathname t
+  module cl:symbol t
 module-pset
   module
+module-state
+  module
+(setf module-state)
+  t module
+output-static-instance-initializer
+  static-instance effective-slot t
 pprint-c-storage-specifier
   cl:symbol t
   alignas-storage-specifier t
@@ -1394,6 +1600,9 @@ cl:print-object
   sod-message t
   sod-method t
   sod-slot t
+  sod-slot-initarg t
+  sod-user-initarg t
+  static-instance t
   temporary-name t
   update-inst t
   var-inst t
@@ -1431,6 +1640,7 @@ cl:shared-initialize
   sod-method t [:after]
   sod-slot t [:after]
   sod-token-scanner t [:after]
+  static-instance t [:after]
 simple-method-body
   aggregating-effective-method t t
   sod::lifecycle-effective-method t t
@@ -1459,8 +1669,14 @@ sod-class-class-initializers
   t sod-class
 sod-class-direct-superclasses
   sod-class
+sod-class-effective-methods
+  sod-class
 sod-class-ilayout
   sod-class
+sod-class-initargs
+  sod-class
+(setf sod-class-initargs)
+  t sod-class
 sod-class-initfrags
   sod-class
 (setf sod-class-initfrags)
@@ -1501,14 +1717,29 @@ sod-class-vtables
   sod-class
 sod-initarg-argument
   sod-initarg
+sod-initarg-class
+  sod-initarg
+sod-initarg-default
+  sod-initarg
+  sod-user-initarg
+sod-initarg-name
+  sod-initarg
+sod-initarg-slot
+  sod-slot-initarg
+sod-initarg-type
+  sod-initarg
 sod-initializer-class
   sod-initializer
 sod-initializer-slot
   sod-initializer
 sod-initializer-value
   sod-initializer
+sod-message-applicable-methods
+  sod-message sod-class
 sod-message-argument-tail
   basic-message
+sod-message-check-methods
+  sod-message sod-class t
 sod-message-class
   sod-message
 sod-message-combination
@@ -1520,12 +1751,19 @@ sod-message-effective-method-class
   sod::teardown-message
 sod-message-kernel-function
   aggregating-message
+sod-message-keyword-argument-lists
+  sod::initialization-message sod-class t t
+  sod-message sod-class t t
 sod-message-method-class
   basic-message sod-class t
   simple-message sod-class t
   sod-message sod-class t
 sod-message-name
   sod-message
+sod-message-readonly-p
+  sod-message
+sod-message-receiver-type
+  sod-message sod-class
 sod-message-type
   sod-message
 sod-method-body
@@ -1556,6 +1794,18 @@ sod-slot-prepare-function
   sod-class-slot
 sod-slot-type
   sod-slot
+static-instance-class
+  static-instance
+static-instance-const-p
+  static-instance
+static-instance-extern-p
+  static-instance
+static-instance-initializers
+  static-instance
+(setf static-instance-initializers)
+  t static-instance
+static-instance-name
+  static-instance
 temp-tag
   temporary-name
 temporary-var
@@ -1589,11 +1839,14 @@ vtmsgs-entries
   vtmsgs
 vtmsgs-subclass
   vtmsgs
+write-dependency-file
+  module t t
 
 -----------------------------------------------------------------------------
 Package `sod-frontend'
 
 frontend.lisp
+  augment-options                               function
   main                                          function
 
 Classes:
@@ -1607,14 +1860,11 @@ Package `sod-parser'
 floc-proto.lisp
   base-lexer-error                              class
   base-syntax-error                             class
-  cerror*                                       function
   cerror*-with-location                         function
   cerror-with-location                          function
   classify-condition                            generic
   condition-with-location                       class
   count-and-report-errors                       macro
-  enclosed-condition                            generic
-  enclosing-condition                           class
   enclosing-condition-with-location             class
   enclosing-condition-with-location-type        generic
   enclosing-error-with-location                 class
@@ -1626,20 +1876,16 @@ 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                                         function
   parser-error                                  class
   parser-error-expected                         generic
   parser-error-found                            generic
   report-parser-error                           function
   simple-condition-with-location                class
   simple-error-with-location                    class
-  simple-information                            class
   simple-information-with-location              class
   simple-lexer-error                            class
   simple-syntax-error                           class
@@ -1649,20 +1895,18 @@ floc-proto.lisp
   with-default-error-location                   macro
 
 parser-expr-proto.lisp
-  apply-operator                                generic
   binop                                         macro
   close-parenthesis                             class
-  expr                                          parser
+  expr                                          parser-form
   lparen                                        function
   open-parenthesis                              class
+  operator-associativity                        generic
   operator-left-precedence                      generic
   operator-push-action                          generic
   operator-right-precedence                     generic
   postop                                        macro
   prefix-operator                               class
   preop                                         macro
-  push-operator                                 generic
-  push-value                                    generic
   rparen                                        function
   simple-binary-operator                        class
   simple-operator                               class
@@ -1675,28 +1919,28 @@ parser-impl.lisp
   string-parser                                 class
 
 parser-proto.lisp
-  ?                                             parser
-  cl:and                                        macro parser
+  ?                                             parser-form
+  cl:and                                        macro parser-form
   call-pluggable-parser                         function
-  cl:char                                       function setf c-type parser
+  cl:char                                       function setf-function c-type-spec c-type-form parser-form
   character-parser-context                      class
   combine-parser-failures                       function
-  commit                                        parser
+  commit                                        parser-form
   cond-parse                                    macro
   define-pluggable-parser                       macro
   defparse                                      macro
   expand-parser-form                            generic
   expand-parser-spec                            generic
-  filter                                        parser
-  if-char                                       parser
+  filter                                        parser-form
+  if-char                                       parser-form
   if-parse                                      macro
   sod-utilities:it
-  label                                         parser
-  lisp                                          c-type parser
-  cl:list                                       function class parser opthandler
-  many                                          parser
-  cl:not                                        function parser
-  cl:or                                         macro parser
+  label                                         parser-form
+  lisp                                          c-type-form parser-form
+  cl:list                                       function class parser-form opthandler
+  many                                          parser-form
+  cl:not                                        function parser-form
+  cl:or                                         macro parser-form
   parse
   parse-empty                                   function
   parse-fail                                    function
@@ -1710,13 +1954,13 @@ parser-proto.lisp
   parser-step                                   generic
   parser-token-type                             generic
   parser-token-value                            generic
-  peek                                          parser
-  plug                                          parser
+  peek                                          parser-form
+  plug                                          parser-form
   pluggable-parser-add                          function
-  cl:satisfies                                  parser
-  seq                                           parser
-  skip-many                                     parser
-  token                                         parser
+  cl:satisfies                                  parser-form
+  seq                                           parser-form
+  skip-many                                     parser-form
+  token                                         parser-form
   token-parser-context                          class
   when-parse                                    macro
   with-parser-context                           macro
@@ -1726,6 +1970,7 @@ parser-proto.lisp
 scanner-charbuf-impl.lisp
   charbuf-scanner                               class
   charbuf-scanner-map                           generic
+  charbuf-scanner-place                         class
   charbuf-scanner-place-p                       function
   charbuf-scanner-stream                        class
 
@@ -1745,12 +1990,13 @@ scanner-proto.lisp
   parser-scanner                                generic
   scanner-at-eof-p                              generic
   scanner-capture-place                         generic
-  scanner-column                                generic setf
+  scanner-column                                generic setf-generic
   scanner-context                               class
   scanner-current-char                          generic
+  scanner-file-location                         function
   scanner-filename                              generic
   scanner-interval                              generic
-  scanner-line                                  generic setf
+  scanner-line                                  generic setf-generic
   scanner-release-place                         generic
   scanner-restore-place                         generic
   scanner-step                                  generic
@@ -1764,14 +2010,14 @@ scanner-proto.lisp
   token-value                                   generic
   with-scanner-place                            macro
 
-streams-impl.lisp
+streams-proto.lisp
   position-aware-input-stream                   class
   position-aware-output-stream                  class
   position-aware-stream                         class
-  position-aware-stream-column                  generic setf
-  position-aware-stream-line                    generic setf
-
-streams-proto.lisp
+  position-aware-stream-column                  generic setf-generic
+  position-aware-stream-file                    generic setf-generic
+  position-aware-stream-line                    generic setf-generic
+  stream-line-and-column                        generic
   stream-pathname                               generic
 
 Classes:
@@ -1779,9 +2025,9 @@ cl:t
   sb-pcl::slot-object
     cl:condition
       condition-with-location
-        enclosing-condition-with-location [enclosing-condition]
+        enclosing-condition-with-location [sod-utilities:enclosing-condition]
           enclosing-error-with-location [cl:error]
-          enclosing-information-with-location [information]
+          enclosing-information-with-location [sod-utilities:information]
           enclosing-warning-with-location [cl:warning]
         error-with-location [cl:error]
           base-lexer-error
@@ -1791,21 +2037,21 @@ cl:t
           simple-error-with-location [cl:simple-error]
             simple-lexer-error [base-lexer-error]
             simple-syntax-error [base-syntax-error]
-        information-with-location [information]
-          simple-information-with-location [simple-information]
+        information-with-location [sod-utilities:information]
+          simple-information-with-location [sod-utilities:simple-information]
         simple-condition-with-location [cl:simple-condition]
         warning-with-location [cl:warning]
           simple-warning-with-location [cl:simple-warning]
-      enclosing-condition
+      sod-utilities:enclosing-condition
         enclosing-condition-with-location [condition-with-location]
           enclosing-error-with-location [cl:error]
-          enclosing-information-with-location [information]
+          enclosing-information-with-location [sod-utilities:information]
           enclosing-warning-with-location [cl:warning]
-      information
+      sod-utilities: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 [sod-utilities:simple-information]
+        sod-utilities:simple-information [cl:simple-condition]
           simple-information-with-location [information-with-location]
       cl:serious-condition
         cl:error
@@ -1829,7 +2075,7 @@ cl:t
           simple-error-with-location [error-with-location]
             simple-lexer-error [base-lexer-error]
             simple-syntax-error [base-syntax-error]
-        simple-information [information]
+        sod-utilities:simple-information [sod-utilities:information]
           simple-information-with-location [information-with-location]
         cl:simple-warning [cl:warning]
           simple-warning-with-location [warning-with-location]
@@ -1896,6 +2142,7 @@ cl:t
         token-scanner-context [scanner-context]
       token-scanner
     cl:structure-object
+      charbuf-scanner-place
       file-location
       list-scanner
       string-scanner
@@ -1935,10 +2182,6 @@ cl:t
             position-aware-input-stream [position-aware-stream]
 
 Methods:
-apply-operator
-  open-parenthesis sod-parser::expression-parse-state
-  simple-binary-operator sod-parser::expression-parse-state
-  simple-unary-operator sod-parser::expression-parse-state
 charbuf-scanner-map
   charbuf-scanner t
 classify-condition
@@ -1946,14 +2189,12 @@ classify-condition
   cl:warning
   base-lexer-error
   base-syntax-error
-  information
-enclosed-condition
-  enclosing-condition
+  sod-utilities:information
 enclosing-condition-with-location-type
   cl:condition
   cl:error
   cl:warning
-  information
+  sod-utilities:information
 expand-parser-form
   t (eql cl:and) t
   t (eql cl:list) t
@@ -2006,8 +2247,9 @@ file-location
   sod:sod-message
   sod:sod-method
   sod:sod-slot
+  sod:static-instance
   character-scanner
-  sod-parser::charbuf-scanner-place
+  charbuf-scanner-place
   condition-with-location
   file-location
   position-aware-stream
@@ -2021,6 +2263,9 @@ make-scanner-stream
   character-scanner
   charbuf-scanner
   string-scanner
+operator-associativity
+  t
+  simple-binary-operator
 operator-left-precedence
   simple-binary-operator
   simple-postfix-operator
@@ -2075,6 +2320,10 @@ position-aware-stream-column
   position-aware-stream
 (setf position-aware-stream-column)
   t position-aware-stream
+position-aware-stream-file
+  position-aware-stream
+(setf position-aware-stream-file)
+  t position-aware-stream
 position-aware-stream-line
   position-aware-stream
 (setf position-aware-stream-line)
@@ -2082,13 +2331,6 @@ position-aware-stream-line
 cl:print-object
   file-location t
   simple-operator t
-push-operator
-  t sod-parser::expression-parse-state
-  close-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
 scanner-at-eof-p
   charbuf-scanner
   list-scanner
@@ -2148,6 +2390,9 @@ cl:shared-initialize
   charbuf-scanner t [:after]
   simple-binary-operator t [:after]
   token-scanner t [:after]
+stream-line-and-column
+  cl:stream
+  position-aware-stream
 sb-gray:stream-line-column
   position-aware-output-stream
 stream-pathname
@@ -2211,26 +2456,26 @@ optparse.lisp
   exit                                          function
   help-options                                  optmacro
   inc                                           opthandler
-  int                                           opthandler
+  sod-utilities:int                             c-type-spec c-type-form opthandler
   invoke-option-handler                         function
   cl:keyword                                    opthandler
-  cl:list                                       function class parser opthandler
+  cl:list                                       function class parser-form opthandler
   make-option                                   function
   make-option-parser                            function
   moan                                          function
-  op-long-only-p                                function setf
-  op-negated-numeric-p                          function setf
-  op-negated-p                                  function setf
-  op-non-option                                 function setf
-  op-numeric-p                                  function setf
-  op-options                                    function setf
-  opt-arg-name                                  function setf
-  opt-arg-optional-p                            function setf
-  opt-documentation                             function setf
-  opt-long-name                                 function setf
-  opt-negated-tag                               function setf
-  opt-short-name                                function setf
-  opt-tag                                       function setf
+  op-long-only-p                                function setf-function
+  op-negated-numeric-p                          function setf-function
+  op-negated-p                                  function setf-function
+  op-non-option                                 function setf-function
+  op-numeric-p                                  function setf-function
+  op-options                                    function setf-function
+  opt-arg-name                                  function setf-function
+  opt-arg-optional-p                            function setf-function
+  opt-documentation                             function setf-function
+  opt-long-name                                 function setf-function
+  opt-negated-tag                               function setf-function
+  opt-short-name                                function setf-function
+  opt-tag                                       function setf-function
   option                                        class
   option-parse-error                            function class
   option-parse-next                             function
@@ -2249,7 +2494,7 @@ optparse.lisp
   show-help                                     function
   show-usage                                    function
   simple-usage                                  function
-  cl:string                                     function class c-type opthandler
+  cl:string                                     function class c-type-spec opthandler
   with-unix-error-reporting                     macro
 
 Classes:
@@ -2284,9 +2529,11 @@ utilities.lisp
   awhen                                         macro
   backtrack-position                            function
   categorize                                    macro
+  cerror*                                       function
   compose                                       function
   copy-instance                                 function
   copy-instance-using-class                     generic
+  cross-product                                 function
   default-slot                                  macro
   define-access-wrapper                         macro
   define-on-demand-slot                         macro
@@ -2294,12 +2541,18 @@ utilities.lisp
   designated-condition                          function
   distinguished-point-shortest-paths            function
   dosequence                                    macro
+  enclosed-condition                            generic
+  enclosing-condition                           class
   sb-mop:eql-specializer                        class
   sb-mop:eql-specializer-object                 generic
+  find-duplicates                               function
   frob-identifier                               function
-  sb-mop:generic-function-methods               generic setf
+  sb-mop:generic-function-methods               generic setf-generic
   inconsistent-merge-error                      class
+  info                                          function
+  information                                   class
   instance-initargs                             generic
+  int                                           c-type-spec c-type-form opthandler
   invoke-associated-restart                     function
   it
   lbuild-add                                    function
@@ -2312,14 +2565,18 @@ utilities.lisp
   mappend                                       function
   maybe-print-unreadable-object                 macro
   merge-error-candidates                        generic
+  merge-error-present-function                  generic
   merge-lists                                   function
   sb-mop:method-specializers                    generic
+  noted                                         function
   once-only                                     macro
   parse-body                                    function
   partial-order-minima                          function
   print-ugly-stuff                              function
-  ref                                           function setf
+  promiscuous-cerror                            function
+  ref                                           function setf-function
   simple-control-error                          class
+  simple-information                            class
   symbolicate                                   function
   update-position                               function
   whitespace-char-p                             function
@@ -2330,6 +2587,9 @@ Classes:
 cl:t
   sb-pcl::slot-object
     cl:condition
+      enclosing-condition
+      information
+        simple-information [cl:simple-condition]
       cl:serious-condition
         cl:error
           cl:control-error
@@ -2340,6 +2600,7 @@ cl:t
       cl:simple-condition
         cl:simple-error [cl:error]
           simple-control-error [cl:control-error]
+        simple-information [information]
     cl:standard-object
       sb-mop:metaobject
         sb-mop:specializer
@@ -2353,8 +2614,14 @@ cl:t
       loc
 
 Methods:
+sod-parser:classify-condition
+  information
 copy-instance-using-class
   cl:standard-class t
+enclosed-condition
+  enclosing-condition
+sod-parser:enclosing-condition-with-location-type
+  information
 sb-mop:eql-specializer-object
   sb-mop:eql-specializer
 sb-mop:generic-function-methods
@@ -2365,6 +2632,8 @@ instance-initargs
   cl:standard-object
 merge-error-candidates
   inconsistent-merge-error
+merge-error-present-function
+  inconsistent-merge-error
 sb-mop:method-specializers
   cl:standard-method