quarta-feira, 18 de dezembro de 2013

18.04.02.01 Sequência de declarações

 

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