뚜둔뚜둔✩

판다의 개발일지

기타/SCRIPT

[PRACTICE] 흐름 제어 (Flow Control)

2022. 5. 9. 01:31

GOSUB - 서브루틴

format GOSUB <label> [<parameter_list>]

<label>로 정의된 서브루틴을 실행한다.

실행되는 서브루틴 블록은 RETURN 명령어로 끝나야 한다.

GOSUB function &val
ENTRY &result

// ...

ENDDO

function:
    ENTRY &var
    // ...
    RETURN &ret

GOTO - 분기

format GOTO <label>

<label>에서 script 수행을 이어간다.

이때, <label>현재 수행 중인 script 내에서 정의되어 있어야 한다.

JUMPTO - 분기

format JUMPTO <label>

이때, <label>은 현재 PRACTICE stack에 위치한 script 내 정의되어 있어야 한다.

// script test_sequence.cmm

DO target_setup.cmm
DO check_boot.cmm

ENDDO

terminate_script:
(
    PRINT "script terminated with failure"
    ENDDO
)
// script check_boot.cmm

IF &cond==TRUE()
(
    PRINT "boot successful"
)
ELSE
(
    PRINT "boot failed"
    JUMPTO terminate_script
)

DO - 스크립트 호출

format DO <file> [<parameter_list>]

한 script 내에서 다른 script를 실행시키는 명령어이다.

DO 명령어도 마찬가지로 선택적으로 parameter를 함께 전달하여 실행시킬 수 있다.

 

 

'기타 > SCRIPT' 카테고리의 다른 글

[PRACTICE] STRing Functions  (0) 2022.06.19
[PRACTICE] 변수 사용  (0) 2022.05.07
[PRACTICE] Basics  (0) 2022.05.06
[PRACTICE] 조건문과 반복문  (0) 2022.05.06
VSCode에서 cmm script 작성하기  (0) 2022.05.04