By default, if there's an error parsing a module item, skip and consume
until the next `;' or `}'. This actually seems to work quite well.
(parse (skip-many ()
(seq ((pset (parse-property-set scanner))
(nil (error ()
(parse (skip-many ()
(seq ((pset (parse-property-set scanner))
(nil (error ()
- (plug module scanner pset))))
+ (plug module scanner pset)
+ (skip-until (:keep-end nil)
+ #\; #\}))))
(check-unused-properties pset))))
(declare (ignore consumedp))
(unless winp (syntax-error scanner result)))))))))
(check-unused-properties pset))))
(declare (ignore consumedp))
(unless winp (syntax-error scanner result)))))))))