ArnoldC:シュワルツェネッガー見積プログラミング言語

画像

こんにちは、Habr。 少なくともプログラミングに対して横向きの態度を持っている人の多くは、少なくとも一度は難解なプログラミング言語について聞いたことがあると思います。 同じBrainfuck。

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++ .>+.+++++++..+++.>++.<<+++++++++++++++.>.+++. ------.--------.>+.>. 

それはただ私を震えさせますが、有名なハリウッド俳優からの引用からプログラミング言語を作成できる誰かがいると思っていたでしょう。
フィンランドのプログラマーであるLauri Hartikkaは、GithubでArnoldCプログラミング言語の説明とコンパイラを公開しました。 ArnoldCは、Arnold Schwarzeneggerのキャラクターからの引用をチームとして使用します。

コード例

 BECAUSE I'M GOING TO SAY PLEASE a TALK TO THE HAND "a is true" BULLSHIT TALK TO THE HAND "a is not true" YOU HAVE NO RESPECT FOR LOGIC 


さらに、この言語は非常に多機能であり、次のような簡単なアクションを実行できます。

追加

 GET UP operand 

減算

 GET DOWN operand 

乗算

 YOU'RE FIRED operand 

部門

 HE HAD TO SPLIT operand 


画像

基本的な演算子(フレーズへのリンク付き)
をついた

真の問題なし

私が言うつもりだから

それ以外の場合

ロジックを尊重していない場合

スティックアラウンド中

EndWhile CHILL

PlusOperator GET UP

MinusOperator GET DOWN

乗算演算子

DivisionOperator HE HAD TO SPLIT

あなたは私と同じではない

GreaterThan LET OFF SOME STEAM BENNET

または離婚を検討する

ノックノック

MethodArguments 私はあなたのとあなたのブーツとあなたのオートバイが必要です

戻る

EndMethodDeclaration HASTA LA VISTA、BABY

CallMethod DO IT NOW

AssignVariableFromMethodCallからMARSへのASSの取得

EndMain 終了しました

手で話す

AssignVariable チョッパーへのGET

SetValue こちらが私の招待です

EndAssignVariable ENOUGH TALK

ParseError何が間違っていたのか


以下の例では、論理演算子がどのように実装されているかを確認できます。

a = (b || c) && d

 GET TO THE CHOPPER a HERE IS MY INVITATION b CONSIDER THAT A DIVORCE c KNOCK KNOCK d ENOUGH TALK 


より複雑な例を次に示します。
 IT'S SHOWTIME HEY CHRISTMAS TREE result1 YOU SET US UP 0 HEY CHRISTMAS TREE result2 YOU SET US UP 0 HEY CHRISTMAS TREE result3 YOU SET US UP 0 HEY CHRISTMAS TREE result4 YOU SET US UP 0 GET YOUR ASS TO MARS result1 DO IT NOW modulo 9 4 TALK TO THE HAND result1 GET YOUR ASS TO MARS result2 DO IT NOW modulo 4795 87 TALK TO THE HAND result2 GET YOUR ASS TO MARS result3 DO IT NOW modulo 3978 221 TALK TO THE HAND result3 GET YOUR ASS TO MARS result4 DO IT NOW modulo 5559 345 TALK TO THE HAND result4 YOU HAVE BEEN TERMINATED LISTEN TO ME VERY CAREFULLY modulo I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE dividend I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE divisor GIVE THESE PEOPLE AIR HEY CHRISTMAS TREE quotient YOU SET US UP 0 HEY CHRISTMAS TREE remainder YOU SET US UP 0 HEY CHRISTMAS TREE product YOU SET US UP 0 GET TO THE CHOPPER quotient HERE IS MY INVITATION dividend HE HAD TO SPLIT divisor ENOUGH TALK GET TO THE CHOPPER product HERE IS MY INVITATION divisor YOU'RE FIRED quotient ENOUGH TALK GET TO THE CHOPPER remainder HERE IS MY INVITATION dividend GET DOWN product ENOUGH TALK I'LL BE BACK remainder HASTA LA VISTA, BABY 


このコードフラグメントでは、関数はモジュロとして宣言され、mainメソッドで使用されます。

HelloWorld.arnoldc

 IT'S SHOWTIME TALK TO THE HAND "hello world" YOU HAVE BEEN TERMINATED 


詳細については、著者のページでこの言語に慣れることができます

Source: https://habr.com/ru/post/J214189/


All Articles