chiark
/
gitweb
/
~mdw
/
sod
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/module-parse.lisp: Use newer syntax notation in the commentary.
[sod]
/
src
/
module-parse.lisp
diff --git
a/src/module-parse.lisp
b/src/module-parse.lisp
index a3396828ce1d1785e84f3f396de3f0e056a40f21..4d4d818a4e1bc29a7262cb0eb174681852ec2f44 100644
(file)
--- a/
src/module-parse.lisp
+++ b/
src/module-parse.lisp
@@
-31,7
+31,7
@@
(in-package #:sod)
;;; Type names.
(define-pluggable-parser module typename (scanner pset)
;;; Type names.
(define-pluggable-parser module typename (scanner pset)
- ;; `typename'
id ( `,' id )*
`;'
+ ;; `typename'
list[id]
`;'
(declare (ignore pset))
(with-parser-context (token-scanner-context :scanner scanner)
(parse (and "typename"
(declare (ignore pset))
(with-parser-context (token-scanner-context :scanner scanner)
(parse (and "typename"
@@
-50,7
+50,7
@@
(define-pluggable-parser module typename (scanner pset)
(define-pluggable-parser module code (scanner pset)
;; `code' id `:' item-name [constraints] `{' c-fragment `}'
;;
(define-pluggable-parser module code (scanner pset)
;; `code' id `:' item-name [constraints] `{' c-fragment `}'
;;
- ;; constrain
s ::= `[' constraint-list
`]'
+ ;; constrain
ts ::= `[' list[constraint]
`]'
;; constraint ::= item-name+
;; item-name ::= id | `(' id+ `)'
(declare (ignore pset))
;; constraint ::= item-name+
;; item-name ::= id | `(' id+ `)'
(declare (ignore pset))
@@
-162,7
+162,7
@@
(define-pluggable-parser module file (scanner pset)
;;; Setting properties.
(define-pluggable-parser module set (scanner pset)
;;; Setting properties.
(define-pluggable-parser module set (scanner pset)
- ;; `set'
property-list
`;'
+ ;; `set'
list[property]
`;'
(with-parser-context (token-scanner-context :scanner scanner)
(parse (and "set"
(lisp (let ((module-pset (module-pset *module*)))
(with-parser-context (token-scanner-context :scanner scanner)
(parse (and "set"
(lisp (let ((module-pset (module-pset *module*)))
@@
-213,7
+213,7
@@
(define-pluggable-parser class-item initfrags (scanner class pset)
(funcall make class frag pset scanner)))))
(define-pluggable-parser class-item initargs (scanner class pset)
(funcall make class frag pset scanner)))))
(define-pluggable-parser class-item initargs (scanner class pset)
- ;; initarg-item ::= `initarg' declspec+
init-declarator-list
+ ;; initarg-item ::= `initarg' declspec+
list[init-declarator]
;; init-declarator ::= declarator [`=' initializer]
(with-parser-context (token-scanner-context :scanner scanner)
(parse (seq ("initarg"
;; init-declarator ::= declarator [`=' initializer]
(with-parser-context (token-scanner-context :scanner scanner)
(parse (seq ("initarg"
@@
-301,10
+301,9
@@
(defun parse-class-body (scanner pset name supers)
(parse-slot-item (sub-pset base-type type name)
;; slot-item ::=
;; declspec+ declarator -!- [initializer]
(parse-slot-item (sub-pset base-type type name)
;; slot-item ::=
;; declspec+ declarator -!- [initializer]
- ;; [`,'
init-declarator-list
] `;'
+ ;; [`,'
list[init-declarator]
] `;'
;;
;;
- ;; init-declarator-list ::=
- ;; declarator [initializer] [`,' init-declarator-list]
+ ;; init-declarator ::= declarator [initializer]
(parse (and (seq ((init (? (parse-initializer))))
(make-sod-slot class name type
sub-pset scanner)
(parse (and (seq ((init (? (parse-initializer))))
(make-sod-slot class name type
sub-pset scanner)
@@
-326,7
+325,7
@@
(defun parse-class-body (scanner pset name supers)
(parse-initializer-item (sub-pset must-init-p constructor)
;; initializer-item ::=
(parse-initializer-item (sub-pset must-init-p constructor)
;; initializer-item ::=
- ;; [`class'] -!-
slot-initializer-list
`;'
+ ;; [`class'] -!-
list[slot-initializer]
`;'
;;
;; slot-initializer ::= id `.' id [initializer]
(let ((parse-init (if must-init-p #'parse-initializer
;;
;; slot-initializer ::= id `.' id [initializer]
(let ((parse-init (if must-init-p #'parse-initializer
@@
-401,7
+400,7
@@
(defun parse-class-body (scanner pset name supers)
(add-to-module *module* class))))))))
(define-pluggable-parser module class (scanner pset)
(add-to-module *module* class))))))))
(define-pluggable-parser module class (scanner pset)
- ;; `class' id `:'
id-list
class-body
+ ;; `class' id `:'
list[id]
class-body
;; `class' id `;'
(with-parser-context (token-scanner-context :scanner scanner)
(parse (seq ("class"
;; `class' id `;'
(with-parser-context (token-scanner-context :scanner scanner)
(parse (seq ("class"