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
      
      







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



All Articles