셰익스피어 프로그래밍 언어는 2001 년 스웨덴의 두 명의 학생 Karl Hasselström과 Jon Åslund에 의해 만들어졌으며 저자가 선포 한대로 ,
어셈블리 언어의 사용자 친화 성과 BASIC의 표현성.
답은 위에서 아래로 진행됩니다. 또한 이전 또는 이전 스 니펫을 참조하는 것이 일반적입니다.
( 나 자신을위한 링크 : 편집 )
사실 :
셰익스피어의 코드는 셰익스피어 연극과 유사합니다. 셰익스피어 연극은 변수가 연극의 등장 인물이며 "모욕되거나"칭찬 될 때 그 가치가 바뀝니다.
길이 1 스 니펫 :
I
셰익스피어의 코드는 사도 행전 (Acts)으로 나뉘어져 있으며, 그 행위는 "점프 투"인과 관계를 위해 장면 (Scene)으로 나뉩니다. 액트를 정의하는 것은 액티비티 Act I
가 예를 들어 실행되는 첫 번째 코드가 될 것임을 의미합니다.
길이 2 스 니펫 :
as
두 "문자"를 비교하는 데 사용됩니다.
길이 3 스 니펫 :
day
지금까지 SPL이 매우 장황한 느낌이들 수 있습니다. 그리고 이상하다. 그리고 당신은 아직 아무것도 보지 못했습니다. day
SPL에서 1은 1입니다. 모든 "긍정적 인"및 "중립적 인"명사는 1
모두 "음성"인 것으로 간주됩니다 -1
.
길이 4 스 니펫 :
rich
무엇입니까 rich
? 형용사. SPL에서 형용사는 붙인 명사의 값에 2를 곱합니다. 스 니펫 14 구현을 참조하십시오.
길이 5 스 니펫 :
Act I
첫 번째 스 니펫 구현 Act I: Hamlet must die!
로마 숫자 뒤의 모든 것이 파서에 의해 무시되므로 모든 행위에 제목이 주어질 수 있습니다 .
길이 6 스 니펫 :
better
모든 언어에는 조건이 있으며 SPL도 예외는 아닙니다. 단, 이것은 긴 구문을 가진 언어이기 때문에 (그리고 이상하다고 언급 했습니까?) 조건문은 길어질 것입니다. 오펠리아가 줄리엣에게 묻는 것은 대부분의 "일반"언어 Am I better than you?
를 사용 if (Ophelia > Juliet)
하는 것과 같습니다 . : 그리고, 물론, 당신은 다른 방법으로 주위가 요청할 수 Am I not better than you?
에 해당합니다 if (Ophelia < Juliet)
. 그리고 당신은 이미 =
SPL로 어떻게 번역 되는지 추측 할 수 있습니다 : as good as
-코드 스 니펫 2 사용법.
그러나이 good/better
shakesperian 언어로 비교하는 유일한 방법은 아니지만 모든 형용사를 사용할 수 있습니다. "스 니펫 3"의 동일한 원리가 여기에도 적용되며, "긍정적 인"형용사에는 가치 >
가 있지만 "부정적인" 형용사는 의미 <
합니다.
길이 7 스 니펫 :
Juliet:
이것은 변수의 호출입니다. 그 후, 그 / 그녀의 지시 / 선언 / 따라 무엇이든.
SPL의 한계는 변수의 수가 제한되어 있다는 것입니다. Romeo, Juliet, Hamlet, Ophelia, MacBeth 등은 셰익스피어 프로그램에 나타나는 "문자"의 몇 가지 예입니다.
길이 8 스 니펫 :
[Exeunt]
[Exeunt]
모든 "문자"가 "무대"를 떠날 때 배치됩니다. 문자 사이의 상호 작용에 대해 나중에 좀 더 자세히 설명 할 수 있기를 바랍니다. 일반적으로 [Exeunt]
언어의 터미널 "문자"는 아니지만 SPL 프로그램의 마지막 명령입니다 . 다른 예는 스 니펫 27을 참조하십시오.
길이 9 스 니펫 :
as bad as
=
스 니펫 2를 사용하여 단순히 9 개 문자 만 표시 합니다. SPL이 이상하다고 언급 했습니까? 예제는 스 니펫 30을 참조하십시오. (예, 출력하는 방법은 여러 가지가 있습니다)
길이 10 스 니펫 :
difference
-
빼기 를 표현하는 멋진 방법 . SPL에 수학 연산을 할 수 있지만, 하루 종일 제대로 계산해야 할 수도 있습니다.
팩 토이 드
(어떻게 든 열 스 니펫 코드에 도달하기 때문에 약간의 휴식을 취하고 SPL에 대해 또 다른 사실을 보자)
shakesperian 코드를 모든 영광으로 돌리고 싶다면 이 사이트가 있습니다 .5 분 전에도 발견하지 못했기 때문에 여전히 테스트 중입니다. 사용하여 C로 번역 할 수있는 방법도있다 번역자가 .
SPL 코드를 실행하기위한 또 다른 사이트는 이 하나의 오라클 PL / SQL을 : 내부적으로 다른 난해한 언어로 SPL 코드를 변환하여 작동합니다.
길이 11 스 니펫 :
[Exit Romeo]
예! 마침내 나는 캐릭터 간의 상호 작용에 대해 이야기 할 수 있습니다! 값을 변경하거나 다른 사람과 상호 작용하려면 "캐릭터"가로 무대에 들어가야합니다 [Enter Romeo]
. 문자가 지정되었지만 존재하지 않으면 런타임 오류가 발생하고 프로그램이 중지됩니다. SPL에서 변수의 값은 스테이지의 다른 캐릭터가 칭찬하거나 모욕하는 이름의 양으로 설정되기 때문입니다. 나는 절름발이 설명이 만들 수있는 혼란을 분명히하기 위해 예를 들어야한다고 생각하지만 아마도 몇 가지 스 니펫을 지연시키는 것이 가장 좋습니다.
길이 12 스 니펫 :
Remember me.
SPL은 꽤 "기본"입니다. 그러나 스택이 있습니다! 예를 들어, 로미오는 줄리엣에게 "그를 기억하라고"말할 때 실제로 사랑하는 사람에게 로미오의 가치를 그녀의 스택에 밀어 넣으라고 말하고 있습니다. 값을 파는 것은 Recall your happy childhood!
, 또는 Recall your love for me
, 또는 기본적으로 시작되는 문장으로 이루어집니다 Recall
. 나머지는 스 니펫 22와 같이 예술적입니다.
길이 13 스 니펫
Let us return
데의 Shakesperian 방법 goto
. 그리고 이것이 사도 행전과 장면이 유용한 곳입니다. 로미오가 줄리엣에게 말하면 we shall return to Act II
(다시 말해 여러 가지 방법이 있습니다) 프로그램은 코드의 특정 부분으로 넘어갑니다. 조건문과 함께 표시됩니다.
길이 14 스 니펫
my little pony
예, 그것은 80 년대의 시리즈였습니다. 여기는 2*1
입니다. 왜? 왜냐하면 a pony
는 (어떤) 긍정적 인 명사이고 little
형용사이기 때문입니다. 스 니펫 3과 4를 기억하면 little = "2 *"
및이 pony = "1"
있습니다.
길이 15 스 니펫
Speak thy mind!
SPL 프로그램에서는이 (또는 Speak your mind!
같은) 많은 것을 볼 수 있습니다. 기본적으로 컴퓨터에서 사용하는 문자 집합에 따라 숫자, 문자 또는 기타로 각 "문자"값을 출력합니다. 이 또한있어 Open your mind.
그는 숫자 형태로 출력이기는하지만, 거의 같은 일을한다.
길이 16 스 니펫
You are nothing!
누군가가 실생활에서이 사실을 말해 주면 우울해집니다. 오펠리아가 셰익스피어 프로그래밍에서 햄릿에게 이것을 말하면, 햄릿은 무가치하다고 느낀다. 이것은 무엇을 의미 하는가? 그건 Hamlet = 0
.
길이 17 스 니펫
Ophelia, a wench.
시나리오에서 실제 재생을 시작하기 전에 캐릭터를 제시해야합니다. 대부분의 프로그래밍 언어에서 변수는 사용하기 전에 선언해야합니다. SPL이 시나리오와 유사한 프로그래밍 언어임을 알면 프로그램 중에 나타나는 변수를 지정하여 변수를 선언하는 방법입니다.
그러나 "바다"는 무엇을 의미합니까? 특정 (그리고 멋진) 데이터 유형 이름이라는 것을 의미합니까? 글쎄 ... 난 당신을 실망시키는 것이 싫지만 아무 의미도 없습니다. 쉼표 뒤의 모든 것은 파서에 의해 무시됩니다.
길이 18 스 니펫
lying sorry coward
-4
세상의 모든 피조물들에게. 왜? 왜냐하면 2*2*(-1) = -4
.
길이 19 스 니펫
Romeo:
Remember me.
마침내 !!! 마지막으로 완전한 올바른 구문 명령을 출력 할 수 있습니다 (짧은 명령이지만)! 스 니펫 12를 사용하는 방법은 다음과 같습니다. 먼저 누가 말을하는지 선언하고 다음 줄에는 "대화"를 작성합니다. 일반적으로 파서는 슬프고 혼동되지 않도록 두 개의 "문자"만 무대에 있습니다. 다른 "캐릭터"가 필요하면 무대에서 하나를 가져와 새로운 캐릭터로 교체하십시오.
길이 20 스 니펫
cube of thy codpiece
나는 이것에 대해 조금 더 자세히 설명하고 싶었지만, 사실, 내가 생각해내는 것은이 발췌 문장 길이에 비해 너무 짧습니다. 그래서, 나는 이것을 당신에게 가져옵니다. -1
왜냐하면 (-1) 3 = -1 codpiece
이기 때문입니다. SPL은 몇 가지 더 정교한 산술 연산을 이해 몇 가지 지수와 제곱근.
팩 토이 드 (아직 이정표에 도달 했으므로 아직 하나)
셰 익스 페리 안의 "Hello World Program"에는 여기에 표시된대로 89 줄과 2400 자 이상의 문자가 있습니다 .
길이 21 스 니펫
Listen to your heart.
스 니펫 15에서는 무언가를 출력했습니다. 여기에서 프로그램에 숫자를 입력합니다. 문자를 입력하려면 Open your mind.
대신 사용하십시오. 말할 필요도없이,이 값은 말하는 "캐릭터"에 저장됩니다.
길이 22 스 니펫
Recall your childhood!
스 니펫 12에 설명 된대로 스택에서 정수를 제거하는 작업은이 작업으로 수행됩니다. 예를 들어, Ophelia는 Hamlet에게 위에서 언급 한 문장을 알려 주면 Hamlet이 스택에서 정수를 가져와 해당 값을 가정하게합니다.
물론, 단어 recall
가 문장을 시작하는 한, 당신은 창조적 인 셰 익스 페리 안의 마음이 원하는 거의 모든 것을 나머지를 채울 수 있습니다.
길이 23 스 니펫
Are you better than me?
스 니펫 구현 6. "캐릭터"가 다른 사람에게 이와 같은 질문을 할 때, 자신이하고있는 일은 if (x > y)
더 일반적인 프로그래밍 언어 와 동일합니다 . 더 많은 문자를 사용할 수있을 때까지이 명령의 후속 조치를 지연시켜야합니다.
길이 24 스 니펫
[Enter Romeo and Juliet]
예, "문자"는 쌍으로 입력 할 수 있습니다. 무대에 한 "캐릭터"가 없어도되고 다른 캐릭터가있을 필요는 없습니다.
길이 25 스 니펫
remainder of the quotient
25 자만 쓰면 %
됩니다. 나눗셈의 나머지는 25 자입니다. 그리고 그것을 사용하려면? 글쎄, 그것은 더 큽니다. 스 니펫 75를 참조하십시오.
길이 26 스 니펫
Let us return to scene II.
여기 goto
SPL은 프로그래밍 언어에서 기대하는대로 작동합니다. 문제는 : 같은 행위에서 장면들 사이에서 그리고 행위들 사이에서 점프 할 수 있습니다. 그러나 다른 행동으로 장면 사이를 이동할 수는 없습니다.
길이 27 스 니펫
[Exeunt Ophelia and Hamlet]
둘 이상의 "캐릭터"가 대신 무대를 떠나 Exit
SPL의 연극 적 특성을 유지하면서 라틴어 "Exeunt"가 사용됩니다. 때로는 스 니펫 8로 대체 될 수 있습니다.
길이 28 스 니펫
Scene I: Ophelia's flattery.
장면 선언. 당신이 나에게 대처하고 있다면 이미 예상 할 수 있듯이 중요한 것은 Scene I
입니다. 나머지는 예술적 보풀입니다.
Act / Scene 번호 매기기 후 텍스트를 참조하는 컴파일러 (예 : SPL에서 C로 컴파일하고 Python으로 작성 ) 와 같은 일부 컴파일러가 있습니다 . 좀 더 논리적이지만 (연극 중에는 "Act I로 돌아 가자"와 같은 줄을 말하는 캐릭터가 바보로 간주 될 수 있지만) 원래의 방식을 고수하고 있습니다.
길이 29 스 니펫
You pretty little warm thing!
예, 또 다른 상수 ( 산술 연산을 위해서는 더 많은 문자 가 필요 하기 때문에). 이 8
때문에 2*2*2*1 = 8
.
길이 30 스 니펫
You are as cowardly as Hamlet!
예를 들어 로미오에게 이것을 말하는 것은 그 의미합니다 Romeo = Hamlet
. 스 니펫 9처럼.
사실 (예, 다른 랜드 마크에 도달했습니다!)
이 언어는 구문 분석 과정에서 할당을 위해 작성되었으므로 작성자가 SPL 컴파일러를 작성하지 않았습니다. 더 : SPL의 저자는 2001 년부터 언어에서 아무것도 수정되지 않은 것으로 보이므로 창조와의 관계를 단절시킨 것처럼 보입니다 ...
길이 31 스 니펫
Am I as horrid as a flirt-gill?
예, 저는 약간 반복되는 스 니펫 23이지만, 여기서는 "갈등"과 말하는 "캐릭터"를 비교하고 있습니다 (원하는 경우 if (Ophelia == -1)
). 문제는 ...
길이 32 스 니펫
If so, let us return to scene I.
... 이제 then
SPL, 조건부 점프 및 루프를 구현하는 Shakesperian 방법을 소개 할 수 있습니다. 예를 들어 Romeo가 값을 가정하도록 0
하고 다른 작업을 수행하는 동안 값을 늘리고 10에 도달하면 중지하고 나중에 프로그램을 진행할 수 있습니다.
길이 33 스 니펫
If not, let us return to scene I.
테스트 한 조건 이 false 인 경우 대신 다른 장면으로 진행할 수 있습니다 .
길이 34 스 니펫
Open your mind! Remember yourself.
연속으로 두 가지 명령, yippie! 첫 번째 문자는 문자를 읽고 두 번째 문자는 다른 문자의 메모리 스택으로 밀어 넣습니다.
길이 35 스 니펫
Act I: Death!
Scene I: Oh, shit.
행위와 장면을 선언하는 올바른 방법. 예술적 무스를 세련되게 추가하십시오.
길이 36 스 니펫
Thou art as sweet as a summer's day!
1
여름의 날이 좋고 즐겁기 때문에 말하는 "캐릭터"가 가치를받을 것이라고 말하는 또 다른 방법 .
길이 37 스 니펫
Art thou more cunning than the Ghost?
오펠리아 (Ophelia)는이 질문을 햄릿 (Hamlet)에 묻는 것은 이것을 읽기 어려운 프로그래밍 언어로 번역하는 것을 의미 if (Hamlet > the Ghost)
합니다. 스 니펫 23은 다시 한 번입니다. 그러나 "문자"가 서로보다 나은지 물어볼 필요가 없음을 보여줍니다. 다른 질문도 효과가 있습니다.
길이 38 스 니펫
[Enter the Ghost, Romeo and the Ghost]
예, 프로그램에 오류가 생기도록하기 위해 "문자"를 두 번 호출합니다. 이미 무대에있는 "문자"를 호출하거나 종료하지 않은 문자를 호출하면 파서 / 컴파일러에 큰 슬픔이 발생합니다.
길이 39 스 니펫
the sum of a fat lazy pig and yourself!
전체 명령이 더 나아질 것입니다. 나는 당신에게 그것을 줄 것입니다, 그러나 ... 여기 우리의 첫 번째 산술 연산이 있습니다! 실제로 무엇을 의미합니까? 글쎄요, pig
더러운 동물입니다 (맛 있음에도 불구하고).와 동등한 -1
두 형용사 fat lazy pig
를가 2*2*(-1) = -4
집니다. 그러나 어떻 yourself
습니까? 이름이나 형용사가 아닌 반사 대명사입니다. SPL은 "캐릭터"간의 대화를 기반으로합니다. 따라서 yourself
무대에서 다른 "문자"를 참조하십시오. 그래서, 우리는 끝에 도착했고 우리는 "뚱뚱한 게으른 돼지와 자신의 합계"가 실제로는 것을 발견합니다 -4 + x
.
길이 40 스 니펫
the sum of a squirrel and a white horse.
네, 다른 합계이지만, 이것은 스 니펫 39보다 간단 합니다. 이것은 내 수학이 정확하다면, 단지 1 + 2
- 3
입니다.
팩 토이 드 (여전히 예술적 보풀의이 40 조각 후에도 나와 함께? 당신은 상을받을 가치가있다.)
버전 1.2.1의 SPL은 여기에서 다운로드 할 수 있습니다 .
길이 41 스 니펫
Juliet:
Speak thy mind!
[Exit Romeo]
때때로, "캐릭터"는 무대에서 단지 그들의 가치가 바뀌도록 부름을받습니다. 실제 플레이에서는 상당히 기괴한 것입니다. 어쨌든, 줄리엣은 그녀의 사랑하는 로미오가 자신의 저장 가치를 인쇄하게 한 후 무대를 빠져 나옵니다.
길이 42 스 니펫
Speak YOUR mind! You are as bad as Hamlet!
다시 한 줄에 두 개의 명령이 있습니다 (여러 개를 가질 수 있지만 스 니펫 길이는 아직 허용하지 않습니다). 여기에 다른 사람에게 그 값을 출력하고 Hamlet이 가지고있는 값을 가정하도록 지시하는 "문자"가 있습니다. 혼란 스러운가? 아마도
길이 43 스 니펫
Am I as horrid as a half-witted flirt-gill?
줄리엣이 이것을 요구한다고해서 그녀가 낮은 평가를 받았음을 의미하지는 않습니다 (실제로있을 수도 있음). if
스 니펫 23 및 37과 같은 또 다른 것입니다. 거의 잊어 버렸습니다 if (Juliet == -2)
.
길이 44 스 니펫
You are as evil as the square root of Romeo!
예, 제곱근은 악합니다. 몰랐습니까? 어쨌든,이 명령은 그것이 무엇을하는지 이해하기에 충분히 간단합니다. "문자"가 Romeo에 저장된 값의 제곱근의 값에 해당하는 속성입니다.
길이 45 스 니펫
Hamlet:
Art thou more cunning than the Ghost?
스 니펫 37은 회선을 말하는 캐릭터로 올바르게 작성되었습니다.
길이 46 스 니펫
the product of a rural town and my rich purse.
어쨌든, SPL은 도시에 지갑을 곱할 수있는 유일한 언어 일 수 있습니다. 이것은 (2*1)*(2*1)
내가 잘못 생각하지 않으면과 같습니다 4
.
길이 47 스 니펫
Romeo:
Speak your mind.
Juliet:
Speak YOUR mind!
나는 당신에게 그것을 줄 것입니다 : 그것은 역사상 가장 기괴한 대화 중 하나 일 수 있습니다. 그러나 그것은 당신이 보여줄 이상한 언어를 선택할 때 얻는 것입니다. 로미오와 줄리엣은 짧게 서로의 가치를 산출하라고 말합니다.
길이 48 스 니펫
You lying fatherless useless half-witted coward!
직접 번역하는 중 2*2*2*2*(-1)
입니다. -16
, 권리?
길이 49 스 니펫
Scene V: Closure.
Hamlet:
Speak your mind!
[Exeunt]
SPL에서 프로그램을 종료하는 방법의 예. 장면을 구체적으로 선언 할 수 있지만 (필요하지는 않지만) 햄릿은 다른 "문자"에게 값을 출력하도록 요청한 다음 모두 스테이지를 종료합니다. 그리고 예, 그들 모두가 무대에서 내려야합니다.
길이 50 스 니펫
Othello, a young squire.
Lady Macbeth, an old fart.
적절한 지침 전에 더 많은 "문자"프리젠 테이션. 언제나 그렇듯이 컴파일러에게 중요한 것은 Othello
and입니다 Lady Macbeth
. 그래서 나머지 줄은 움켜 쥐고 있습니다.
한 가지 더 : "문자"는 SPL 프로그램에 나타나기 위해 서로 관련 될 필요가 없습니다. 따라서 같은 플레이에서 Romeo, Othello 및 Hamlet을 가질 수 있습니다.
Factoid (이것들 중 반세기? 휴!이 후에 나는 윌리엄 셰익스피어를 혐오 할 것 같다 ...)
얼마 전에 언급되어 SPL 제작자가 개발 한 SPL-C 변환기는 Flex 및 Bison 기반이었습니다 .
길이 51 스 니펫
Othello:
Recall your great dreams. Speak your mind!
(로미오, 줄리엣, 햄릿이 너무 아프다. 오델로를 데려 와서 변경하자!)
Recall
당신이 짐작할 수 있듯이, 여기가 열쇠입니다. 오델로가 다루고있는 "캐릭터"는 자신의 스택에서 값을 가져 와서 그 값을 가정 한 후 출력합니다.
길이 52 스 니펫
Thou art as pretty as the sum of thyself and my dog!
또 다른 합계. 입을 크게 벌림. 이 주소가 Hamlet에 있다고 가정하면 의미합니다 Hamlet = Hamlet + 1
. 또는 Hamlet += 1
. 또는 Hamlet++
.
길이 53 스 니펫
Romeo:
You are as vile as the sum of me and yourself!
아, 그렇습니다, 내가 전에 언급했던 것을 잊어 버린 것 : 말하기 "문자들"은 그들 자신의 라인에서 그들 자신을 언급 할 수 있습니다.
길이 54 스 니펫
Juliet:
Is the sum of Romeo and me as good as nothing?
조건에 포함 된 이전 스 니펫의 다른 예입니다. 우리가 여기있는 것은입니다 if (Romeo + Juliet == 0)
.
길이 55 스 니펫
Juliet:
You are as lovely as the sweetest reddest rose.
따라서 Juliet는 자신이 말하는 "캐릭터"를 찬양하고 있습니다 (Shakespeare를 위해 Romeo라고 가정).
길이 56 스 니펫
Othello:
You lying fatherless useless half-witted coward!
"문자"로 스 니펫 48이 올바르게 수행되었습니다. 위로 올라 가기에는 너무 게으르다면 (이것처럼) 모욕을당하는 사람이 -16 값을 받고 있음을 의미합니다.
길이 57 스 니펫
Romeo:
If not, let us return to Act I. Recall thy riches!
SPL에서 일반적인 조건이 어떻게 작동하는지 설명했습니다. 그러나 더 많은 인라인 분석이 필요합니다. 우리는 else
여기에 없습니다 : 예를 들어,이 예제에서 조건이 실패하면 프로그램은 Act I로 돌아갑니다. 그러나 그것이 사실이라면, 그것은 다음 명령으로 계속 될 것입니다 Recall
- 그것은 스택에서 나온 팝입니다.
길이 58 스 니펫
Romeo:
You are as disgusting as the square root of Juliet!
스 니펫 (44)을 잡고 명령이 제시되는 방법을 제시한다. 이것이 Romeo와 Othello 사이의 대화 였다면, 이것을로 Java로 번역 할 수 Othello = Math.sqrt(Juliet)
있습니다.
길이 59 스 니펫
Othello:
You are as vile as the sum of yourself and a toad!
오델로가 로미오와 대화를 나눈다면 이것과 같습니다 Romeo+(-1)
. Romeo--
짧게 말하면 아주 기본 이지요? 그것은 당신을위한 SPL입니다.
길이 60 스 니펫
Is the quotient between the Ghost and me as good as nothing?
간단히 말해 if (The Ghost/Hamlet == 0)
"me"는 Hamlet에 속한다고 가정합니다.
길이 61 스 니펫
Thou art as handsome as the sum of yourself and my chihuahua!
일단 단어와 모욕의 레이어와 레이어를 벗기면 SPL이 멋진 기능과 물건이없는 거의 기본적인 것임을 알 수 있습니다. 그래서 우리는 프로그램 본문에 많은 양의 산술 함수를 가지고 있습니다. 따라서이 주소가 Juliet에게 전달 된 경우와 같습니다 Juliet++
.
길이 62 스 니펫
twice the difference between a mistletoe and a oozing blister!
예, 더 많은 산술 연산. 대략 62 바이트의 SPL을로 변환 할 수 있습니다 2*(1-2*(-1))
. 이것은 꽤 멋진 골프 언어 일 것입니다. 권리.
길이 63 스 니펫
You lying stupid fatherless rotten stinking half-witted coward!
스 니펫 48이 -16을 출력했는데이 값은 -64와 같습니다 2*2*2*2*2*2*(-1)
.
길이 64 스 니펫
your coward sorry little stuffed misused dusty oozing rotten sky
내가 SPL에 대해 이해 한 바에 따르면 이것은 완벽하게 합법적입니다. 당신은 "긍정적 인"명사로 진행되는 모욕적 인 형용사를 많이 가지고 있습니다. 형용사는 부정적이든 아니든 특별한 구별이 없기 때문에 (그들의 가치에만 오른쪽 숫자에 2를 곱하는 것), 우리는 이와 같은 어리석은 문장을 가질 수 있습니다. 어느 것이 256에 해당합니다 2*2*2*2*2*2*2*2*1=256
.
길이 65 스 니펫
You are nothing! You are as vile as the sum of thyself and a pig.
흠, 너무 싫어? 그래서 우리가 여기있는 것은 y=0; y=y+(-1);
아마도 "골프"되었을 수 You are a pig!
있지만, 그렇습니다 .
길이 66 스 니펫
You are as beautiful as the difference between Juliet and thyself.
그래서, 줄리엣을 자신에게서 빼십시오. 이것은 Romeo=Juliet-Romeo;
말하는 사람이 Romeo라고 가정하면 해독하기가 매우 간단 합니다.
길이 67 스 니펫
Juliet:
Am I better than you?
Romeo:
If so, let us proceed to Act V.
SPL에서 대부분의 조건이 작동하는 방식. 표현식을 테스트하고, 그것이 사실이라면 (또는 스 니펫 33 참조) 프로그램의 다른 부분으로 이동합니다. 그렇지 않으면 다음 문장으로 넘어갑니다.
길이 68 스 니펫
The Ghost:
You are as small as the sum of yourself and a stone wall!
예, 조금 단조롭습니다. 그러나 SPL은 그런 식입니다. 조금 더 일찍 언급했듯이, 그 표현은 산술 연산의 혼합입니다. 따라서 이것은 또 다른 증분입니다. 왜냐하면 stone wall
중립적 인 "명사" 이기 때문 입니다.
길이 69 스 니펫
Thou art as disgusting as the difference between Othello and thyself!
합산 대신, 우리는 두 캐릭터, 오델로와 말을하는 사람 사이에 빼기가 있습니다.
길이 70 스 니펫
You are as handsome as the sum of Romeo and his black lazy squirrel!
우리는 첨가물로 돌아갑니다. 네, 저를 공식이라고 부릅니다. 이것을로 번역합니다 Romeo + 2*2*1
.
길이 71 스 니펫
Scene I: Dialogues.
[Enter Juliet]
Othello:
Speak your mind!
[Exit Juliet]
장면은 이만큼 작을 수 있습니다. Juliet
무대에 들어 오면 오델로가 저장된 값을 출력하라고 지시 한 다음 다시 무대에서 내려옵니다.
길이 72 스 니펫
twice the difference between a mistletoe and an oozing infected blister!
한 번 더 산술 연산-SPL이 수수께끼이기 때문에. 이것을로 번역 할 수 있습니다 2*(1-2*2*(-1))
.
길이 73 스 니펫
You are nothing! Remember me. Recall your unhappy story! Speak your mind!
네 개의 명령이 연속?! 사실 나는 정말 자랑 스럽습니다. 어쨌든 이것이 로미오와 줄리엣 사이의 대화라고 가정 해 보자 (그리고 그가 말하고 있음). 이것은 줄리엣의 가치가 0에서 시작한다는 것을 의미한다. 그런 다음 Juliet는 Romeo의 가치를 메모리 스택에 밀어 넣고 입력 한 형식으로 출력합니다. 간단 하죠?
길이 74 스 니펫
You are as sweet as the sum of the sum of Romeo and his horse and his cat!
예, 예, 지루한 예입니다. 그러나 이것은입니다 X = (Romeo + 1) + 1
.
길이 75 스 니펫
Is the remainder of the quotient between Othello and me as good as nothing?
글쎄, 이것은 매우 간단합니다. 디코딩 기술이 제대로 작동하지 않으면로 번역됩니다 if (Othello % X == 0)
.
길이 76 스 니펫
Thou art as rich as the sum of thyself and my dog! Let us return to scene I.
스 니펫 (26)에서식이 앞에옵니다. goto
물론, 이런 종류의, 그리고 - SPL에 항상 조건 근처에서 발견되지 않는,이처럼 될 수 있습니다 goto
항상 후 지시하기 때문에, 행위 또는 장면의 끝에서 찾을 수는 / 컴파일되지 수행 않습니다. 첫 번째 명령은 매우 간단 x=x+1
합니다.
길이 77 스 니펫
[Exit Hamlet]
[Enter Romeo]
Juliet:
Open your heart.
[Exit Juliet]
[Enter Hamlet]
그래서 줄리엣과 햄릿이 무대에 있습니다. 그러나 우리는 로미오의 가치가 필요합니다. 따라서 매우 심한 두통에서 컴파일러를 절약하기 위해 먼저 스테이지에서 햄릿을 제거합니다 (줄리엣이 갈 수는 있었지만). 로미오에게 무대에 오르라고 지시합니다. 숫자 (스 니펫 21의 설명 참조)를 입력하면 로미오가 무대에서 나와 햄릿이 돌아옵니다. 매우 간단하고 간단합니다.
길이 78 스 니펫
The Ghost:
Speak thy mind.
Lady Macbeth:
Listen to thy heart! Remember thyself.
그래서 고스트 (Hamlet의 사망 한 아버지)는 맥베스 여사에게 값을 출력하라고 말하면서 고스트에게 숫자를 읽어서 스택에 넣도록 명령합니다.
Translate[Scale[Rectangle, 80], {0, 0, 100}]
거대한 단어는 것입니다Rectangle
모니터 앞에 떠 나타 납니까?