Funkcia pre syntaktickú kontrolu EDA-L skriptu.
Deklarácia
%EDA_CheckFunctionRec(
TEXT in funcBody,
REC in params,
REC out errors,
INT out errorCode
)
Parametre
|
Parameter |
Dátový
typ |
Typ |
Popis |
1 |
funcBody |
TEXT |
IN |
Predpis funkcie v EDA-L. |
2 |
params |
REC |
IN |
Štruktúra voliteľných parametrov. |
2 |
errors |
REC |
OUT |
Popis chýb, ktoré sa našli pri
kompilácii. (kód chyby, popis chyby, číslo riadku v EDA-L skripte)
[TEXT, TEXT,
INT]. |
3 |
errorCode |
INT |
OUT |
Chybový (návratový) kód. |
Obsah štruktúry voliteľných parametrov verzie 1
|
Parameter |
Dátový
typ |
Prednastavená hodnota |
Popis |
1 |
structVersion |
INT |
|
Verzia štruktúry - 1. |
2 |
typeStrict |
BOOL |
@TRUE |
Povolí alebo zakáže typovo striktný režim kompilácie predpisu. |
Príklad použitia
BEGIN
INT _errorCode
TEXT _function
RECORD NOALIAS (SD.EDA_CheckFunction_Params_V1) _params
RECORD NOALIAS (SD.EDA_CompilationErrors) _errors
REDIM _errors[0]
_function := "VEKTOR _v;" + %Chr(10)
_function := _function + "INT _i;" + %Chr(10)
_function := _function + "%CreateVektor(_v, 10);" + %Chr(10)
_function := _function + "FOR _i = 1 TO 10 LOOP" + %Chr(10)
_function := _function + " IF _i <= 5 THEN" + %Chr(10)
_function := _function + " _v[_i] := 1.0;" + %Chr(10)
_function := _function + " ELSE" + %Chr(10)
_function := _function + " _v[_i] := 10 / _i;" + %Chr(10)
_function := _function + " END IF;" + %Chr(10)
_function := _function + "END LOOP;" + %Chr(10)
_function := _function + "RETURN _v;"
CALL %EDA_CheckFunctionRec(_function, _params, _errors, _errorCode)
IF _errorCode != 0 THEN
RETURN
ENDIF
END
|
0 komentárov