ArnoldC:关键字出自斯瓦辛格电影的趣味编程语言

ArnoldC 是一种命令式编程语言,其基本的关键字均出自阿诺·斯瓦辛格的电影。该语言编写的程序可用 Parboiled 和 ASM 解析成 Java 字节码。

为宣城等地区用户提供了全套网页设计制作服务,及宣城网站建设行业解决方案。主营业务为做网站、成都网站制作、宣城网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

下面一起来看看如何使用这种(蛋疼)趣味语言。

Main 方法

每个 ArnoldC 程序必须有一个main 方法。如下:

 
 
  1. IT'S SHOWTIME 
  2. [语句] 
  3. YOU HAVE BEEN TERMINATED 

最简单的 ArnoldC 程序如下:

 
 
  1. IT'S SHOWTIME 
  2. YOU HAVE BEEN TERMINATED 

语句

输出

TALK TO THE HAND  语句用于打印输出字符串或变量。打印字符串:

 
 
  1. TALK TO THE HAND "jobbole" 

打印变量:     

 
 
  1. TALK TO THE HAND myvar 

声明变量

ArnoldC 语言中唯一的变量类型是 16 位的有符号整数。必须在声明时赋值。

 
 
  1. HEY CHRISTMAS TREE variablename 
  2. YOU SET US UP initialvalue 

@I LIED 和 @NO PROBLEMO 这两个“宏” 对应的值是  0 和 1

声明两个变量,值分别是 0 和 1

  
 
  1. HEY CHRISTMAS TREE varFalse 
  2. YOU SET US UP @I LIED 
  3. HEY CHRISTMAS TREE varTrue 
  4. YOU SET US UP @NO PROBLEMO 

变量赋值

变量赋值语句用如下格式:

 
 
  1. GET TO THE CHOPPER myvar 
  2. HERE IS MY INVITATION firstOperand 
  3. [operations] 
  4. ENOUGH TALK 

HERE IS MY INVITATION 用来对栈顶的变量做赋值。经过其他操作,最终赋值给变量 myvar。

算术操作

加法

 
 
  1. GET UP operand 

减法

 
 
  1. GET DOWN operand 

乘法

 
 
  1. YOU'RE FIRED operand 

除法

 
 
  1. HE HAD TO SPLIT operand 

所有算术操作优先级同一样。比如: a = (4 + b) * 2

 
 
  1. GET TO THE CHOPPER a 
  2. HERE IS MY INVITATION 4 
  3. GET UP b 
  4. YOU'RE FIRED 2 
  5. ENOUGH TALK 

#p#

逻辑操作

真语句的值为 1,假语句的值为 0。

等于

 
 
  1. YOU ARE NOT YOU YOU ARE ME operand 

大于

 
 
  1. LET OFF SOME STEAM BENNET operand 

 
 
  1. CONSIDER THAT A DIVORCE operand 

 
 
  1.      
  2. KNOCK KNOCK operand 

比如: a = (b + 5) > c

 
 
  1. GET TO THE CHOPPER a 
  2. HERE IS MY INVITATION b 
  3. GET UP 5 
  4. LET OFF SOME STEAM BENNET c 
  5. ENOUGH TALK 

比如 a = (b || c) && d

 
 
  1. GET TO THE CHOPPER a 
  2. HERE IS MY INVITATION b 
  3. CONSIDER THAT A DIVORCE c 
  4. KNOCK KNOCK d 
  5. ENOUGH TALK 

条件语句

如果 value 非0,执行条件分支

If

 
 
  1. if (value) [statements] 
 
 
  1. BECAUSE I'M GOING TO SAY PLEASE value 
  2. [statements] 
  3. YOU HAVE NO RESPECT FOR LOGIC 

If Else

 
 
  1. if (value) [statements] else [statements] 
 
 
  1. BECAUSE I'M GOING TO SAY PLEASE value 
  2. [statements] 
  3. BULLSHIT 
  4. [statements] 
  5. YOU HAVE NO RESPECT FOR LOGIC 

例1

 
 
  1. if(a) print "a is true" 
  2.  else print "a is not true"
 
 
  1. BECAUSE I'M GOING TO SAY PLEASE a 
  2.  TALK TO THE HAND "a is true" 
  3.  BULLSHIT 
  4.  TALK TO THE HAND "a is not true" 
  5.  YOU HAVE NO RESPECT FOR LOGIC 

例2  条件语句的值必须先计算 if(a > b) print “a is greater than b”

 
 
  1. GET TO THE CHOPPER result 
  2. HERE IS MY INVITATION a 
  3. LET OFF SOME STEAM BENNET b 
  4. ENOUGH TALK 
  5. BECAUSE I'M GOING TO SAY PLEASE result 
  6. TALK TO THE HAND "a is greater b" 
  7. YOU HAVE NO RESPECT FOR LOGIC 

While

 
 
  1. STICK AROUND value 
  2.  [statements] 
  3.  CHILL 

