Giter Site home page Giter Site logo

sungmo_lang's Introduction

sungmo_lang

김성모 만화가의 만화에서 등장하는 유행어와 명대사에서 영향받은 난해한 프로그래밍 언어입니다.

변수의 선언

변수는 사용하는 순간 선언됩니다. 명시적으로 선언할 필요는 없습니다.

단, 독자는 입력을 위해 사용되는 변수이기 때문에 독자에 값을 할당하거나 값을 수정할 수 없습니다. 독자에 값을 할당하거나 수정하려고 할 경우 런타임 에러가 발생합니다.

변수의 할당

다음 문법을 통해 변수를 할당할 수 있습니다.

(변수명)이... 말대꾸??
(변수명)가... 말대꾸??

.의 개수는 2개 이상, ?의 개수는 1개 이상이어야 합니다. 이 경우 할당되는 값은 (.의 개수 - 1) * (?의 개수)입니다.

만일 음수를 할당하고 싶을 경우, ? 뒤에 !을 추가하면 됩니다. 할당되는 값은 -1 * (.의 개수 - 1) * (?의 개수)입니다.

0을 할당하고 싶다면, ? 사이에 !을 넣으면 됩니다.

예시는 다음과 같습니다.

꼬맹이가... 말대꾸?? (꼬맹이 = 4)
할아버지가.. 말대꾸??! (할아버지 = -2)
학생회장이... 말대꾸?!? (학생회장 = 0)

느낌표가 둘 이상 있으면 첫번째 느낌표만 적용됩니다.

안경잡이가... 말대꾸?!?! (안경잡이 = 0)

값의 입력

다음 문법을 통해 독자 변수에 입력을 받습니다.

독자가... 말대꾸?!
독자가... 말대꾸?!!

첫 번째 문법의 경우 정수 입력을 받으며, 두 번째 문법의 경우 유니코드로 입력을 받습니다.

변수의 복제

다음 문법을 통해 한 변수의 값을 다른 변수로 복제할 수 있습니다.

(변수명1)에게 전해! 나는 (변수명2)라고!

변수1의 값이 변수2가 됩니다.

값의 출력

다음 문법을 통해 값을 출력할 수 있습니다.

(변수명)은/는 어차피 놔둬도 자연사야!
(변수명)은/는 어차피 놔둬도 자연사야!!

첫 번째 문법의 경우 저장되어 있는 정수를 출력하며, 두 번째 문법의 경우 유니코드로 출력합니다.

반복문

다음 문법을 통해 반복문을 사용할 수 있습니다.

받아랏! (정수) 컴보!
...
더 이상의 자세한 설명은 생략한다.

블록 안에 있는 코드를 정수번 반복합니다.

만일 변수의 값 만큼 반복하고 싶으면 받아랏! (변수명)의 컴보!를 사용하면 됩니다.

변수의 덧셈

다음 문법을 통해 변수의 덧셈을 할 수 있습니다.

돈 내놔 (변수명1) 새끼야! (변수명2)님 드, 드리겠습니다! 필요 없어!

변수2의 값이 변수1의 값만큼 증가하며, 변수1의 값은 0이 됩니다.

비교

다음 문법은 두 변수의 값의 비교를 나타냅니다.

(변수명1)을 꿈꾼다면 (변수명2)는 필수다! 마치 중국집과 오토바이처럼 뗄레야 뗄 수 없는 관계란 말이다!

변수1의 값이 변수2의 값 이상일 경우 변수1의 값이 1이 되며, 변수2의 값보다 작을 경우 변수1의 값이 0이 됩니다.

조건문

다음 문법은 조건문을 나타냅니다.

난 상대가 누구든 언제나 맞짱을 뜰때 최선을 다한다.
...
그게 비록 (변수명1)일지라도 말이야.

변수1의 값이 0이 아닌 경우 블록 안에 있는 코드가 실행됩니다.

프로그램의 종료

기본적으로 프로그램은 마지막 코드를 실행한 이유 종료됩니다.

그 이전에 종료시키고 싶다면 다음 문법을 사용하면 됩니다.

E.N.D

GOTO

GOTO문을 통해 코드의 플래그로 이동할 수 있습니다.

플래그는 다음과 같이 선언합니다.

(플래그 이름을 한 글자씩 끊어서 !를 붙여서 작성)

예를 들면, 다음과 같은 코드를 통해 드라군 플래그를 만들 수 있습니다.

드!라!군!

GOTO문은 다음과 같이 사용합니다.

하지만 (플래그이름)이 출동한다면 어떨까?
하지만 (플래그이름)가 출동한다면 어떨까?

예를 들면, 드라군 플래그로 이동하는 GOTO문은 다음과 같습니다.

하지만 드라군이 출동한다면 어떨까?

에러

  • 이때는 대략 정신이 멍해진다.

    • 컴파일 에러
  • 네놈은 그냥 하루하루 똥 만드는 기계일 뿐이지!

    • 런타임 에러

논리식 등등

*(TBU)

sungmo_lang's People

Contributors

revdoor avatar riyuna avatar

Stargazers

Changmin Choi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.