Some more minor refactoring: pull NAME [CONSTRAINTS] `{' FRAGMENT
`}' into an `or' subitem.
(parse (seq ("code"
(reason (must (kw)))
(nil (must #\:))
- (name (must (item)))
- (constraints (? (constraints)))
- (fragment (fragment)))
- (when name
- (add-to-module *module*
- (make-instance 'code-fragment-item
- :fragment fragment
- :constraints constraints
- :reason reason
- :name name))))))))
+ (item (or (seq ((name (must (item)))
+ (constraints (? (constraints)))
+ (fragment (fragment)))
+ (and name
+ (make-instance 'code-fragment-item
+ :reason reason
+ :constraints constraints
+ :name name
+ :fragment fragment))))))
+ (when item (add-to-module *module* item)))))))
;;; External files.