如何读懂Oracle文档中的语法图(转)
本文转载自:http://kyle.xlau.org/posts/syntax-diagrams.html
Oracle文档中用到了两种表达语法的方法,语法图和BNF。
BNF, Backus-Naur Form,中文是巴科斯范式:,它是由约翰·巴科斯(John Backus)和彼得·诺尔(Peter Naur)引入的用来描述计算机语言语法的符号集。
首先来看语法图。读语法图,要从左到右,顺着箭头读。
不同形状的含义:
- 长方形中的大写词语,命令。
- 椭圆形中的小写词语,参数。
- 圆形中,标点符号、操作符、分隔符、终止符。
如果图有几条路径,可以随便选择一条,每条都是正确的语法。
- 主路径(Main Path):箭头指向的一条直线。
- 必选关键词:可以是只有一个图形,说明必选这一个;也可以是垂直排列的几个图形,说明必选其一。
- 可选关键词:在主路径之外就是可选的。
- 语法循环(Sytax Loop):对一种语法循环使用。
- 标示符规则:标示符不能超过30字符,必须以字母开头。标示符不区分大小写,除非在双引号内。
每个语法图都有一个指向同义的BNF表达式的链接。
BNF表达式用到的符号含义:
- [],可选项
- {},必选其一
- |,分隔不同选项
- …,可重复语法
- 分隔符,不同之前四个其他分隔符要照其原样输入
- 粗体,粗体的是关键字,必须照其原样输入;非大写字符,是占位符,不需原样输入,得用其他值代替。
本文是SQL Language Reference的附录A How to Read Syntax Diagrams 的读书笔记,是直接从英文翻译过来的,可能只有我自己看的懂。但读完这一节后,读懂语法图对我来说再没有难度了。
如何读懂Oracle文档中的语法图(转)的更多相关文章
- 【转】如何读懂Oracle文档中的语法图
转自:http://blog.itpub.net/22990797/viewspace-750157/ Oracle文档中用到了两种表达语法的方法,语法图和BNF. BNF, Backus-Naur ...
- java使用正则从爬虫爬的txt文档中提取QQ邮箱
我的需求是从一堆文档中提取出qq邮箱,写了这篇帖子,希望能帮助和我有一样需求的人,谢谢!...... import java.io.BufferedReader; import java.io.Fil ...
- Matlab中fread函数的高级使用方法及其帮助文档中容易引起歧义的地方
参考资料:http://cn.mathworks.com/help/matlab/ref/fread.html 注意:参考资料针对的Matlab版本号R2015a,我使用的是R2013b. Matla ...
- [daily][troubleshoot][archlinux][wps][font] wps文档中的图内容无法显示中文
序 用linux作为工作生产环境的几个需要解决的问题之一是:文档协作,即如何兼容Micro$oft Office格式的文档. 我一般的工作方式是:在linux下创建一个win7的虚拟机,安装常用的wi ...
- Paragraph 对象'代表所选内容、范围或文档中的一个段落。Paragraph 对象是 Paragraphs 集合的一个成员。Paragraphs 集合包含所选内容、范围或文档中的所有段落。
Paragraph 对象'代表所选内容.范围或文档中的一个段落.Paragraph 对象是 Paragraphs 集合的一个成员.Paragraphs 集合包含所选内容.范围或文档中的所有段落. 方法 ...
- MVC架构下,使用NPOI读取.DOCX文档中表格的内容
1.使用NPOI,可以在没有安装office的设备上读wiod.office.2.本文只能读取.docx后缀的文档.3.MVC架构中,上传文件只能使用form表单提交,转到控制器后要依次实现文件上传. ...
- 2018-10-04 [日常]用Python读取word文档中的表格并比较
最近想对某些word文档(docx)的表格内容作比较, 于是找了一下相关工具. 参考Automate the Boring Stuff with Python中的word部分, 试用了python-d ...
- 用python从符合一定格式的txt文档中逐行读取数据并按一定规则写入excel(openpyxl支持Excel 2007 .xlsx格式)
前几天接到一个任务,从gerrit上通过ssh命令获取一些commit相关的数据到文本文档中,随后将这些数据存入Excel中.数据格式如下图所示 观察上图可知,存在文本文档中的数据符合一定的格式,通过 ...
- php解析word,获得文档中的图片
背景 前段时间在写一个功能:用原生php将获得word中的内容并导入到网站系统中.因为文档中存在公式,图片,表格等,因此写的比较麻烦. 思路 大体思路是先将word中格式为doc的文档转化为docx, ...
随机推荐
- 用linq实现登陆功能
BLL层的逻辑代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; name ...
- java_spring_List,Map,Properties,Set注入与遍历
package com.dao.bean.www; import java.util.List; import java.util.Map; import java.util.Properties; ...
- Tips: compilation and creating new projects on Android 4.0
If you have downloaded android 4.0, you should read the article. $ANDROID_ROOT/tools/android.bat is ...
- Day03 - Python 函数
1. 函数简介 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print():也可以自己创建函数,这 ...
- 有效范围为request的bean
Car.java类 package tom.jiafei; public class Car { String carnumber; String name; String date; public ...
- 关于automatic_Panoramic_Image_Stitching_using_Invariant_features 的阅读笔记
并没有都读完,不过感觉还是有必要做一个笔记的,毕竟这只是随笔不是文章,所以可以有多少写多少,也算是工作总结了,最重要的是这个好在可以,完成所有有意义文档的检索,比起自己的word来说高级很多~~~. ...
- 简单的ROT13码编码与解码
ROT13码意思是将字母左移13位.如'A' ↔ 'N', 'B' ↔ 'O','V' ↔ 'I'. 下面实现ROT13码的解码. function rot13(str) { var arr = [] ...
- EasyUIDataGrid 的List<T>转Json
EasyUI的DataGrid的Json自己拼接的话非常麻烦,而且容易出错,于是写了个通用的方法! CustomList<T>自定义类,继承于List<T>,用来处理返回的实体 ...
- SQLSERVER连接池内部机制
前言介绍: 当应用程序运行的时候,会有一个连接池的管理控件运行在应用程序的进程里,统一管理应用程序和SQLSERVER建立的所有连接, 并且维护这些连接一直处于活动状态.当有用户发出一个connect ...
- FreeMarker-Built-ins for numbers
http://freemarker.org/docs/ref_builtins_number.html#topic.extendedJavaDecimalFormat Page Contents ab ...