我试图找到一个很好的EBNF描述ECMAScript,但到目前为止我还没有发现任何完整的.
有任何想法吗?
我知道有一些模糊的类似问题已经与Python中的BNF(Backus-Naur Form)语法有关,但它们对我的应用程序没有任何帮助.
我有多个BNF需要编写代码.代码应该能够使用BNF语法生成和识别合法字符串.
我正在使用的第一个BNF是Python中的所有实数.它如下:
<real number> ::= <sign><natural number> |
<sign><natural number>'.'<digit sequence> |
<sign>'.'<digit><digit sequence> |
<sign><real number>'e'<natural number>
<sign> ::= ‘’ | ‘+’ | ‘-‘
<natural number> ::= ‘0’ | <nonzero digit><digit sequence>
<nonzero digit> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<digit sequence> ::= ‘’ | <digit><digit sequence>
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | …Run Code Online (Sandbox Code Playgroud) 我花了我认为不合理的时间试图找到主题标签的实际格式.
据我所知,Twitter尚未发布.
我知道很多人都提出了正则表达式来解析它们,然而,你的lib的正则表达式不是我的lib的正则表达式,也许我不喜欢你的.
所以我问 - 有没有实际的官方规格?我不想要正则表达式的答案,我想要一个BNF或类似的东西.或者最低限度 - 完整的分隔符列表.
其他难点 - 从随机unicode消息(非英语)文本中获取它们也很重要.
注意:我非常了解实体,它们不适用于我的情况(存储在数据库中的Twitter消息数月).
我正在研究一门新语言,在编写语法时,我希望能够测试语法的完整性,冲突和类似情况.我并不是真的关心底层解析器生成器(但是.NET的一个是优选的)
所以功能列表简称为:
一个名为Irony的CodePlex项目确实有类似于我要求的东西,但不支持将语法编写为必需的BNF.
也就是说,是否有一个工具可以自动显示给定语法的完整语言,包括突出显示歧义(如果有的话)?
我知道完整的BNF语法可以在http://www.rfc-editor.org/rfc/bcp/bcp47.txt上找到,我可以用它来编写我自己的语法,但希望有一个已经存在.
我正在寻找Typescript语法.不是解析器 - 词法分析器,而只是正式的语法描述.我想实现ts它的代码折叠和基本静态代码分析作为一个简单的Linux IDE for GNOME的插件.