;;;----- Licensing notice ---------------------------------------------------
;;;
-;;; This file is part of the Sensble Object Design, an object system for C.
+;;; This file is part of the Sensible Object Design, an object system for C.
;;;
;;; SOD is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
term: factor | term `*' factor | term `/' factor
factor: primary | `+' factor | `-' factor
primary: int | id | string | `(' expression `)' | `{' fragment `}'
- | `?' lisp-expression
+ | `<' declspec+ declarator[empty] `>' | `?' lisp-expression
Only operators for dealing with integers are provided."
(with-parser-context (token-scanner-context :scanner scanner)
(parse-delimited-fragment scanner
#\{ #\}))
t t))
+ (#\<
+ (parse (seq (#\<
+ (ds (parse-c-type scanner))
+ (dc (parse-declarator
+ scanner ds
+ :kernel (lambda ()
+ (values nil t nil))
+ :abstractp t))
+ #\>)
+ (values (cons :type (car dc))
+ t t))))
(t
(values (list :int :id :char :string #\?)
nil nil)))))