src/c-types-{proto,impl,parse}.lisp: Add `storage specifiers' to the model.
[sod] / doc / SYMBOLS
index 59df763..022538a 100644 (file)
@@ -17,9 +17,11 @@ c-types-class-impl.lisp
 c-types-impl.lisp
   cl:*                                          variable function c-type
   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-type                               class
@@ -82,6 +84,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
@@ -110,6 +113,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
@@ -145,25 +149,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
@@ -178,6 +192,7 @@ class-finalize-proto.lisp
   compute-chains                                generic
   compute-cpl                                   generic
   finalize-sod-class                            generic
+  guess-metaclass                               generic
 
 class-layout-impl.lisp
   sod-class-effective-slot                      class
@@ -244,7 +259,6 @@ class-layout-proto.lisp
 class-make-proto.lisp
   check-message-type                            generic
   check-method-type                             generic
-  guess-metaclass                               generic
   make-sod-class                                function
   make-sod-class-initializer                    generic
   make-sod-initializer-using-slot               generic
@@ -320,40 +334,18 @@ classes.lisp
   sod-slot-type                                 generic
 
 codegen-impl.lisp
-  call-inst                                     class
   codegen                                       class
-  do-while-inst                                 class
-  if-inst                                       class
-  inst-alt                                      generic
-  inst-ap                                       generic
-  inst-arg                                      generic
-  inst-args                                     generic
-  inst-body                                     generic
-  inst-cond                                     generic
-  inst-conseq                                   generic
-  inst-from                                     generic
-  inst-func                                     generic
-  inst-to                                       generic
-  make-call-inst                                function
-  make-do-while-inst                            function
-  make-if-inst                                  function
-  make-va-copy-inst                             function
-  make-va-end-inst                              function
-  make-va-start-inst                            function
-  make-while-inst                               function
   temporary-argument                            class
   temporary-function                            function class
   temporary-variable                            class
-  va-copy-inst                                  class
-  va-end-inst                                   class
-  va-start-inst                                 class
-  while-inst                                    class
 
 codegen-proto.lisp
+  *null-pointer*                                variable
   *sod-ap*                                      variable
   *sod-master-ap*                               variable
   block-inst                                    class
   break-inst                                    class
+  call-inst                                     class
   codegen-add-function                          generic
   codegen-build-function                        function
   codegen-functions                             generic setf
@@ -364,7 +356,9 @@ codegen-proto.lisp
   continue-inst                                 class
   convert-stmts                                 function
   definst                                       macro
+  deliver-call                                  function
   deliver-expr                                  function
+  do-while-inst                                 class
   emit-decl                                     generic
   emit-decls                                    generic
   emit-inst                                     generic
@@ -374,10 +368,16 @@ codegen-proto.lisp
   format-compound-statement                     macro
   format-temporary-name                         generic
   function-inst                                 class
+  if-inst                                       class
   inst                                          class
+  inst-alt                                      generic
+  inst-args                                     generic
   inst-body                                     generic
+  inst-cond                                     generic
+  inst-conseq                                   generic
   inst-decls                                    generic
   inst-expr                                     generic
+  inst-func                                     generic
   inst-init                                     generic
   inst-metric                                   generic
   inst-name                                     generic
@@ -386,13 +386,17 @@ codegen-proto.lisp
   inst-var                                      generic
   make-block-inst                               function
   make-break-inst                               function
+  make-call-inst                                function
   make-continue-inst                            function
+  make-do-while-inst                            function
   make-expr-inst                                function
   make-function-inst                            function
+  make-if-inst                                  function
   make-return-inst                              function
   make-set-inst                                 function
   make-update-inst                              function
   make-var-inst                                 function
+  make-while-inst                               function
   return-inst                                   class
   set-inst                                      class
   temp-tag                                      generic
@@ -401,6 +405,7 @@ codegen-proto.lisp
   update-inst                                   class
   var-in-use-p                                  generic setf
   var-inst                                      class
+  while-inst                                    class
   with-temporary-var                            macro
 
 final.lisp
@@ -408,6 +413,7 @@ final.lisp
   *sod-version*                                 variable
   exercise                                      function
   test-module                                   function
+  test-parse-c-type                             function
   test-parser                                   macro
 
 fragment-parse.lisp
@@ -507,6 +513,7 @@ module-output.lisp
   banner                                        function
   declare-output-type                           function
   guard-name                                    function
+  one-off-output                                function
   output-module                                 function
   output-type-pathname                          function
 
@@ -590,7 +597,9 @@ cl:t
       c-type
         c-array-type
         c-function-type
+        c-storage-specifiers-type
         qualifiable-c-type
+          c-atomic-type
           c-pointer-type
           simple-c-type
             c-class-type
@@ -625,9 +634,6 @@ cl:t
         return-inst
         set-inst
         update-inst
-        va-copy-inst
-        va-end-inst
-        va-start-inst
         var-inst
         while-inst
       islots
@@ -692,6 +698,9 @@ c-fragment-text
   c-fragment
 c-function-arguments
   c-function-type
+c-qualifier-keyword
+  (eql :atomic)
+  cl:symbol
 c-tagged-type-kind
   c-enum-type
   c-struct-type
@@ -703,9 +712,12 @@ c-type-class
 c-type-equal-p
   t t
   c-array-type c-array-type
+  c-atomic-type c-atomic-type
   c-class-type c-class-type
   c-function-type c-function-type
   c-pointer-type c-pointer-type
+  c-storage-specifiers-type c-type
+  c-type c-storage-specifiers-type
   qualifiable-c-type qualifiable-c-type
   simple-c-type simple-c-type
   tagged-c-type tagged-c-type
@@ -713,10 +725,14 @@ 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
@@ -873,6 +889,11 @@ 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 sod-parser:lisp) t
 expand-c-type-form
   (eql cl:*) t
   (eql cl:array) t
@@ -882,6 +903,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
@@ -904,6 +926,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
@@ -1051,11 +1074,6 @@ ilayout-ichains
   ilayout
 inst-alt
   if-inst
-inst-ap
-  va-end-inst
-  va-start-inst
-inst-arg
-  va-start-inst
 inst-args
   call-inst
 inst-body
@@ -1081,8 +1099,6 @@ inst-expr
   return-inst
   set-inst
   update-inst
-inst-from
-  va-copy-inst
 inst-func
   call-inst
 inst-init
@@ -1103,9 +1119,6 @@ inst-metric
   return-inst
   set-inst
   update-inst
-  va-copy-inst
-  va-end-inst
-  va-start-inst
   var-inst
   while-inst
 inst-name
@@ -1113,8 +1126,6 @@ inst-name
   var-inst
 inst-op
   update-inst
-inst-to
-  va-copy-inst
 inst-type
   function-inst
   var-inst
@@ -1186,21 +1197,30 @@ module-name
   module
 module-pset
   module
+pprint-c-storage-specifier
+  cl:symbol t
 pprint-c-type
   t t t
   c-array-type t t
+  c-atomic-type t t
   c-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
 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
@@ -1235,9 +1255,6 @@ cl:print-object
   sod-slot t
   temporary-name t
   update-inst t
-  va-copy-inst t
-  va-end-inst t
-  va-start-inst t
   var-inst t
   vtable t
   vtable-pointer t
@@ -1493,6 +1510,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
@@ -1509,6 +1527,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
@@ -1698,6 +1718,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