quarta-feira, 18 de dezembro de 2013

18.04.03.01.01.02 seed7_05.s7i

Abra o arquivo:

seed7_05.s7i

 

Caminho completo:

D:\seed7\lib\seed7_05.s7i

 

Vá até o comentário

(* IF *)

 

const type: ELSIF_RESULT is newtype;

const proc: (ref ELSIF_RESULT param) ::= enumlit       is action "ENU_GENLIT";

const ELSIF_RESULT: ELSIF_EMPTY is enumlit;

const type: ELSIF_PROC                                 is func ELSIF_RESULT;

# IN_PARAM_IS_REFERENCE(ELSIF_PROC);

const proc: (ref ELSIF_PROC param) ::= (ref ELSIF_RESULT param) is action "ENU_CREATE";

 

const proc:       if (in boolean: condition) then

                    (in proc: statements)

                  end if                               is action "PRC_IF";

 

const proc:       if (in boolean: condition) then

                    (in proc: statements)

                  (in ELSIF_PROC: elsifPart)

                  end if                               is action "PRC_IF_ELSIF";

 

const ELSIF_PROC: elsif (in boolean: condition) then

                    (in proc: statements)              is action "PRC_IF";

 

const ELSIF_PROC: elsif (in boolean: condition) then

                    (in proc: statements)

                  (in ELSIF_PROC: elsifPart)           is action "PRC_IF_ELSIF";

 

const ELSIF_PROC: else

                    (in void param)                    is ELSIF_EMPTY;

 

 

Observando o exemplo, podemos criar as seguintes linhas:

 

(* SE *)

 

const proc:       se (in boolean: condition) entao

                    (in proc: statements)

                  fim se                               is action "PRC_IF";

 

const proc:       se (in boolean: condition) entao

                    (in proc: statements)

                  (in ELSIF_PROC: elsifPart)

                  fim se                               is action "PRC_IF_ELSIF";

 

const ELSIF_PROC: senaose (in boolean: condition) entao

                    (in proc: statements)              is action "PRC_IF";

 

const ELSIF_PROC: senaose (in boolean: condition) entao

                    (in proc: statements)

                  (in ELSIF_PROC: elsifPart)           is action "PRC_IF_ELSIF";

 

const ELSIF_PROC: senao

                    (in void param)                    is ELSIF_EMPTY;

 

Nota

Não copiei as linhas:

 

 

const type: ELSIF_RESULT is newtype;

const proc: (ref ELSIF_RESULT param) ::= enumlit       is action "ENU_GENLIT";

const ELSIF_RESULT: ELSIF_EMPTY is enumlit;

const type: ELSIF_PROC                                 is func ELSIF_RESULT;

const proc: (ref ELSIF_PROC param) ::= (ref ELSIF_RESULT param) is action "ENU_CREATE";

 

 

 

Pois dava o erro

 

 

SEED7 INTERPRETER Version 5.0.2265  Copyright (c) 1990-2013 Thomas Mertes

*** /d/seed7/lib/seed7_05.s7i(389):34: "ELSIF_RESULT" declared twice

const type: ELSIF_RESULT is newtype;

------------------------------------^

*** /d/seed7/lib/seed7_05.s7i(391):34: "ELSIF_EMPTY" declared twice

const ELSIF_RESULT: ELSIF_EMPTY is enumlit;

-------------------------------------------^

*** /d/seed7/lib/seed7_05.s7i(392):34: "ELSIF_PROC" declared twice

const type: ELSIF_PROC                                 is func ELSIF_RESULT;

----------------------------------------------------------------------------^

 

 

 

 

 

 

 

Nenhum comentário:

Postar um comentário