我正在寻找 Typescript 语法。 不是解析器-词法分析器,而只是形式语法描述。 我想实现它的代码折叠和基本静态代码分析作为 GNOME 的一个简单 Linux IDE 的插件。
正式语法位于 TypeScript 语言参考 1.8 版的附录 A(如果可以在 here 找到)(针对当前版本)
由于 typescript 是 Ecmascript 5 (http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf/) 的严格超集,因此您可以使用以下语法定义扩展任何 ecmascript bnf打字稿规范。
起点可以是:http://www.antlr3.org/grammar/1153976512034/ecmascriptA3.g
ANTLR4 语法,但不可否认“不完全符合 TypeScript 标准”(现有编程语言的官方语法太少,这很痛苦):
也许你可以在源代码中找到参考,例如编译器/tokens.js