奇特的词法语法

2024-11-02

作者为了给llamafile构建新的语法高亮器,学习了42种编程语言,并分享了其中一些最奇特、最令人惊讶的语法。文章详细介绍了C语言中的三元符、通用字符、多行注释;Haskell的多行注释嵌套;Tcl的带引号标识符;JavaScript的正则表达式和不可见Unicode字符;Shell的heredoc语法;Kotlin、Swift、Scala和C#的字符串插值;FORTH的基于空格的标记化;FORTRAN和COBOL的固定列规则;Zig的双反斜杠多行字符串;Lua的方括号多行字符串;汇编的各种方言和注释语法;Ada的单引号用法;BASIC的字符串、变量和关键字;Perl的正则表达式、特殊前缀和man页面语法;以及Ruby的难以理解的语法。作者还比较了这些语言的语法高亮实现的复杂性,并感谢了Mozilla、GitHub赞助商和Patreon订阅者的支持。

阅读更多
未分类 词法分析

最快的互斥锁

2024-10-02

本文介绍了Cosmopolitan Libc中的互斥锁实现,并通过与Windows、Linux和MacOS上的其他实现进行比较,证明了其在高并发场景下的优越性能。Cosmopolitan Libc的互斥锁比其他实现速度更快,CPU资源消耗更少,这得益于其使用了nsync库。nsync库使用乐观CAS、独立缓存行的等待队列、操作系统提供的futex机制以及指定唤醒器等技术,实现了高效的互斥锁。

阅读更多
未分类 互斥锁 nsync

字节序惨案

2024-06-30

这篇文章探讨了C/C++编程语言中处理字节序的挑战。作者指出了常见的错误做法,例如依赖未定义的行为和符号扩展问题。文章强调了使用掩码和移位操作的重要性,以确保跨不同架构的正确字节序处理。作者还提供了一套用于读写不同大小整数的宏,并解释了为什么这些宏优于其他解决方案。

阅读更多
未分类 字节序