例子  打印 1 到 10

 
 
  1. IT'S SHOWTIME 
  2. HEY CHRISTMAS TREE isLessThan10 
  3. YOU SET US UP @NO PROBLEMO 
  4. HEY CHRISTMAS TREE n 
  5. YOU SET US UP 0 
  6. STICK AROUND isLessThan10 
  7. GET TO THE CHOPPER n 
  8. HERE IS MY INVITATION n 
  9. GET UP 1 
  10. ENOUGH TALK 
  11. TALK TO THE HAND n 
  12. GET TO THE CHOPPER isLessThan10 
  13. HERE IS MY INVITATION 10 
  14. LET OFF SOME STEAM BENNET n 
  15. ENOUGH TALK 
  16. CHILL 
  17. YOU HAVE BEEN TERMINATED 

方法

方法必须在主函数外定义。方法参数用 I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE 定义。每个变量必须单独定义。GET YOUR ASS TO MARS 放在方法申明末尾,表明该方法是非空方法。I’LL BE BACK 就是 RETURN,根据方法是否为空,可以带一个变量。

空方法

 
 
  1. LISTEN TO ME VERY CAREFULLY methodName 
  2. [Statements] 
  3. HASTA LA VISTA, BABY 

#p#

一个带两个参数的非空方法

 
 
  1. LISTEN TO ME VERY CAREFULLY methodName 
  2. I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE arg1 
  3. I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE arg2 
  4. GET YOUR ASS TO MARS 
  5. [Statements] 
  6. HASTA LA VISTA, BABY 

典型示例

更多例子可以在测试包中查看

Printing squares from 1 to 10

 
 
  1. IT'S SHOWTIME 
  2. HEY CHRISTMAS TREE limit 
  3. YOU SET US UP 10 
  4. HEY CHRISTMAS TREE index 
  5. YOU SET US UP 1 
  6. HEY CHRISTMAS TREE squared 
  7. YOU SET US UP 1 
  8. HEY CHRISTMAS TREE loop 
  9. YOU SET US UP @NO PROBLEMO 
  10. STICK AROUND loop 
  11. GET TO THE CHOPPER squared 
  12. HERE IS MY INVITATION index 
  13. YOU'RE FIRED index 
  14. ENOUGH TALK 
  15. TALK TO THE HAND squared 
  16. GET TO THE CHOPPER loop 
  17. HERE IS MY INVITATION limit 
  18. LET OFF SOME STEAM BENNET index 
  19. ENOUGH TALK 
  20. GET TO THE CHOPPER index 
  21. HERE IS MY INVITATION index 
  22. GET UP 1 
  23. ENOUGH TALK 
  24. CHILL 
  25. YOU HAVE BEEN TERMINATED 

申明一个 modulo 函数,并在主函数调用它

 
 
  1. IT'S SHOWTIME 
  2. HEY CHRISTMAS TREE result1 
  3. YOU SET US UP 0 
  4. HEY CHRISTMAS TREE result2 
  5. YOU SET US UP 0 
  6. HEY CHRISTMAS TREE result3 
  7. YOU SET US UP 0 
  8. HEY CHRISTMAS TREE result4 
  9. YOU SET US UP 0 
  10. GET YOUR ASS TO MARS result1 
  11. DO IT NOW modulo 9 4 
  12. TALK TO THE HAND result1 
  13. GET YOUR ASS TO MARS result2 
  14. DO IT NOW modulo 4795 87 
  15. TALK TO THE HAND result2 
  16. GET YOUR ASS TO MARS result3 
  17. DO IT NOW modulo 3978 221 
  18. TALK TO THE HAND result3 
  19. GET YOUR ASS TO MARS result4 
  20. DO IT NOW modulo 5559 345 
  21. TALK TO THE HAND result4 
  22. YOU HAVE BEEN TERMINATED 
  23. LISTEN TO ME VERY CAREFULLY modulo 
  24. I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE dividend 
  25. I NEED YOUR CLOTHES YOUR BOOTS AND YOUR MOTORCYCLE divisor 
  26. GIVE THESE PEOPLE AIR 
  27. HEY CHRISTMAS TREE quotient 
  28. YOU SET US UP 0 
  29. HEY CHRISTMAS TREE remainder 
  30. YOU SET US UP 0 
  31. HEY CHRISTMAS TREE product 
  32. YOU SET US UP 0 
  33. GET TO THE CHOPPER quotient 
  34. HERE IS MY INVITATION dividend 
  35. HE HAD TO SPLIT divisor 
  36. ENOUGH TALK 
  37. GET TO THE CHOPPER product 
  38. HERE IS MY INVITATION divisor 
  39. YOU'RE FIRED quotient 
  40. ENOUGH TALK 
  41. GET TO THE CHOPPER remainder 
  42. HERE IS MY INVITATION dividend 
  43. GET DOWN product 
  44. ENOUGH TALK 
  45. I'LL BE BACK remainder 
  46. HASTA LA VISTA, BABY 

网页标题:ArnoldC:关键字出自斯瓦辛格电影的趣味编程语言
文章网址:http://www.shufengxianlan.com/qtweb/news26/510576.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联