Gramática — Padrões
1 produções: o match e o que cada point casa. Cada exemplo é aceito pelo parser.
O match compara a forma de um valor com uma lista de padrões, do mais específico ao mais geral.
| Produção | Nós que ela produz |
|---|---|
match | MatchBlock |
match#
text
selecao = "match" expressao ":" NEWLINE INDENT
{ "point" padrao [ "when" expressao ] bloco }
[ "default" bloco ] DEDENT ;
padrao = literal | nome | tipo [ "as" nome ] | "[" padroes "]"
| "{" chave ":" padrao { "," … } "}" | nome "(" padroes ")"
| nome "." membro ;dataforge
match 5:
point Integer as n when n bigger 3:
out "grande"
point [a, b]:
out "par"
default:
out "outro"Estas produções saem de dataforge/gramatica.py. No terminal: dataforge gramatica padroes. Volte para a gramática.