Como vimos anteriormente: "Seed7 consiste de uma 'seqüência de
declarações'."
Vamos analisar a sintaxe e como Seed7 implementou esse mecanismo.
Tudo começa nessas simples linhas.
Segue a semântica de statement.
statement
::=
single_statement
[ ';' [ statement ] ] .
statement
Em português significa instrução/declaração.
Isso mesmo queremos construir uma instrução/declaração.
::=
É o operador de construção.
single_statement
Por sua vez, uma statement é composta de uma single_statement.
single_statement
Em português significa 'declaração única'.
[]
O colchetes significa opcional.
.
O ponto significa juntar ou concatenar.
Observe novamente
single_statement
[ ';' [ statement ] ] .
Aqui está o segredo para entender o funcionamento da linguagem, ou no
jargão popular "o pulo do gato".
Antes precisamos entender a semântica de single_statement
single_statement
::=
assignment_statement
|
while_statement
|
repeat_statement
|
for_statement
|
for_step_statement
|
for_each_statement
|
if_statement
|
case_statement
|
procedure_call
|
empty_statement .
|
Significa ou.
Notamos que single_statement representa qualquer uma das seguintes outras
instruções:
·
assignment_statement
·
while_statement
·
repeat_statement
·
for_statement
·
for_step_statement
·
for_each_statement
·
if_statement
·
case_statement
·
procedure_call
·
empty_statement
Voltemos a instrução statement novamente.
single_statement
[ ';' [ statement ] ] .
E finalmente a sua sintaxe
$
syntax expr: .(). ; .() is
<- 50;
$
syntax expr: .(). ; is
<- 50 [1];
const
proc: (ref void param) ; (ref void param) is noop;
Fica bem claro que podemos criar uma cadeia, ou seja, uma corrente de
instruções, uma ligada a outra.
Nenhum comentário:
Postar um comentário