当前位置: 首页 > 面试题库 >

BNF语法库?

东门涵育
2023-03-14
问题内容

在哪里可以找到流行语言的Backus–Naur形式或BNF语法?每当我进行搜索时,我都不会发现太多,但是我认为它们必须在某个地方发布。我最感兴趣的是为Objective-
C甚至MySQL看到一个。


问题答案:

您必须搜索用于创建语法的工具:“ lex / yacc语法”,“ antlr语法”,“铁路图”

http://www.antlr3.org/grammar/list.html

这是一些语法文件

目标

  • http://www.omnigroup.com/mailman/archive/macosx-dev/2001-March/022979.html

  • http://www.cilinder.be/docs/next/NeXTStep/3.3/nd/Concepts/ObjectiveC/B_Grammar/Grammar.htmld/index.html

  • https://github.com/pornel/objc2grammar

蟒蛇

  • http://www.python.org/dev/summary/2006-04-16_2006-04-30/#the-grammar-file-and-syntaxerrors

javascript

  • http://tomcopeland.blogs.com/EcmaScript.html

  • http://www.ccs.neu.edu/home/dherman/javascript/

红宝石

  • http://www.ruby-doc.org/docs/ruby-doc-bundle/Manual/man-1.4/yacc.html


 类似资料:
  • 问题内容: 在利用ANTLR 3.3的过程中,我正在更改当前语法以支持不带括号的输入。这是我的语法的第一个版本: 然后我以这种方式更改了它以支持适当的功能: 但是我一直面临以下错误: 有人知道我该如何克服这个错误? 问题答案: 您的令牌: 无效:您无法在lexer规则中匹配空字符串。 要匹配epsilon(什么都没有),您应该执行以下操作: 当然,可以安全删除评论。 请注意,当您按照当前语法那样进

  • 语法 使用 :: 引用常量(包括类与模块)与构造器(比如 Array()、Nokogiri::HTML())。不要使用 :: 调用常规方法。 # 差 SomeClass::some_method some_object::some_method # 好 SomeClass.some_method some_object.some_method SomeModule::SomeClass::SOME

  • 行结束标志 CRLF 和 CR 会在编译之前被转换为 LF 标签 标签就是一个简单的单词: html 它会被转换为 <html></html> 标签也是可以有id的: div#container 它会被转换为 <div id="container"></div> 怎么加类呢? div.user-details 转换为 <div class="user-details"></div> 多个类? 和i

  • ​格式控制符​ ​空白符​ ​行终止符​ ​注释​ 行注释 块注释 ​Hashbang 注释​ ​关键字​ 表达式与操作符 ​字面量​ Null 字面量 null 是原始类型之一,表示一个没有值的对象。它是一个字面量,而不是一个标识符,也不像 undefined 一样是全局对象的属性。 数组字面量 数组字面量是一个用 [] 括起来的包含零个或多个用逗号分割的表达式的列表,每个表达式都代表了数组的元

  • JavaScript可以使用放在《script》... 《/script》 JavaScript语句来实现。 您可以在网页的任何位置放置包含JavaScript的《script》标记,但通常建议您将其保留在《head》标记内。 标记警告浏览器程序开始将这些标记之间的所有文本解释为脚本。 JavaScript的简单语法如下所示。 <script ...> JavaScript code </s

  • 语法 /* 选择器 */ .m-userlist { /* 属性声明 */ margin: 0 0 30px; /* 属性名:属性值; */ } .m-userlist .list { position: relative; height: 100px; overflow: hidden; } 浏览器私有属性 Google Chrome, Safari (-webkit)