fbpx
维基百科

終結符與非終結符

終結符非終結符電腦科學語言學的领域是用來指定推導規則的元素。在某個形式語法之中,終結符和非終結符是兩個不交的集合。

終結符 编辑

終結符是一個形式語言的基本符號。就是說,它們能在一個形式語法的推導規則的輸入或輸出字符串存在,而且它們不能被分解成更小的單位。確切地說,一個語法的規則不能改變終結符。例如說,下面的語法有兩個規則:

  1. x -> xa
  2. x -> ax

在這種語法之中,a是一個終結符,因為沒有規則可以把a變成別的符號。不過,有兩個規則可以把x變成別的符號,所以x是非終結符。一個形式語法所推導的形式語言必須完全由終結符構成。

非終結符 编辑

非終結符是可以被取代的符號。一個形式文法中必須有一個起始符號;這個起始符號屬於非終結符的集合。

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

推導規則 编辑

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

参见 编辑

引用 编辑

参考文献 编辑

終結符與非終結符, 此條目翻譯品質不佳, 翻譯者可能不熟悉中文或原文語言, 也可能使用了機器翻譯, 請協助翻譯本條目或重新編寫, 并注意避免翻译腔的问题, 明顯拙劣的翻譯請改掛, href, template, html, class, redirect, title, template, href, wikipedia, html, class, redirect, title, wikipedia, 提交刪除, 終結符和非終結符在電腦科學和語言學的领域是用來指定推導規則的元素, 在某個形式語法之中, 終結符和非. 此條目翻譯品質不佳 翻譯者可能不熟悉中文或原文語言 也可能使用了機器翻譯 請協助翻譯本條目或重新編寫 并注意避免翻译腔的问题 明顯拙劣的翻譯請改掛 a href Template D html class mw redirect title Template D d a a href Wikipedia CSD html G13 class mw redirect title Wikipedia CSD G13 a 提交刪除 終結符和非終結符在電腦科學和語言學的领域是用來指定推導規則的元素 在某個形式語法之中 終結符和非終結符是兩個不交的集合 目录 1 終結符 2 非終結符 3 推導規則 4 例子 5 参见 6 引用 7 参考文献終結符 编辑終結符是一個形式語言的基本符號 就是說 它們能在一個形式語法的推導規則的輸入或輸出字符串存在 而且它們不能被分解成更小的單位 確切地說 一個語法的規則不能改變終結符 例如說 下面的語法有兩個規則 x gt xa x gt ax在這種語法之中 a是一個終結符 因為沒有規則可以把a變成別的符號 不過 有兩個規則可以把x變成別的符號 所以x是非終結符 一個形式語法所推導的形式語言必須完全由終結符構成 非終結符 编辑非終結符是可以被取代的符號 一個形式文法中必須有一個起始符號 這個起始符號屬於非終結符的集合 在上下文無關文法中 每个推导规则的左边只能有一个非终结符而不能有两个以上的非终结符或终结符 并非所有的語言都可以被上下文無關文法產生 推導規則 编辑一种语法的定义由推导规则构成 每个规则规定什么词位可以重写为什么别的词位 这些规则可以用来剖析字符串 也可以用来产生字符串 每个规则有左边和右边 左边有可以被取代的字符串 而右边有可以取代左邊的字符串 规则的写法一般为左边 displaystyle rightarrow nbsp 右边 比如 z0 z1 这个规则规定 z0 可以重写为 z1 左边为一个非终结符 但是右边不一定是个终结符 例子 编辑下面的形式文法代表一个整数 整数可能是有符号 就是说 可能是负数 下面使用巴科斯范式的变种来表示 lt integer gt lt digit gt lt digit gt lt digit gt 0 1 2 3 4 5 6 7 8 9 在这个例子之中 符号 0 1 2 3 4 5 6 7 8 9 都是终结符 而 lt digit gt 和 lt integer gt 都是非终结符 参见 编辑形式文法 形式语言 推导规则 语法分析器引用 编辑参考文献 编辑Aho Lam Sethi amp Ullman Compilers Principles Techniques and Tools second edition Pearson Addison Wesley 2006 Section 2 2 beginning on p 42 Note that this section only discusses context free grammars http osr507doc sco com en tools Yacc specs symbols html 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 終結符與非終結符 amp oldid 70056954, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。