终结符与非终结符

✍ dations ◷ 2025-10-16 19:37:07 #终结符与非终结符

终结符和非终结符在计算机科学和语言学的领域是用来指定推导规则的元素。在某个形式语法之中,终结符和非终结符是两个不交的集合。

是一个形式语言的基本符号。就是说,它们能在一个形式语法的推导规则的输入或输出字符串存在,而且它们不能被分解成更小的单位。确切地说,一个语法的规则不能改变终结符。例如说,下面的语法有两个规则:

在这种语法之中,是一个终结符,因为没有规则可以把变成别的符号。不过,有两个规则可以把变成别的符号,所以是非终结符。一个形式语法所推导的形式语言必须完全由终结符构成。

非终结符是可以被取代的符号。一个形式文法中必须有一个起始符号;这个起始符号属于非终结符的集合。

在上下文无关文法中,每个推导规则的左边只能有一个非终结符而不能有两个以上的非终结符或终结符。并非所有的语言都可以被上下文无关文法产生。

一种语法的定义由推导规则构成。每个规则规定什么词位可以重写为什么别的词位。这些规则可以用来剖析字符串,也可以用来产生字符串。每个规则有左边和右边。左边有可以被取代的字符串,而右边有可以取代左边的字符串。规则的写法一般为左边 {displaystyle rightarrow } 右边。比如,z0 → z1 这个规则规定 z0 可以重写为 z1。左边为一个非终结符,但是右边不一定是个终结符。

下面的形式文法代表一个整数。整数可能是有符号,就是说,可能是负数。下面使用巴科斯范式的变种来表示:

<integer> ::=  <digit> {<digit>}<digit> ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'

在这个例子之中,符号 (-,0,1,2,3,4,5,6,7,8,9) 都是终结符,而 <digit> 和 <integer> 都是非终结符。

相关

  • 北湖区北湖区,中国湖南省郴州市辖区之一,为郴州市的主要中心城区,其下管辖4个街道、5个镇、7个乡、2个民族乡。总面积277平方公里,人口约30万人。区内的五岭广场是中南地区最大的城市
  • 尼尔斯·吕贝里·芬森尼尔斯·吕贝里·芬森(丹麦语:Niels Ryberg Finsen,1860年12月15日-1904年9月24日)是一位来自法罗群岛的医师与科学家。他曾在1903年获得诺贝尔生理学或医学奖,是丹麦的第一座诺贝
  • 电子邮件免责声明电子邮件免责声明(英语:Email disclaimer)是添加到传出电子邮件中的免责声明、通知或警告,并形成与主邮件分开的不同部分。 添加此类免责声明的原因包括保密、版权、合同订立、
  • 马克西米连·冯·巴登巴登亲王马克西米连(德语:Prinz Maximilian von Baden,1867年7月10日-1929年11月6日) ,全名马克西米连·亚历山大·弗里德里希·威廉(),巴登大公弗里德里希二世的堂弟和继承人。1928
  • OpenBTSOpenBTS,源自于开放基地台(英语:Open Base Transceiver Station)的缩写,它能将一只标准的GSM手机,变成软件GSM接收台,成为IP电话的SIP节点。它以C++写成,实作了符合GSM系统工业标准
  • 李在濬李在濬(韩语:이재준,1990年10月20日-),韩国男演员,常被译作李在俊。
  • 陈克宅陈克宅,字即卿,浙江余姚人,明朝政治人物。同进士出身。正德九年(1514年)中式甲戌科三甲进士。同年,接替王应鹏任直隶嘉定县知县一职,有政声。正德十三年(1518年),授江西道监察御史。子
  • 绣榻野史《绣榻野史》是明朝的艳情小说,共四卷,吕天成著。《绣榻野史》写秀才东门生与妻金氏、还有男宠杨大里之间的情欲与乱伦之事。由于对性爱过多描写,“至摹写丽情亵语,尤称绝技”,张
  • 罗伯特·杜瓦诺罗伯特·杜瓦诺(Robert Doisneau,1912年4月14日-1994年4月1日),法国平民摄影家,与亨利·卡蒂尔-布雷松并称为一代摄影大师。两人的摄影都以纪实为主,但风格却不尽相同。布列松经常
  • 迭戈拉米雷斯群岛迭戈拉米雷斯群岛是智利的群岛,位于该国南部德雷克海峡,距离合恩角以南约100公里,行政方面由麦哲伦-智利南极大区负责管辖,每年平均降雨量1,368毫米。坐标:56°29′S 68°44′W /