关于Backus-Naur Form巴克斯诺尔范式和扩展巴克斯范式的知识点和相关词语中英文对照
| syntax | 语法 | 强调的是编程语言的组形式,例如一个句子中会包含表达式、陈述还有各种单元等等 |
| semantics | 语义 | 强调的是这个编程语言的实际含义,例如While的语义为:当Boolean表达式为true时,内部的陈述就会被执行;否则就会跳过while段 |
| recognizer | 识别器 | 当已知一个句子的时候,可以识别它是否满足当前规则 |
| generator | 生成器 | 当已知规则的情况下,可以生成任意满足当前规则的句子 |
| lexeme | 词素 | 例如, '+', '-', '*', '/', '=', '1', ';' |
| token | 词素的分类 | 例如,可以把1, 3, 10分为int_literal类 |
| Backus-Naur Form | 巴克斯诺尔范式 | 简称,巴克斯范式 |
| nonterminal symbol | 非终结符 | 在<>中间的字符 |
| terminal symbol | 终结符 | 没有<>包围的字符 |
| left-hand side(LHS) | 左边 | 在巴克斯范式中,一般是起始符,即在->或=左边的部分,right-hand side(RHS)同理 |
| identification | 标识符 | 变量的名字,例如,int a,b,c; 中的a,b,c |
| derivation | 推导 | 用终结符代替所有非终结符的过程 |
| leftmost derivation | 从RHS的最左边开始推导 | |
| parse tree | 语法分析树 | 或者语法解析树 |
| ambiguity | 歧义 |
由于两个或以上非终结符出现在同一个式子当中,从不同位置开始推导会产生不一样的计算顺序。 解决方法:把优先级高的放入抽象概念中。抽象即可理解成一个非终结符,因为它里面的内容还不确定,所以还是很抽象的。 |
| operator associativity | 操作符的结合性 | 如果编程语言是LHS的,那么它就是有left associativity的 |
| [] | 可选表达式,可以使用[]中的表达式或者不使用 | opt |
| (…|…|…) | 在括号里面任选其一 | one of |
| {} | {}中的内容可以使用0到多次 |
关于Backus-Naur Form巴克斯诺尔范式和扩展巴克斯范式的知识点和相关词语中英文对照的更多相关文章
- Extended Backus–Naur Form
From Wikipedia, the free encyclopedia In computer science, Extended Backus–Naur Form (EBNF) is a fam ...
- BNF巴科斯-诺尔范式
概述 BNF是描述编程语言的文法.自然语言存在不同程度的二义性.这种模糊.不确定的方式无法精确定义一门程序设计语言.必须设计一种准确无误地描述程序设计语言的语法结构,这种严谨.简洁.易读的形式规则描述 ...
- 【开发】Form Validate 表单验证 扩展应用
目录: ★.文本输入框(easyui-textbox) ★.数字框(easyui-numberbox) ★.时间(easyui-datebox) ★.文本域(easyui-textbox easyui ...
- 软件理论基础—— 第一章命题逻辑系统L
逻辑 语法 语义 推理系统 公理 推理规则 MP A,A->B =>B HS A->B,B->C => A->C 命题逻辑公式 ::= BNF backus ...
- C#中反射接受的字符串需要满足的Backus-Naur Form语法
MSDN的Specifying Fully Qualified Type Names指明了C#中反射接受的字符串需要满足如下的Backus-Naur Form语法. BNF grammar of fu ...
- How browsers work
这几天翻译一篇旧文 How browsers work ( 以现代浏览器chrome.火狐.safari 为对象来分析),这篇文章网上有其他的翻译版本,自己再翻译一遍主要是练习阅读英文文章,而且自己翻 ...
- Yacc 与 Lex 快速入门
Yacc 与 Lex 快速入门 Lex 与 Yacc 介绍 Lex 和 Yacc 是 UNIX 两个非常重要的.功能强大的工具.事实上,如果你熟练掌握 Lex 和 Yacc 的话,它们的强大功能使创建 ...
- 正则语言引擎:一个简单LEX和YACC结合运用的实例
本文先描述了LEX与YACC的书写方法.然后利用LEX与YACC编写了一个简单正则语言的引擎(暂时不支持闭包与或运算),生成的中间语言为C语言. 正则引擎应直接生成NFA或DFA模拟器的输入文件,但在 ...
- Yacc 与 Lex 快速入门(词法分析和语法分析)
我们知道,高级语言,一般的如c,Java等是不能直接运行的,它们需要经过编译成机器认识的语言.即编译器的工作. 编译器工作流程:词法分析.语法分析.语义分析.IR(中间代码,intermediate ...
随机推荐
- 简单使用媒体查询@media
@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的. 那媒体查询该如何使用呢? 一.铺垫 1.首先我们在使用 @media 的时候需要 ...
- Re模块练习题
import re s = "1 -2*(60+(-40.35/5)-(-4*3))" # 获取所有数字 ret = re.findall(r"\d+", s) ...
- mac下使用xampp中php显示1044/1045/1046(卸载xampp)
问题描述 在mac下使用xampp,访问http://192.168.64.3/phpmyadmin/可以正常显示php页面,当创建数据库时提示1044也就是普通用户没有权限 问题猜测 猜测在使用xa ...
- STC8A8K64S4A12通过SPI接口操作基于ST7920的LCD12864液晶模块
文章地址:https://www.cnblogs.com/jqdy/p/12665430.html 1. 硬件连接 1.1 64引脚的STC8A8K64S4A12 使用的是最小核心板,所以引脚皆引出可 ...
- GitHub上Asp.Net Core的源代码
记录,备查. https://github.com/aspnet/AspNetCore/tree/master/src
- 【华为云技术分享】智能诊断和优化,华为云DAS服务云DBA平台让您无忧运维
摘要:随着时代的发展,传统的“人工”运维方式,已经逐渐跟不上企业业务发展的需要.如何更好的保证数据库系统的稳定性.安全性.完整性和高性能,实现运维工具化.产品化.自助化.自动化,是当前数据管理和运维面 ...
- Autohotkey心得
玩游戏,烧钱和作弊是永恒的话题,热键一定程度上和作弊相关.办公用数据库.编程.商业智能,一定程度上也是作弊,欺负没有相关信息技术的公司.个人. 避免和输入法产生冲突,少用Send,多用剪切板中转. E ...
- Intel x86
PCIe一般规则: purely平台 Intel UPI, Processor DMI3 (Rx lanes only), and Processor PCIe3 (Rx lanes only)Not ...
- js代码中引入其他js文件
/***引入 js 文件 @example: import('js/aui.picker.js') @example: import(['js/aui.picker.js', 'css/aui.pic ...
- mybatis部分sql技巧
1.mybatis中没有<=号,必须用<![CDATA[<=]]>表示.<update id="reduceNumber"> UPDATE se ...