尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

震惊!Tabloid居然是一门真编程语言:标题党语法入门完全指南

震惊!Tabloid居然是一门真编程语言:标题党语法入门完全指南 震惊Tabloid居然是一门真编程语言标题党语法入门完全指南【免费下载链接】tabloidA minimal programming language inspired by clickbait headlines项目地址: https://gitcode.com/gh_mirrors/ta/tabloidTabloid 是一门灵感来自标题党新闻头条的编程语言语法全是耸动标题但它真的是一门图灵完备的语言能写递归、能算斐波那契数列还自带 JavaScript 实现的解释器。这篇文章带你 5 分钟上手 Tabloid 标题党语法从第一个震惊程序到完整关键词速查一篇就够。上图是 Tabloid 官网在线解释器左侧是震惊体代码右侧是运行结果——每个输出都自动大写并加了感叹号为什么你会震惊Tabloid 是什么Tabloid 由开发者 thesephist 在约 6 小时里赶工出来初衷是拖延数据库课程的作业。别看它像恶搞它具备完整的编程语言要素表达式语法没有表达式与语句之分函数末尾的表达式会自动作为返回值三种基础类型数字、字符串、布尔值图灵完备虽然没有内置循环但可以用递归实现浏览器内解释器整个解释器只写了 700 多行 JavaScript就在 static/js/lang.js 里3 分钟上手你的第一个标题党程序别怕Tabloid 的关键词其实就是大白话。先来一个 Hello WorldYOU WONT WANT TO MISS Hello, World!运行结果HELLO, WORLD!——注意Tabloid 打印的内容会自动全部大写并追加感叹号这才是新闻该有的排面。赋值EXPERTS CLAIM在 Tabloid 里任何人都可以是专家EXPERTS CLAIM age TO BE 25布尔值与比较TOTALLY RIGHT # 就是 true COMPLETELY WRONG # 就是 false x IS ACTUALLY 3.14 # 等于判断 x BEATS 10 # 大于条件分支WHAT IF / LIES!WHAT IF n SMALLER THAN 1 SHOCKING DEVELOPMENT b LIES! RUMOR HAS IT YOU WONT WANT TO MISS b END OF STORYRUMOR HAS IT ... END OF STORY用于开启一个多行代码块的作用域。标题党语法关键词速查表关键词真实含义DISCOVER HOW TO fn WITH args声明函数fn OF a, b调用函数RUMOR HAS IT/END OF STORY代码块开始 / 结束WHAT IF/LIES!if-else 分支EXPERTS CLAIM x TO BE v变量赋值YOU WONT WANT TO MISS x打印输出LATEST NEWS ON 提示读取用户输入SHOCKING DEVELOPMENTreturn 返回值TOTALLY RIGHT/COMPLETELY WRONGtrue / falsePLUSMINUSTIMESDIVIDED BYMODULO加减乘除取模IS ACTUALLY/BEATS/SMALLER THAN / / PLEASE LIKE AND SUBSCRIBE程序必须以此结尾最后一个不是玩笑解释器会强制检查程序末尾不写PLEASE LIKE AND SUBSCRIBE会直接报错——毕竟要涨粉实战用标题党写斐波那契数列感受一下震惊体写递归的震撼这就是文章开头截图里的示例程序DISCOVER HOW TO fibonacci WITH a, b, n RUMOR HAS IT WHAT IF n SMALLER THAN 1 SHOCKING DEVELOPMENT b LIES! RUMOR HAS IT YOU WONT WANT TO MISS b SHOCKING DEVELOPMENT fibonacci OF b, a PLUS b, n MINUS 1 END OF STORY END OF STORY EXPERTS CLAIM nothing TO BE fibonacci OF 1, 1, 4 PLEASE LIKE AND SUBSCRIBE运行后控制台输出FIRST 4 FIBONACCI NUMBERS! 1! 2! 3! 5!如何运行 Tabloid在线试玩项目根目录的 static/index.html 就是完整的网页解释器浏览器打开即玩页面文案和示例代码由 static/js/main.js 渲染样式来自 static/css/main.css本地运行把仓库 clone 下来后直接用浏览器打开static/index.html即可无需任何构建步骤源码研读解释器核心在 static/js/lang.js由于语法非常规它采用了双重分词器先把代码切成单词流再识别DISCOVER HOW TO这类多词关键词最后用树行走解释器执行。703 行读懂一门语言的全部内幕非常适合作为如何手写一门语言的入门读物已知局限笑点背后的工程取舍作者自己也承认只有 8 小时开发时间因此存在几个小坑没有运算符优先级3 PLUS 2 TIMES 10会按书写顺序计算必须手动加括号3 PLUS (2 TIMES 10)没有循环语句想循环用递归吧新闻节奏太快没人有空管昨天的循环没有注释作者写到第 7 小时才想起来……然后就懒得加了报错不指明位置出错时会告诉你哪里不对但不会告诉你错在哪一行写在最后Tabloid 证明了语言设计的自由度远超你的想象。它语法全是梗内核却是一门严谨的图灵完备语言且解释器源码短小精悍。无论你是想放松一下还是想借它学习词法分析、语法树与树行走解释器的实现都值得一试。想进一步了解设计细节可以阅读项目说明 README.md许可协议见 LICENSE。现在去写你的第一个震惊程序吧【免费下载链接】tabloidA minimal programming language inspired by clickbait headlines项目地址: https://gitcode.com/gh_mirrors/ta/tabloid创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表