뚜둔뚜둔✩

판다의 개발일지

기타/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