NME 문법 목록
NME가 실제로 받아들이는 표기를 빠짐없이 모아 둔 목록입니다. 설명이 필요하면 문법 안내를 보세요. 이 문서는 예제 모음이 아니라 표입니다.
이 파일은 컴파일러 소스에서 자동으로 만들어집니다
(python scripts/build-syntax-reference.py). 컴파일러가 받아들이는 표기가 여기에
빠져 있으면 검사가 실패하므로, 목록과 구현이 어긋날 수 없습니다.
읽는 법
- 단계는 셋입니다. 문장형은 따옴표·쉼표·괄호·등호·콜론이 없는 말이고, 초급은 짧고 정확한 표기이며, 고급은 그냥 Python입니다. 선언 없이 한 파일, 한 줄 안에서 섞어 쓸 수 있습니다.
- 한 줄은 Python이 먼저입니다. 어떤 줄이든 올바른 Python이면 NME는 손대지
않습니다. 그래서 낱말 하나짜리 줄(
skip,멈춰)은 Python 이름으로 남고, 반복 블록 안에서만 NME 명령이 됩니다. - 모든 NME 문장은 Python 한 줄이 됩니다. 줄 수가 변하지 않으므로 오류 메시지의 줄 번호가 내가 쓴 파일과 정확히 맞습니다.
- 표의
만들어지는 Python은 컴파일러가 내놓는 글자 그대로입니다.
1. 출력
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 안녕하세요! 말해줘 | print("안녕하세요!") |
| 문장형 | 보여줘 안녕하세요 | print("안녕하세요") |
| 문장형 | 오늘도 반가워요! | print("오늘도 반가워요!") |
| 문장형 | 안녕하세요 이름! 말해줘 | print("안녕하세요 " + str(이름) + "!") |
| 초급 | 말해 "안녕" | print("안녕") |
| 초급 | 말해 총합 + 1 | print(총합 + 1) |
| 고급 | print("안녕") | unchanged |
글이 되는가, 코드가 되는가. 동작 단어 뒤가 올바른 Python 표현식이고 그 안의
이름을 프로그램이 이미 알고 있으면 코드로, 그렇지 않으면 글로 다룹니다.
말해와 say만은 반대로, 표현식을 먼저 시도합니다. 앞에서 만든 이름이 글 안에
있으면 그 자리에 값이 들어갑니다(안녕하세요 이름! → "안녕하세요 " + str(이름) + "!").
2. 입력
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 이름을 물어봐 이름이 뭐예요? | 이름 = input("이름이 뭐예요?" + " ") |
| 문장형 | 나이를 숫자로 물어봐 몇 살이에요? | 나이 = int(input("몇 살이에요?" + " ")) |
| 문장형 | 이름이 뭐예요? | 이름 = input("이름이 뭐예요?" + " ") |
| 문장형 | 몇 살이에요? | 나이 = int(input("몇 살이에요?" + " ")) |
| 문장형 | 이름을 물어봐 | 이름 = input() |
| 초급 | 물어봐 이름, "이름? " | 이름 = input("이름? ") |
| 고급 | 이름 = input() | unchanged |
숫자로/ask number를 붙이면 int(input(...))이 됩니다. 나이나 개수를 묻는
질문(몇 살이에요?, How old are you?)은 붙이지 않아도 숫자로 읽습니다.
질문 뒤에 공백이 없으면 하나 붙여 줍니다.
3. 값 저장
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 인사는 안녕하세요 | 인사 = "안녕하세요" |
| 문장형 | 정답은 7 | 정답 = 7 |
| 문장형 | 인사 저장 안녕하세요 | 인사 = "안녕하세요" |
| 문장형 | 점수를 0으로 설정해 | 점수 = 0 |
| 문장형 | 점수는 0이다 | 점수 = 0 |
| 초급 | 저장 총합 1 + 2 | 총합 = 1 + 2 |
| 고급 | 인사 = '안녕' | unchanged |
한국어는 조사 은/는만으로 저장이 됩니다. 영어에는 그런 조사가 없으므로
set … to …를 씁니다.
4. 값 바꾸기
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 점수에 1 더해 | 점수 = 점수 + 1 |
| 문장형 | 점수에 1 더해줘 | 점수 = 점수 + 1 |
| 문장형 | 점수 1 올려 | 점수 = 점수 + 1 |
| 문장형 | 1을 점수에 더해 | 점수 = 점수 + 1 |
| 문장형 | 점수에서 1 빼줘 | 점수 = 점수 - 1 |
| 문장형 | 점수에 2 곱해 | 점수 = 점수 * 2 |
| 문장형 | 점수를 2로 나눠 | 점수 = 점수 / 2 |
| 문장형 | 점수에서 1 + 2 빼줘 | 점수 = 점수 - (1 + 2) |
| 고급 | 점수 += 1 | unchanged |
⚠ 여러 낱말짜리 값은 괄호로 묶입니다. 점수에서 1 + 2 빼줘는
점수 - (1 + 2)이지 점수 - 1 + 2가 아닙니다.
5. 기다리기
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 3초 기다려 | __import__("time").sleep(3) |
| 문장형 | 3초 쉬어 | __import__("time").sleep(3) |
| 문장형 | 1초 기다려 | __import__("time").sleep(1) |
| 문장형 | 이초 기다려 | __import__("time").sleep(2) |
| 문장형 | 5 초 기다려주세요 | __import__("time").sleep(5) |
| 문장형 | 쉬는시간 기다려 | __import__("time").sleep(쉬는시간) |
| 고급 | import time; time.sleep(3) | unchanged |
단위 낱말(초, seconds)은 생략해도 됩니다. 숫자가 없는 줄
(잠깐 기다려)은 그냥 문장으로 출력됩니다.
6. 횟수 반복
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 3번 반복해서 다시 말해줘 | for _ in range(3): print("다시") |
| 문장형 | 3번 환영합니다 | for _ in range(3): print("환영합니다") |
| 문장형 | 세 번 반복해서 다시 말해줘 | for _ in range(3): print("다시") |
| 문장형 | 3회 반복해서 다시 말해줘 | for _ in range(3): print("다시") |
| 문장형 | 3번 반복해 … 끝 | for _ in range(3): |
| 초급 | 3번: 말해 "안녕" | for _ in range(3): print("안녕") |
| 고급 | for i in range(3): | unchanged |
블록은 세 가지로 닫습니다: 들여쓰기, : 뒤 한 줄, 또는 끝/end 한 줄.
7. 목록 반복
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 친구들의 친구마다 반복해 | for 친구 in 친구들: |
| 문장형 | 친구들의 친구마다 반복해서 친구 말해줘 | for 친구 in 친구들: print(친구) |
| 문장형 | 이름들에서 이름마다 반복해 | for 이름 in 이름들: |
| 문장형 | 친구들의 친구 마다 반복해 | for 친구 in 친구들: |
| 초급 | 친구들의 친구마다: | for 친구 in 친구들: |
| 고급 | for 친구 in 친구들: | unchanged |
마다 앞의 이름이 항목을 하나씩 받는 이름이고, 그 이름은 블록 안에서 바로
쓸 수 있습니다.
8. 조건 반복
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 점수가 3보다 작을 동안 | while (점수 < 3): |
| 문장형 | 준비 그리고 대기 동안 | while (준비 and 대기): |
| 문장형 | 점수가 0보다 큰 동안 | while (점수 > 0): |
| 문장형 | 준비하는동안 확인 말해줘 | while (준비): print("확인") |
| 초급 | 동안 점수 < 3 | while (점수 < 3): |
| 고급 | while 점수 < 3: | unchanged |
9. 조건
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 만약에 점수가 10보다 크면 성공 말해줘 | if (점수 > 10): print("성공") |
| 문장형 | 만약에 이름이 있으면 | if (이름): |
| 문장형 | 만약 점수 > 10 이면 성공 말해줘 | if (점수 > 10): print("성공") |
| 문장형 | 만약에 점수가 10 초과면 성공 말해줘 | if (점수 > 10): print("성공") |
| 문장형 | 점수가 5보다 크면 높음 말해줘 | if (점수 > 5): print("높음") |
| 문장형 | 아니면 만약에 점수가 0과 같으면 | elif (점수 == 0): |
| 문장형 | 아니면 | else: |
| 초급 | 만약 점수 == 1: 말해 "하나" | if (점수 == 1): print("하나") |
| 고급 | if 점수 == 1: | unchanged |
10. 비교 어휘
| NME | Python | 뜻 |
|---|---|---|
만약에 이름이 있으면 | 이름 | 참인 값 / truthy |
만약에 이름이 없으면 | not (이름) | 거짓인 값 / falsey |
만약에 점수가 10과 같으면 | 점수 == 10 | == |
만약에 점수가 10과 같지 않으면 | 점수 != 10 | != |
만약에 점수가 10보다 크면 | 점수 > 10 | > |
만약에 점수가 10보다 작으면 | 점수 < 10 | < |
만약에 점수가 10보다 크거나 같으면 | 점수 >= 10 | >= |
만약에 점수가 10보다 작거나 같으면 | 점수 <= 10 | <= |
만약 준비 그리고 점수가 2보다 크면 | 준비 and 점수 > 2 | and / 그리고 |
만약 준비 또는 대기 | 준비 or 대기 | or / 또는 |
한국어 어미는 줄여 써도 됩니다: 같다면 · 같으면 · 같지않다면 · 같지않으면 · 같지않을 · 경우 · 그러면 · 그럼 · 때 · 라면 · 면 · 미만면 · 미만이면 · 없다면 · 없으면 · 이라면 · 이면 · 일때 · 있다면 · 있으면 · 작거나같다면 · 작거나같으면 · 작다면 · 작으면 · 작을 · 초과면 · 초과이면 · 크거나같다면 · 크거나같으면 · 크다면 · 크면 · 클 · 하면
11. 반복 제어
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 멈춰 | break |
| 문장형 | 여기서 멈춰 | break |
| 문장형 | 그만해 | break |
| 문장형 | 정지해 | break |
| 문장형 | 멈춰줘 | break |
| 문장형 | 건너뛰어 | continue |
| 문장형 | 계속해 | continue |
| 문장형 | 끝 | (closes the block) |
| 문장형 | 종료 | (closes the block) |
멈춰와 건너뛰어는 그 자체로 올바른 Python 이름이므로, 반복 블록 안에서만
NME 명령이 됩니다. 블록 밖에서는 Python 그대로 남습니다.
12. 목록
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 친구들은 목록 민수, 지안 | 친구들 = ["민수", "지안"] |
| 문장형 | 친구들은 목록 민수와 지안 | 친구들 = ["민수", "지안"] |
| 문장형 | 점수들은 목록 1, 2, 3 | 점수들 = [1, 2, 3] |
| 문장형 | 친구들은 목록 | 친구들 = [] |
| 문장형 | 친구들에 민수 넣어 | 친구들.append("민수") |
| 문장형 | 친구들에 민수 추가해 | 친구들.append("민수") |
| 문장형 | 친구들에 민수 더해 | 친구들.append("민수") |
| 문장형 | 민수를 친구들에 넣어 | 친구들.append("민수") |
| 고급 | 친구들 = ["민수"] | unchanged |
목록/list of 표시가 없으면 쉼표가 들어간 줄은 그냥 글입니다.
친구들에 민수 넣어(목록에 넣기)와 점수에 1 더해(값 바꾸기)는 다른 명령입니다.
13. 값과 리터럴
| 영어 표기 | 한국어 표기 | Python |
|---|---|---|
True · true | 참 | True |
False · false | 거짓 | False |
None · none · null | 없음 | None |
14. 무작위
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 주사위는 1부터 6까지 랜덤정수 | 주사위 = __import__("random").randint(1, 6) |
| 문장형 | 색은 빨강 또는 초록 중에서 랜덤선택 | 색 = __import__("random").choice(("빨강", "초록",)) |
| 문장형 | 색은 빨강 또는 초록 중에서 뽑아 | 색 = __import__("random").choice(("빨강", "초록",)) |
| 초급 | 랜덤 사용 | (binds the random helpers) |
| 초급 | 말해 랜덤정수(1, 6) | print(랜덤정수(1, 6)) |
숫자로 적은 선택지는 숫자로 남습니다(1 또는 2 중에서 랜덤선택 → choice((1, 2,))).
15. 파일
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | memo에 "notes.txt" 읽어서 | memo = __import__("pathlib").Path("notes.txt").read_text() |
| 문장형 | "out.txt" 파일에 "hello"를 저장해 | __import__("pathlib").Path("out.txt").write_text("hello") |
| 초급 | 파일 사용 | (binds the file helpers) |
| 초급 | 말해 파일읽기("notes.txt") | print(파일읽기("notes.txt")) |
파일 경로는 항상 따옴표로 감쌉니다. 이것만은 문장형에서도 예외입니다.
16. 모듈
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 초급 | 랜덤 사용 | (binds random, random_number, random_pick, shuffle and their Korean twins) |
| 초급 | 파일 사용 | (binds file_read, file_write, json_load, json_save and their Korean twins) |
| 초급 | 영지식 사용 | (binds zk_secret, zk_public, zk_nizk_prove, … and their Korean twins) |
| 초급 | 랜덤 사용 최신 | (the newest bundled adapter) |
| 초급 | 랜덤 사용 버전 "0.0.1" | (that exact adapter) |
| 고급 | from "helper.nme" import greet | (from helper import greet — needs helper.nme next to the program) |
17. 천천히 말하기
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 천천히 말해줘 안녕 | [print(_ch, end="", flush=True) or __import__("time").sleep(0.04) for _ch in "안녕"]; print() |
| 문장형 | 천천히 보여줘 안녕 | [print(_ch, end="", flush=True) or __import__("time").sleep(0.04) for _ch in "안녕"]; print() |
| 문장형 | 아주 천천히 말해줘 안녕 | [print(_ch, end="", flush=True) or __import__("time").sleep(0.12) for _ch in "안녕"]; print() |
| 문장형 | 3초씩 천천히 말해줘 안녕 | [print(_ch, end="", flush=True) or __import__("time").sleep(3) for _ch in "안녕"]; print() |
글자를 하나씩 내보내고 사이에 잠깐 쉽니다. 쉬는 시간은 기본 0.04초, 아주를
붙이면 0.12초이며, 3초씩처럼 직접 정할 수도 있습니다.
18. 화면
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 화면 지워 | print("\033[2J\033[3J\033[H", end="") |
| 문장형 | 화면 비워줘 | print("\033[2J\033[3J\033[H", end="") |
| 문장형 | 줄 그어 | print("─" * 40) |
| 문장형 | 가로줄 그어줘 | print("─" * 40) |
| 문장형 | 상자로 말해줘 안녕 | print((lambda _t: (lambda _w: "┌" + "─" * (_w + 2) + "┐\n│ " + _t + " │\n└" + "─" * (_w + 2) + "┘")(sum(2 if __import__("unicodedata").east_asian_width(_c) in "WF" else 1 for _c in _t)))("안녕")) |
| 문장형 | 가운데 말해줘 안녕 | print((lambda _t: " " * max(0, (40 - sum(2 if __import__("unicodedata").east_asian_width(_c) in "WF" else 1 for _c in _t)) // 2) + _t)("안녕")) |
화면 지우기는 터미널에 보내는 제어 문자입니다. 터미널이 아닌 곳에서는 글자 그대로 보일 수 있습니다. 상자와 가운데 맞춤은 한글을 두 칸으로 세기 때문에 한국어 문장도 반듯하게 나오며, 가로 폭은 40칸입니다.
19. 시간 재기
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 시간 재기 시작해 | _nme_clock = __import__("time").time() |
| 문장형 | 시간재기 시작해 | _nme_clock = __import__("time").time() |
| 문장형 | 잰시간 말해줘 | print(round(__import__("time").time() - _nme_clock, 2)) |
| 문장형 | 걸린시간은 잰시간 | 걸린시간 = round(__import__("time").time() - _nme_clock, 2) |
시간 재기 시작해가 시계를 켜고, 잰시간/걸린시간/elapsed는 켠 뒤로 흐른
초를 소수 둘째 자리까지 돌려줍니다. 값이므로 출력·저장·조건 어디에나 쓸 수
있습니다(만약 잰시간이 3보다 크면). 켜지 않고 읽으면 컴파일할 때 E0226으로
알려 줍니다. 프로그램이 잰시간이라는 이름을 직접 만들었으면 그 이름이 이깁니다.
20. 쿨타임
| 단계 | NME | 만들어지는 Python |
|---|---|---|
| 문장형 | 문 쿨타임 3초 걸어 | _nme_cool_문 = __import__("time").time() + 3 |
| 문장형 | 만약 문 쿨타임이 끝났으면 | if (__import__("time").time() >= _nme_cool_문): |
| 문장형 | 문 쿨타임 끝났으면 | if (__import__("time").time() >= _nme_cool_문): |
| 문장형 | 만약 문 쿨타임이 남았으면 | if (__import__("time").time() < _nme_cool_문): |
| 문장형 | 문 쿨타임 끝날때까지 기다려 | __import__("time").sleep(max(0, _nme_cool_문 - __import__("time").time())) |
| 문장형 | 문 쿨타임 끝날 때까지 기다려 | __import__("time").sleep(max(0, _nme_cool_문 - __import__("time").time())) |
쿨타임은 이름마다 하나씩 걸립니다. 문 쿨타임 3초 걸어는 지금부터 3초 뒤를
기억해 두고, 쿨타임이 끝났으면/is ready는 그 시각이 지났는지 봅니다.
조건이므로 만약·동안·아니면 만약과 한 줄 형태에서 모두 쓸 수 있습니다.
wait for door는 영어 문장으로도 읽히므로, 그 이름이 이미 다른 값으로 저장돼
있으면 쿨타임으로 읽지 않습니다.
21. 동작 단어 전수 목록
같은 뜻으로 받아들이는 표기를 하나도 빠뜨리지 않고 적은 표입니다.
| 하는 일 | 영어 표기 | 한국어 표기 |
|---|---|---|
| 출력 / Output | say · show · display · tell · print | 말해 · 말해줘 · 말해주세요 · 보여줘 · 보여주세요 · 출력해 · 출력해줘 · 출력해주세요 · 해줘 · 해주세요 · 읽어줘 |
| 입력 / Input | ask · prompt · question | 물어봐 · 물어봐줘 · 물어보세요 · 질문해 · 질문해줘 · 입력받아 · 입력받아줘 · 입력받아주세요 · 물어봐요 · 물어봐주세요 · 질문해주세요 |
| 저장 / Save | set · save · remember | 저장 · 저장해 · 저장해줘 · 기억해 · 기억해줘 · 설정 · 설정해 · 설정해줘 · 지정 · 지정해 · 정해 · 만들어 |
| 더하기 / Add | add · increase · increment · plus | 더해 · 더해줘 · 올려 · 올려줘 · 늘려 · 늘려줘 |
| 빼기 / Subtract | subtract · decrease · decrement · minus · remove | 빼 · 빼줘 · 내려 · 내려줘 · 줄여 · 줄여줘 |
| 곱하기 / Multiply | multiply · multiplied | 곱해 · 곱해줘 · 곱하기해 |
| 나누기 / Divide | divide · divided | 나눠 · 나눠줘 · 나누어줘 |
| 기다리기 / Wait | wait · pause · sleep | 기다려 · 기다려줘 · 기다리세요 · 기다려주세요 · 쉬어 · 쉬어줘 · 쉬세요 |
| 반복 / Repeat | repeat · again · do | 반복 · 반복해 · 반복해줘 · 반복해주세요 · 반복하세요 · 반복해서 · 반복하고 · 반복한다음 · 다시해 · 다시해주세요 |
| 조건 / If | when · if | 만약 · 만약에 · 만일 · 혹시 |
| 조건 반복 / While | while | 동안 · 하는동안 · 할동안 |
| 다른 갈래 / Else | else · otherwise | 아니면 · 그렇지않으면 · 아니면만약 · 아니면만약에 · 그렇지않으면만약 · 그렇지않으면만약에 |
| 반복 중단 / Break | break · breakhere | 멈춰 · 멈춰줘 · 멈춰라 · 멈추기 · 그만해 · 정지해 · 종료해 · 중단 · 반복멈춰 · 여기서멈춰 |
| 건너뛰기 / Skip | skip · skipthis · skipit · nextone | 건너뛰어 · 건너뛰어줘 · 건너뛰기 · 건너뛰자 · 넘어가 · 넘어가줘 · 계속해 · 넘겨 · 다음 |
| 블록 닫기 / End | end · finish · done | 끝 · 종료 · 마침 |
| 모듈 쓰기 / Use | use · load · get · import | 사용 · 사용해 · 사용해줘 · 사용해주세요 · 불러와 · 불러와줘 · 가져와 · 가져와줘 · 받아 · 받아줘 |
| 목록에 넣기 / Append | append · push | 넣어 · 넣어줘 · 추가해 · 추가해줘 · 붙여 · 붙여줘 |
| 목록 표시 / List | list | 목록 · 리스트 |
| 숫자로 / As a number | number · numeric | 숫자 · 숫자로 · 수로 |
| 숫자 낱말 / Number words | zero · one · two · three · four · five · six · seven · eight · nine · ten · once · twice | 하나 · 한 · 둘 · 두 · 셋 · 세 · 넷 · 네 · 다섯 · 여섯 · 일곱 · 여덟 · 아홉 · 열 · 일 · 이 · 삼 · 사 · 오 · 육 · 칠 · 팔 · 구 · 십 |
| 횟수 단위 / Count unit | times · time · loops · loop · rounds · round | 번 · 회 · 차례 · 판 |
| 반복 중단(블록 안) / Break inside a block | stop · stophere · exitloop · quit | — |
| 건너뛰기(블록 안) / Skip inside a block | keepgoing · carryon | — |
| 무작위 고르기 / Random pick | randomchoice · pick · choose | 랜덤선택 · 하나골라 · 골라 · 하나뽑아 · 뽑아 |
| 값 바꾸기 연결어 / Value-change connector | to · by · from · of · into · onto | — |
| 목록 연결어 / List connector | to · into · onto | 에다가 · 에다 · 에 · 한테 · 에게 |
| 저장 대상 조사 / Saved-name particle | — | 을 · 를 · 이 · 가 · 에 |
| 문장 어미 / Sentence ending | — | 입니다 · 이에요 · 예요 · 이다 · 으로 · 로 |
| 최신판 / Latest | latest · newest | 최신 · 최신판 · 최신버전 |
| 파일 읽기 / File read | read | 읽어서 · 읽고 · 읽어 |
| 파일 쓰기 / File write | write | 저장해 · 저장해줘 · 써줘 · 적어 |
| 천천히 / Slowly | slowly | 천천히 |
| 아주 / Very | very | 아주 |
| 글자 간격 / Interval | every | 초씩 |
| 화면 / Clear screen | clear | 화면 |
| 화면 지우기 / Clear screen action | screen | 지워 · 지워줘 · 비워 · 비워줘 |
| 줄 / Draw line | draw | 줄 · 가로줄 |
| 줄 긋기 / Draw line action | line | 그어 · 그어줘 |
| 상자 / Box | box | 상자로 |
| 가운데 / Middle | middle | 가운데 |
| 시간 재기 / Start timer | start | 시간재기시작해 · 시간재기시작 |
| 시계 / Timer | timer | — |
| 잰 시간 / Elapsed | elapsed | 잰시간 · 걸린시간 |
| 쿨타임 / Cooldown | cooldown | 쿨타임 · 쿨타임을 · 쿨타임은 · 쿨타임이 |
| 쿨타임 걸기 / Put on cooldown | put | 걸어 · 걸어줘 |
| 쿨타임 끝남 / Ready | ready | 끝났으면 |
| 쿨타임 남음 / On cooldown | — | 남았으면 |
| 쿨타임 끝날 때까지 / Until ready | — | 끝날때까지 |
| 군말 / Filler | please | 좀 · 혹시 · 제발 |
22. 조사 부록
이름 뒤에 붙어도 이름의 일부로 보지 않는 조사입니다.
에게서는 · 한테서는 · 에게서 · 한테서 · 으로는 · 로는 · 에게 · 한테 · 에서 · 으로 · 까지 · 부터 · 처럼 · 보다 · 이라도 · 라도 · 에는 · 에서 · 은 · 는 · 이 · 가 · 을 · 를 · 와 · 과 · 도 · 의 · 에 · 로 · 아 · 야 · 랑 · 이랑 · 예요 · 이에요
23. 오타 복구
동작 단어와 연결어에 한해, Python이 그 줄을 거부한 다음에만 한 글자 오타를 고쳐서 다시 읽어 봅니다(넣기·빼기·바꾸기·이웃 자리 바꿈 한 번). 고칠 방법이 둘 이상이면 고치지 않고 그 자리를 짚어 알려 줍니다. 문자열과 주석은 절대 건드리지 않습니다.
24. 오류 코드
| 코드 | 뜻 |
|---|---|
E0001 | 이 줄은 올바른 Python도 NME도 아닙니다 |
E0101 | 열린 블록이 없는 끝 |
E0102 | 반복문 밖의 break |
E0103 | 열린 조건이 없는 아니면 |
E0104 | 한 조건에 else가 두 번 |
E0105 | 닫는 end가 없는 블록 |
E0106 | 함수 밖의 return |
E0107 | 반복문 밖의 continue |
E0108 | 함수 밖의 yield |
E0109 | 비동기 함수 밖의 await |
E0110 | 비동기 함수 안의 yield from |
E0111 | 비동기 함수 밖의 async for |
E0112 | 비동기 함수 밖의 async with |
E0113 | 바깥 함수가 없는 nonlocal |
E0114 | 모듈 범위 밖의 별표 import |
E0115 | except* 블록 안의 제어 흐름 |
E0116 | 컴프리헨션 안의 yield |
E0117 | 비동기 함수 밖의 비동기 컴프리헨션 |
E0118 | 비동기 제너레이터 안의 반환값 |
E0119 | 충돌하는 global 선언 |
E0120 | 충돌하는 nonlocal 선언 |
E0201 | say의 값을 이해하지 못했습니다 |
E0202 | say의 식이 올바르지 않습니다 |
E0203 | 보여 줄 문장이 올바르지 않습니다 |
E0204 | say에 보여 줄 내용이 없습니다 |
E0211 | 쉼표 뒤의 질문이 비어 있습니다 |
E0212 | 질문을 이해하지 못했습니다 |
E0213 | ask의 대상이 변수 이름이 아닙니다 |
E0221 | 값 변경을 이해하지 못했습니다 |
E0222 | break 명령을 이해하지 못했습니다 |
E0223 | 건너뛰기 명령을 이해하지 못했습니다 |
E0224 | 기다릴 시간을 이해하지 못했습니다 |
E0225 | 목록에 넣는 줄을 이해하지 못했습니다 |
E0226 | 시간 재기를 아직 시작하지 않았습니다 |
E0301 | 조건이 비어 있습니다 |
E0302 | 조건을 이해하지 못했습니다 |
E0303 | 반복할 내용을 이해하지 못했습니다 |
E0304 | 반복 횟수를 이해하지 못했습니다 |
E0305 | 반복 횟수가 비어 있습니다 |
E0306 | 목록 반복 줄을 이해하지 못했습니다 |
E0401 | NME에는 랜덤 사용과 파일 사용이 내장되어 있습니다 |
E0402 | 최신과 정확한 버전을 함께 적었습니다 |
E0403 | 모듈 버전이 비어 있습니다 |
E0404 | 내장되어 있지 않은 모듈 버전입니다 |
E0405 | 모듈이 기존 이름을 덮어씁니다 |
E0406 | use 줄의 형태를 이해하지 못했습니다 |
E0411 | 저장할 값이 비어 있습니다 |
E0412 | 저장할 값을 이해하지 못했습니다 |
E0413 | 저장할 이름이 비어 있습니다 |
E0414 | 저장 대상이 단순한 이름이 아닙니다 |
E0501 | 반복할 블록이 들여쓰지 않았습니다 |
E0502 | 조건 뒤에 콜론이 필요합니다 |
E0503 | 문장 없이 시작하는 블록 |
E0504 | 한 줄에 문장 하나 |
E0505 | 블록 본문이 NME가 아는 문장이 아닙니다 |
E0601 | 여러 동작으로 해석될 수 있는 문장입니다 |
E0602 | 이 줄에서 NME 동작을 찾지 못했습니다 |
E0701 | 여러 줄에 걸친 문장형 줄 |
E0702 | Python 소스가 올바르지 않습니다 |
E9001 | 알 수 없는 명령 |
E9002 | 모듈 명령에는 추가 인자가 없습니다 |
E9003 | 옵션 뒤에 값이 없습니다 |
E9004 | 알 수 없는 옵션 |
E9005 | 추가로 적힌 파일 |
E9006 | 변환에는 파일이 필요합니다 |
E9007 | 파일을 읽을 수 없습니다 |
E9008 | 파일을 저장할 수 없습니다 |
E9009 | 결과 파일을 덮어쓰지 않습니다 |
E9010 | 네이티브 컴파일이 실패했습니다 |
E9011 | 네이티브 컴파일러를 시작할 수 없습니다 |
E9012 | CPython이 만들어진 Python을 거부했습니다 |
E9013 | Python을 시작할 수 없습니다 |
E9014 | 폴더는 프로그램이 아닙니다 |
E9015 | 프로그램 파일이 없습니다 |
E9016 | 현재 폴더를 읽을 수 없습니다 |
E9017 | 이 폴더에 .nme 프로그램이 없습니다 |
E9018 | 선택 답변을 읽을 수 없습니다 |
E9019 | 선택 답변이 비어 있습니다 |
E9020 | 선택 답변이 목록에 없습니다 |
E9021 | 선택 답변이 여러 프로그램과 일치합니다 |
E9022 | 이 이름과 일치하는 프로그램이 여러 개입니다 |
E9023 | 오류 코드는 한 번에 하나만 확인할 수 있습니다 |
E9024 | 알 수 없는 오류 코드 |
E9025 | pip이 패키지를 설치하지 못했습니다 |
E9026 | 네이티브 프로그램을 시작할 수 없습니다 |
E9027 | 임시 작업 폴더를 만들 수 없습니다 |
E9028 | 가져온 모듈 두 개의 이름이 같습니다 |
E9029 | nme 컴파일은 모듈 가져오기를 지원하지 않습니다 |
E9030 | 패키지 이름이 없습니다 |
E9031 | -o는 nme 네이티브 빌드에서만 사용할 수 있습니다 |
E9032 | 네이티브 동작을 두 개 이상 적었습니다 |
nme ko E0102처럼 부르면 그 코드의 긴 설명을 한국어로 보여 줍니다
(영어는 nme en E0102).