巴科斯范式BNF

巴科斯范式BNF一 巴科斯范式 BNF 巴科斯范式的英文缩写为 BNF 它是以美国人巴科斯 Backus 和丹麦人诺尔 Naur 的名字命名的一种形式化的语法表示方法 用来描述语法的一种形式体系 是一种典型的元语言 又称巴科斯 诺尔形式 Backus Naurform 它不仅能严格地表示语法规则 而且所描述的语法是与上下文无关的 它具有语法简单 表示明确 便于语法分析和编译的特点 BNF 表示语法规则的方式

一. 巴科斯范式BNF

巴科斯范式的英文缩写为BNF,它是以美国人巴科斯(Backus)和丹麦人诺尔(Naur)的名字命名的一种形式化的语法表示方法,用来描述语法的一种形式体系,是一种典型的元语言。又称巴科斯-诺尔形式(Backus-Naur form)。它不仅能严格地表示语法规则,而且所描述的语法是与上下文无关的。它具有语法简单,表示明确,便于语法分析和编译的特点。

BNF表示语法规则的方式为:

  • 非终结符用尖括号括起。
  • 每条规则的左部是一个非终结符,右部是由非终结符和终结符组成的一个符号串,中间一般以::=分开。
  • 具有相同左部的规则可以共用一个左部,各右部之间以直竖“|”隔开。

BNF中常用的元字符及其表示的意义如下:

在双引号中的字 "word" 代表着这些字符本身。而double_quote用来代表双引号; 在双引号外的字(有可能有下划线)代表着语法部分; 尖括号 < > 内包含的为必选项; 方括号 [ ] 内包含的为可选项; 大括号 { } 内包含的为可重复0至无数次的项; 圆括号 ( ) 内包含的所有项为一组,用来控制表达式的优先级; 竖线 | 表示在其左右两边任选一项,相当于"OR"的意思; ::= 是“被定义为”的意思; ... 表示术语符号; 斜体字: 参数,在其它地方有解释;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213299.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午6:10
下一篇 2026年3月18日 下午6:10


相关推荐

  • 卸载oracle——详细版

    卸载oracle——详细版一 停止服务 1 去服务中停到所有的关于 oracle 的服务 2 有一个服务和应用程序 进去之后找到所有的关于 oracle 的服务 停止掉二 启动卸载 1 在开始菜单中找到安装的 oracle 下的 UniversalIns 点击打开 2 弹出框中选择卸载 3 选择需要删除的 oracle 目录 4 进入到如图所示路径 找到运行 deinstall bat 进行删除操作注意 这里好多人看着可能就直接去把这个文件删除了 是不对的 如果你误删了 可以让别人给你发一个放

    2026年3月26日
    2
  • 卡盟网站怎么做_卡盟的货源哪里来

    卡盟网站怎么做_卡盟的货源哪里来服务器系统:cenos7.x64位(购买vps都知道ba?安装7.x以上系统)宝塔安装命令:bt.cn(自行获取)(baota我已经安装好了,接下来给大家演示如何操作搭建卡信乐)ssh输入宝塔命令会自动安装好自己查看一下登陆地址和账号密码就可以登陆面板后安装apache2.4+mysql5.5+php5.6phpadmin4.7(应该都会安装把!)登陆宝塔,打开网站的根目录的home文件夹,上传源码然后解压上传好后解压文件修改vhost文件里的域名创建一个数据库yunos数据库

    2022年8月12日
    9
  • Origin2018安装与使用(整理中)

    Origin2018安装与使用(整理中)文章目录1.origin下载安装2.绘图前的一些必要设置3.折线图4.绘制双Y轴图1.origin下载安装Origin2018(32/64位)下载地址:链接:https://pan.baidu.com/s/1tgLxqeLoBp5DuL-hqlUDsg密码:v46x安装教程:https://jingyan.baidu.com/article/454316abde29f5f7a6c03a69.html2.绘图前的一些必要设置Origin绘图前的一些必要设置及了解1.项目管理器、对象

    2022年6月12日
    72
  • Cursor AI初学者教程:2026年完整指南

    Cursor AI初学者教程:2026年完整指南

    2026年3月16日
    1
  • git clone克隆或下载一个仓库单个文件夹

    git clone克隆或下载一个仓库单个文件夹git学习之gitclone克隆或下载一个仓库单个文件夹有时候因为需要我们只想gitclone下仓库的单个或多个文件夹,而不是全部的仓库内容,这样就很省事,所以下面就开始教程啦在Git1.7.0以前,这无法实现,但是幸运的是在Git1.7.0以后加入了SparseCheckout模式,这使得CheckOut指定文件或者文件夹成为可能。举个例子:现在有…

    2022年7月21日
    85
  • oracle 创建用户并给用户赋予权限

    oracle 创建用户并给用户赋予权限1登录打开cmd  sqlplus/nologSQL&gt;conn/assysdba;SQL&gt;createuserusername(zhangsan)identifiedbypassword(zhangsan);2 授予权限1)、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限grantcreatesession…

    2022年5月12日
    113

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号