이 프로젝트는 rycont/umjunsik-lang에 영감을 받아 제작되었습니다.
구현체 | 언어 버전 | 구현체 버전 |
---|---|---|
C++ | v1.2 | v1.2.0 |
WEB(npm) | v1.2 | v1.2.3 |
구현체 버전 규칙
- major와 minor 버전은 언어 버전을 따라야 합니다
- patch 버전은 자유롭게 작성 가능합니다.
몰?랭에는 4가지 상수값이 있습니다
- 몰루 :
1
- 아루 :
-1
- 모올루 :
10
- 아아루 :
-10
사칙연산의 우선순위가 적용되지 않고 왼쪽부터 차례대로 계산됩니다
- 덧셈 :
?
- 곱셈 :
??
- 뺄셈 :
!
- 나눗셈
!!
모올루??아아루 => -100
몰루?몰루!아루 => 3
변수는 인덱싱을 통해 접근할 수 있으며, 변수의 기본값은 0입니다.
우
의 개수번째 변수에 키워드 뒤에 오는 값을 대입합니다.
아!루 몰루 => 0번째 변수에 1 대입
아!루우 모올루 => 1번째 변수에 10 대입
아!루우우 모올루??아루 => 2번째 변수에 -10 대입
우
의 개수번째 변수의 값을 불러옵니다.
루 => 0번째 변수
루우 => 1번째 변수
루우우 => 2번째 변수
현재 위치를 우
의 개수번째 라벨로 정의합니다.
왜몰?루 => 0번째 라벨 정의
왜몰?루우 => 1번째 라벨 정의
우
의 개수번째 라벨을 불러옵니다.
라벨이 정의되어 있지 않으면 오류가 발생합니다.
왜아!루 => 0번째 라벨
왜아!루우 => 1번째 라벨
몰?루 (값) (라벨)
값이 0일때 라벨로 이동합니다.
모올?루 (값) (라벨)
값이 0보다 작을 때 라벨로 이동합니다.
모오올?루 (값) (라벨)
값이 0보다 클 때 라벨로 이동합니다.
왜몰?루 => 0번째 라벨 정의
몰?루 몰루?아루 왜아!루 => 1+(-1)이 0이면 0번째 라벨로 이동
아!루 모올루 => 0번째 변수에 10 대입
모오올?루 루 왜아!루 => 0번째 변수의 값이 0보다 크면 0번째 라벨로 이동
키워드 뒤에 있는 값을 정수로 출력합니다.
키워드 뒤에 있는 값을 문자로 출력합니다.
몰!루 모올루 => 10 출력
모올!루 모올루??모올루 => d 출력
키워드 자체가 값으로 취급됩니다.
정수를 입력받습니다.
문자를 입력받습니다.
여러글자가 입력 됐을 경우,
맨앞 문자를 불러오며 다음에 문자 입력을 받을 때 그 다음 문자가 불러와집니다.
몰!루 아?루 => 입력받은 정수를 출력
모올!루 아아?루 => 입력받은 문자를 출력
모올!루 아아?루 모올!루 아아?루 모올!루 아아?루 => 만약 한번에 abc를 입력받았다면, abc를 출력함
주석의 시작부터 줄바꿈이 될때까지 무시합니다.
주석의 시작부터 끝까지 무시합니다.
// 라인 주석 #1
=> 라인 주석 #2
/* 블록 주석 #1*/
<--블록 주석 #2-->
- 확장자는
.mol
입니다. (6.02*10^23 아님 ㅡㅡ) - 공백, 줄바꿈이 없어도 작동합니다.
REPL 추가
주석 문법 추가
첫번째 버전