Figure a
syntaxe
lst-param ::= ε | param ";" lst-param
exemple
a b c -> a;b;c;
u -> u;
rien -> rien
texte
(lsp
(lst-init
(env ...)
(rep (param) ";")))
Figure b
syntaxe
lst-param ::= ε | "(" param lst-param1 ")"
lst-param1 ::= ε | "," lst-param1
exemple
a b c -> (a,b,c)
u -> (u)
rien -> rien
texte
(lsp
(lst-init
(env ...)
(rep "(" (param)
(lsp
(lst
(rep "," (param)))) ")" )))
ou
(lsp
(lst-init
(env ...)
(rep "("
(lsp
(lst
(rep (param)
(lsp
(tst
(1 (rep ")"))
(T (rep ","))))))))))
Figure c
syntaxe
lst-param ::= "(" lst-param1 ")"
lst-param1 ::= ε | param "," lst-param2
lst-param2 ::= ε | "," param lst-param2
exemple
a b c -> (a,b,c)
u -> (u)
rien -> ()
texte
"("
(lsp
(lst-init
(env ...)
(rep (param)
(lsp
(lst
(rep "," (param)))))))
")"