终结符与非终结符

✍ dations ◷ 2025-12-06 23:14:54 #终结符与非终结符

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

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

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

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

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

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

相关

  • 体节体节(somite or metamere)为动物胚胎中身体分节发育的单位。在原始甲壳类中,体节被认为是身体构造的一部分。再现生甲壳类身上,某些体节可能已经融合。
  • 人造地球卫星人造卫星,在不产生歧义的情况下亦称卫星,是由人类建造的航天器的一种,是数量最多的一种。人造卫星以太空飞行载具如运载火箭、航天飞机等发射到太空中,像天然卫星一样环绕地球或
  • 立春数据来源:喷气推进实验室线上历书系统立春,是二十四节气中的第一个节气,即太阳到达黄经315°之时,在西历每年2月3日至5日之间,表示着春天之开始。从此日一直到立夏这段期间,都称为
  • 阿波罗11号阿波罗11号(英语:Apollo 11)是美国国家航空航天局的阿波罗计划中的第五次载人任务,是人类第一次登月任务,历时8天13小时18分35秒,绕行月球30周,在月表停留21小时36分20秒。三位执行
  • 田边诚田边诚(日语:田邊誠/たなべ まこと  ?,1922年2月25日-2015年7月2日),生于日本群马县前桥市,日本社会党籍政治家,曾担任日本社会党委员长(党首)。田边诚1922年2月25日生于群马县前桥市
  • 哪啊哪啊~神去村 WOOD JOB!《WOOD JOB!哪啊哪啊神去村》(日语:WOOD JOB! 〜神去なあなあ日常〜,小说原名为“神去なあなあ日常”),是一部由日本直木奖小说改编的电影。描述一个大学考试落榜,整天无所事事的18
  • 突泉河突泉河,又称小额木特河,位于中华人民共和国内蒙古自治区东北部,是额木特河左岸支流,发源于突泉县六户镇太和村(原太和乡)以北的山区,大致与右侧的额木尔河平行,皆自西北向东南流,经县
  • 六花的勇者《六花的勇者》(日语:.mw-parser-output ruby>rt,.mw-parser-output ruby>rtc{font-feature-settings:"ruby"1}.mw-parser-output ruby.large{font-size:250%}.mw-parser-output ruby.larger{font-size:300%}.mw-parser-output ruby.large>rt,.mw-parser-output ruby.large>rtc{font-si
  • 甲米甲米(泰语:กระบี่)位于泰国南部甲米河注入安达曼海处,是甲米府的首府。截至2005年,全镇人口约24,986人,是甲米府人口稠密的地方之一。因为拥有大片海滩,旅游业成为这里最重要的行业。每年5月至11月为雨季。坐标:8°3′33″N 98°55′8″E / 8.05917°N 98.91889°E / 8.05917; 98.91889
  • 前427年