# 문법

Toast의 기본적인 문법입니다.

# 커맨드

Toast의 모든 키워드, 연산자, 구문, 메서드는 커맨드입니다.

커맨드의 이름을 적고 그 뒤에 파라미터를 적어 커맨드를 사용할 수 있습니다. (괄호나 쉼표를 적지 않습니다.)

> cmd1 cmd1Param1 cmd1Param2

커맨드를 파라미터로 사용할 수 있습니다.

> cmd1 cmd2 cmd2Param1 cmd1Param1

# 그룹

가독성을 높이기 위해 파라미터를 그룹으로 묶을 수 있습니다.

> cmd1 (cmd2 cmd2Param2) cmd1Param1

> cmd1 (cmd2 cmd2Param2 (cmd1Param1))

# 파라미터

일반적인 커맨드와 다르게 사칙연산, 논리 연산 등의 연산자들은 커맨드를 앞에 배치하면 가독성이 떨어질 수 있습니다.

// a + b + c + d
> add add add a b c d

ToastContext의 위치 변경을 통해 파라미터의 위치를 바꿔 가독성을 높일 수 있습니다.

> a add b add c add d

# 형변환

Toast의 커맨드는 모두 파라미터와 리턴값의 타입이 미리 정해져있는 정적 타입 언어입니다. Toast에서는 메서드 오버로딩을 사용할 수 없기 때문에, 명시적 형변환을 할 필요가 없습니다.

만약 text타입을 number타입으로 변환하는 컨버터를 추가했다면, 아래 커맨드 라인을 실행할 수 있습니다.

> "1" add "2"
3

이 형변환 시스템을 통해 코드를 간결하고 쉽게 작성할 수 있습니다.

# 함수

함수 타입의 값은 다음과 같이 작성할 수 있습니다.

> (x, y) {
    send x;
    send y;
}

세미콜론(;)을 사용해 통해 함수의 커맨드 라인을 나눌 수 있습니다.