终结符与非终结符

✍ dations ◷ 2025-09-09 03:03:38 #终结符与非终结符

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

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

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

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

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

一种语法的定义由推导规则构成。每个规则规定什么词位可以重写为什么别的词位。这些规则可以用来剖析字符串,也可以用来产生字符串。每个规则有左边和右边。左边有可以被取代的字符串,而右边有可以取代左边的字符串。规则的写法一般为左边 {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> 都是非终结符。

相关

  • 急性淋巴细胞白血病急性淋巴性白血病(英语:Acute lymphoblastic leukemia,ALL),是因为体内淋巴细胞不正常增生造成的血液疾病。淋巴是人体免疫系统的重要环节,由骨髓与淋巴结所制造。而急性淋巴性白
  • 1096年重要事件及趋势重要人物
  • 奥地利广播集团奥地利广播集团(德语:Österreichischer Rundfunk,缩写为ORF)为奥地利国家公共广播集团,资金来源为电视授权与有限的广告。奥地利为次于阿尔巴尼亚,最后一个授权“私人国家广播公
  • 维吉尼亚铁路快线弗吉尼亚铁路特快(英语:Virginia Railway Express)是美国的一个通勤铁路系统,连接弗吉尼亚州北部与华盛顿哥伦比亚特区的联合车站。其有两条路线:其一为弗雷德里克斯堡线(英语:Fred
  • 清软颚塞音清软颚塞音是辅音的一种,在一些口语中存在。国际音标中表示该音的符号是⟨k⟩,X-SAMPA符号也是⟨k⟩。清软颚塞音/k/十分普遍,几乎所有语言都有原位/k/音,有的甚至有多于一种/k/
  • 卡尔十世·古斯塔夫卡尔十世·古斯塔夫(Karl X Gustav,1622年11月8日-1660年2月13日)是1654年至1660年间的瑞典国王。他是卡尔九世的外孙。他的妻子是荷尔斯泰因-戈托普的海德维希·伊丽欧诺拉,二人
  • 马来西亚青年运动马来西亚青年运动(英语:Young Malaysians Movement;马来语:Pergerakan Pemuda Malaysia,简称:“青运”和“YMM”),前身为“马来西亚青年职工运动”,成立于1960年。青运是马来西亚最大
  • 路易斯·玛格丽特公主 (康诺特公爵夫人)普鲁士的路易斯·玛格丽特公主(Princess Louise Margaret,1860年7月25日-1917年3月14日),是弗里德里希·卡尔亲王的幼女——第4个女儿(她的姐姐夭折,形同是第3个女儿)。她在1879年与
  • 邓家栋邓家栋(1906年2月9日-2004年5月22日),男,广东蕉岭人,中国血液学家,曾任中国协和医科大学副校长,中国医学科学院副院长,第三届全国人大代表,第六届全国政协委员。
  • 房山站房山站是房山铁路上的一个火车站。该站位于北京市房山区燕房路,距离石楼站8公里。中国石油化工股份有限公司北京燕山分公司专用铁路从该站引出。