SKKOA; LTW Syntax

Starter Kit with Korean Oriented Architecture; Language to Write

문법 문서

SKKOA; LTW 코드는 한국어 키워드와 간단한 블록 구조로 작성합니다. 프로그램은 보통 시작 사이에 실행할 코드를 둡니다.

시작
    출력 "Hello"
끝

줄마다 하나씩 쓰기

한 줄에 하나의 일을 쓰면 읽기 쉽습니다.

변수 age: 정수 = 20
출력 age

주석

주석은 컴퓨터가 실행하지 않는 설명입니다.

# 이름을 출력합니다
출력 "SKKOA; LTW"

다른 파일 가져오기

가져오기 "stack.koa"
가져오기 "queue.koa"

가져온 뒤에는 그 파일 안에 있는 구조체와 함수를 바로 사용할 수 있습니다.

자료형

자료형은 값의 종류입니다.

자료형 담는 값
정수 1, 2, 100 같은 숫자
실수 1.5, 3.14 같은 소수
논리 또는 거짓
문자 'A' 같은 한 글자
문자열 "안녕하세요" 같은 글
없음 함수가 돌려주는 값이 없을 때
포인터<정수> 주소를 다룰 때 사용하는 값
시작
    변수 age: 정수 = 20
    변수 height: 실수 = 170.5
    변수 passed: 논리 = 참
    변수 name: 문자열 = "SKKOA; LTW"

    출력 age
    출력 height
    출력 passed
    출력 name
끝

변수와 상수

변수는 값을 담는 이름입니다.

변수 x: 정수 = 10

값 바꾸기

시작
    변수 score: 정수 = 70
    score = score + 10
    출력 score
끝

입력으로 값 넣기

시작
    변수 age: 정수
    입력 age
    출력 age
끝

정수, 논리, 실수, 문자, 포인터 입력은 공백이나 줄바꿈으로 구분해서 여러 값을 한 번에 넣을 수 있습니다. 문자열 입력은 다음 줄 전체를 읽기 때문에 띄어쓰기가 그대로 유지됩니다.

시작
    변수 left: 정수
    변수 right: 정수
    변수 name: 문자열

    입력 left
    입력 right
    입력 name

    출력 left + right
    출력 name
끝
10 32
Daniel Kim

상수

상수 maxScore: 정수 = 100

제어 흐름

제어 흐름은 코드가 실행되는 순서입니다.

조건문

시작
    변수 score: 정수 = 85

    만약 score >= 80 이면
        출력 "통과"
    아니면
        출력 "실패"
    끝
끝

여러 조건

만약 score >= 90 이면
    출력 "A"
아니면만약 score >= 80 이면
    출력 "B"
아니면
    출력 "C"
끝

동안 반복

시작
    변수 i: 정수 = 0

    동안 i < 5 반복
        출력 i
        i = i + 1
    끝
끝

범위 반복

시작
    반복 i: 1부터 3까지
        출력 i
    끝
끝

반복 제어

시작
    반복 i: 1부터 6까지
        만약 i == 2 이면
            계속
        끝

        만약 i == 5 이면
            중단
        끝

        출력 i
    끝
끝

함수

함수는 자주 쓰는 코드를 이름으로 묶은 것입니다.

값을 돌려주는 함수

함수 더하기(a: 정수, b: 정수): 정수
    반환 a + b
끝

시작
    출력 더하기(3, 4)
끝

값을 돌려주지 않는 함수

함수 인사(): 없음
    출력 "안녕하세요"
끝

시작
    인사()
끝

구조체

구조체 사람
    name: 문자열
    age: 정수
끝

구조체를 바꾸는 함수

구조체 사람
    age: 정수
끝

함수 한살더하기(user: 사람): 없음
    user.age = user.age + 1
끝

시작
    변수 user: 사람
    user.age = 10
    한살더하기(user)
    출력 user.age
끝

구조체 복사

구조체 사람
    name: 문자열
    age: 정수
끝

시작
    변수 original: 사람
    original.name = "SKKOA; LTW"
    original.age = 7

    변수 copy: 사람 = original
    copy = original
끝

배열

배열은 같은 종류의 값을 여러 개 담는 상자입니다.

변수 numbers: 정수[3]

값 넣기와 꺼내기

시작
    변수 numbers: 정수[3]

    numbers[0] = 10
    numbers[1] = 20
    numbers[2] = 30

    출력 numbers[0] + numbers[1] + numbers[2]
끝

배열 리터럴

시작
    변수 numbers: 정수[] = [1, 2, 3, 4]
    출력 numbers[0]
끝

배열 길이

시작
    변수 numbers: 정수[] = [1, 2, 3, 4]
    출력 배열길이(numbers)
끝

문자열

문자열은 글자 여러 개를 담는 값입니다.

시작
    변수 name: 문자열 = "SKKOA; LTW"
    출력 "Hello, " + name
끝

문자열 함수

시작
    변수 name: 문자열 = "SKKOA; LTW"

    출력 길이(name)
    출력 비교(name, "SKKOA; LTW")
    출력 부분문자열(name, 0, 2)
끝

포인터

포인터는 어떤 값이 있는 위치를 담습니다. 변수, 조건문, 반복문, 함수, 배열을 먼저 익힌 뒤 읽어도 됩니다.

시작
    변수 x: 정수 = 10
    변수 p: 포인터<정수> = 주소(x)

    출력 값(p)
끝

값 바꾸기

시작
    변수 x: 정수 = 10
    변수 p: 포인터<정수> = 주소(x)

    값(p) = 25
    출력 x
끝

문법 요약

기본

시작
    출력 "안녕하세요"
끝

변수

변수 이름: 자료형 = 값
상수 이름: 자료형 = 값

조건

만약 조건 이면
    실행할 코드
아니면
    다른 코드
끝

반복

동안 조건 반복
    실행할 코드
끝
반복 i: 1부터 3까지
    출력 i
끝
중단
계속

모듈

가져오기 "stack.koa"
가져오기 "queue.koa"

문법 맨 위로