BNF에서 이런 형식을 정의할 수 있을까요?

착한아이의 이미지

자작 프로그램에서 내부 제어용으로 쓸 간단한 스크립트 언어를 고안중인데요. http://shortcutia.com/wiki/tiddly/codge.html#features

1. BNF 포맷에서 아래와 같은 do-while-do 문을 정의할 수 있을까요?

do {
  statements
} while (condition) {
  statements
}

전세계 모든 컴터언어들은 왜 do-while-do문을 정의하지 않는지 궁금해서요.

2. BNF 포맷에서 아래와 같은 함수 콜형식을 정의할 수 있을까요?

( $Point project_on $Plane w-r-t $Coord ) // 여기서 함수명은 "$_ project_on $_ w-r-t $_"
( $상수1 을 $변수1 에_할당한다 ) // 여기서 함수명은 "$_ 을 $_ 에_할당한다"

전세계 모든 컴터언어들은 왜 (인자 연산자 인자)형태를 허용하면서, 왜 (인자 함수명 인자)는 허용하지 않는지 궁금해서요.

3. 파이썬의 들여쓰기에 의한 블럭도 BNF 형식으로 정의되어 있는 걸까요?

jick의 이미지

정확히 뭘 질문하시는 건지...

* 노파심에 말씀드리자면 BNF 포맷은 syntax를 정의하는 것이기 때문에 "이 구문은 이러이러한 의미를 가진다"라는 내용은 들어가지 않습니다. 그건 따로 적어줘야 합니다.

ensky0의 이미지

let plus a b = a + b
1 `plus` 2