cjg*_*cjg 2 lisp common-lisp ebnf
例如:
* (describe 'do)
Run Code Online (Sandbox Code Playgroud)
...
Documentation:
DO ({(Var [Init] [Step])}*) (Test Exit-Form*) Declaration* Form*
Run Code Online (Sandbox Code Playgroud)
这个文档模板中的星星是什么意思?
这*
是在类似BNF的符号中重复零次或多次符号.
从而
FOO Form*
Run Code Online (Sandbox Code Playgroud)
表示前面的元素可以重复零次或多次:
(foo form-1 ... form-n) ; zero or more forms
Run Code Online (Sandbox Code Playgroud)
此外,{和}是分组语法:
FOO ({(Form-a Form-a)}*)
Run Code Online (Sandbox Code Playgroud)
手段
(foo ((form-1-a form-1-b) ; zero or more
...
(form-n-a form-n-b)))
Run Code Online (Sandbox Code Playgroud)