Ascii标点符号到基本拉丁小写字母的映射



像Haskell这样的语言允许你创建自己的操作符。下面的答案解释了操作符中允许使用哪些标点符号:https://stackoverflow.com/a/10548541/783743

另一方面,像JavaScript这样的语言不允许在变量名中使用标点符号($旁边)。<一口>[1]

我正在编写一个编译器,它将Haskell的一个子集编译为JavaScript,我不知道如何将操作符转换为有效的JavaScript标识符。

因此,我决定将每个标点字符映射到一个基本的拉丁小写字母(即a-z)。例如:

& = a
| = l
@ = q

然而,与其自己决定字符映射,我首先想知道是否有人已经做了同样的事情,或者是否有一个标准来决定如何映射它们。

我意识到这个问题可能主要是基于意见的(出于某种原因,这在StackOverflow上是严格禁止的)。因此,我只寻找权威的答案,明确表示"这是这样做的"(也许有一个链接)。如果你想发表意见,你可以在评论中发表。

目前有19个字符,我希望映射到字母:

! # $ % & * + . / < = > ? @  ^ | - ~

虽然$是JavaScript中标识符的有效字符,但将其映射到字母表也会很好。


[1]属性名可以有特殊字符,但这是一个丑陋的hack

Ghc使用他们所谓的z编码。例如,>>=编码为zgzgze。见https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/SymbolNames

最新更新