<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Yacc</id>
	<title>Yacc - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Yacc"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Yacc&amp;action=history"/>
	<updated>2026-07-18T00:03:40Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Yacc&amp;diff=25037&amp;oldid=prev</id>
		<title>imported&gt;InternetArchiveBot：​补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.8.7</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Yacc&amp;diff=25037&amp;oldid=prev"/>
		<updated>2022-05-19T05:11:55Z</updated>

		<summary type="html">&lt;p&gt;补救1个来源，并将0个来源标记为失效。) #IABot (v2.0.8.7&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{unreferenced|time=2019-01-28T10:39:02+00:00}}&lt;br /&gt;
{{lowercase}}&lt;br /&gt;
{{NoteTA|G1=IT}}&lt;br /&gt;
{{Infobox Software &lt;br /&gt;
| name                   = Yacc&lt;br /&gt;
| logo                   = &lt;br /&gt;
| screenshot             = &lt;br /&gt;
| screenshot size        = &lt;br /&gt;
| caption                = &lt;br /&gt;
| author                 = [[Stephen C. Johnson]]&lt;br /&gt;
| developer              = &lt;br /&gt;
| released               = &lt;br /&gt;
| latest release version = &lt;br /&gt;
| latest release date    = &lt;br /&gt;
| operating system       = [[Unix]]和[[类Unix系统]]&lt;br /&gt;
| genre                  = [[命令 (计算机)|命令]]&lt;br /&gt;
| license                = &lt;br /&gt;
| website                = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;yacc&amp;#039;&amp;#039;&amp;#039;（&amp;#039;&amp;#039;&amp;#039;Yet Another Compiler Compiler&amp;#039;&amp;#039;&amp;#039;），是[[Unix]]/[[Linux]]上一个用来生成[[编译器]]的编译器（编译器代码生成器）。yacc生成的编译器主要是用C語言寫成的[[语法解析器]]（Parser），需要与[[词法解析器]][[Lex]]一起使用，再把兩部份產生出來的C程序一併編譯。yacc本來只在（类）Unix系統上才有，但現時已普遍移植往Windows及其他平台。&lt;br /&gt;
&lt;br /&gt;
yacc的输入是[[巴科斯范式]]（BNF）表达的语法规则以及语法规约的处理代码，输出的是基于表驱动的编译器，包含输入的语法规约的处理代码部分。&lt;br /&gt;
&lt;br /&gt;
yacc是开发编译器的一个有用的工具，采用[[LALR语法分析器|LALR（1）语法分析]]方法。&lt;br /&gt;
&lt;br /&gt;
yacc最初由[[AT&amp;amp;T]]的[[Steven C. Johnson]]为Unix操作系统开发，后来一些兼容的程序如Berkeley Yacc，[[GNU bison]]，MKS yacc和Abraxas yacc陆续出现。它们都在原先基础上做了少许改进或者增加，但是基本概念是相同的。 &lt;br /&gt;
&lt;br /&gt;
由于所产生的解析器需要[[词法分析器]]配合，因此Yacc经常和词法分析器的产生器——一般就是[[Lex]]——联合使用。[[IEEE]] [[POSIX]] P1003.2标准定义了Lex和Yacc的功能和需求。&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
*[[编译原理]]&lt;br /&gt;
*[[编译器]]&lt;br /&gt;
*[[JavaCC]]：產生[[Java]]的编译器代码生成器&lt;br /&gt;
*[[GNU bison]]&lt;br /&gt;
*[[CodeWorker]]&lt;br /&gt;
*[[ANTLR]]&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
*[http://dickey.his.com/byacc/byacc.html Berkeley Yacc] {{Wayback|url=http://dickey.his.com/byacc/byacc.html |date=20070206203728 }}一般认为是目前最好的yacc变种。与bison相比，避免了对特定编译器的依赖。&lt;br /&gt;
*[https://web.archive.org/web/20050305150105/http://www.informatik.uni-freiburg.de/proglang/software/essence/ Essence]，[[Scheme]]的[[LR(1)]]语法解析器的生成器&lt;br /&gt;
*[http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/ Coco/R]{{Wayback|url=http://www.ssw.uni-linz.ac.at/Research/Projects/Coco/ |date=20090307222538 }} [[Java]]和[[C♯|C#]]的扫描和解析器&lt;br /&gt;
&lt;br /&gt;
{{compu-stub}}&lt;br /&gt;
&lt;br /&gt;
[[Category:程序设计工具]]&lt;br /&gt;
[[Category:编译器软件]]&lt;/div&gt;</summary>
		<author><name>imported&gt;InternetArchiveBot</name></author>
	</entry>
</feed>