pset scanner))
(nick (sod-class-nickname class)))
- (labels ((parse-maybe-dotted-declarator (base-type)
- ;; Parse a declarator or dotted-declarator, i.e., one whose
- ;; centre is
- ;;
+ (labels ((parse-maybe-dotted-name ()
;; maybe-dotted-name ::= [id `.'] id
;;
;; A plain identifier is returned as a string, as usual; a
;; dotted identifier is returned as a cons cell of the two
;; names.
- (parse-declarator
- scanner base-type
- :keywordp t
- :kernel (parser ()
- (seq ((name-a :id)
- (name-b (? (seq (#\. (id :id)) id))))
- (if name-b (cons name-a name-b)
- name-a)))))
+ (parse (seq ((name-a :id)
+ (name-b (? (seq (#\. (id :id)) id))))
+ (if name-b (cons name-a name-b)
+ name-a))))
+
+ (parse-maybe-dotted-declarator (base-type)
+ ;; Parse a declarator or dotted-declarator, i.e., one whose
+ ;; centre is maybe-dotted-name above.
+ (parse-declarator scanner base-type
+ :keywordp t
+ :kernel #'parse-maybe-dotted-name))
(parse-message-item (sub-pset type name)
;; message-item ::=