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