yacc

✍ dations ◷ 2025-10-17 00:17:40 #程序设计工具,编译器软件

yacc(Yet Another Compiler Compiler),是Unix/Linux上一个用来生成编译器的编译器(编译器代码生成器)。yacc生成的编译器主要是用C语言写成的语法解析器(Parser),需要与词法解析器Lex一起使用,再把两部分产生出来的C程序一并编译。yacc本来只在(类)Unix系统上才有,但现时已普遍移植往Windows及其他平台。

yacc的输入是巴科斯范式(BNF)表达的语法规则以及语法规约的处理代码,输出的是基于表驱动的编译器,包含输入的语法规约的处理代码部分。

yacc是开发编译器的一个有用的工具,采用LALR(1)语法分析方法。

yacc最初由AT&T的Steven C. Johnson为Unix操作系统开发,后来一些兼容的程序如Berkeley Yacc,GNU bison,MKS yacc和Abraxas yacc陆续出现。它们都在原先基础上做了少许改进或者增加,但是基本概念是相同的。

由于所产生的解析器需要词法分析器配合,因此Yacc经常和词法分析器的产生器——一般就是Lex——联合使用。IEEE POSIX P1003.2标准定义了Lex和Yacc的功能和需求。

相关

  • 江格尔《江格尔》是蒙古族卫拉特部的史诗,主要叙述以江格尔为首的12名英雄,同芒耐汗,布和查干进行斗争,收复许多部落,建立起一个强大的国家的故事。2006年5月20日,江格尔被列入第一批中
  • 阿尔斯特苏格兰语阿尔斯特苏格兰语(英语:Ulster Scots或Ulster-Scots,阿尔斯特苏格兰语:Ulstèr-Scotch)指的是在爱尔兰阿尔斯特省境内所说的一种低地苏格兰语方言。 一些区分方法把带着阿尔斯特
  • 烹是中国菜的一种烹调方式。烹即煮烹的原料先用急火热油炸过,加调味汁翻炒,使得滋味渗入原料或粘附在表面而成。其中炸前原料挂淀粉糊的为干烹,否则为清烹。例子:干烹里脊,清烹
  • 美国犬业俱乐部美国犬业俱乐部(American Kennel Club,常见简称为AKC)世界范围内最为活跃犬类组织,总部设在美国纽约,成立于1884年9月17日,主要进行犬类鉴定,开发新犬种,出版杂志等活动。
  • 动产动产为移动后仍不改变性质、损害经济效用及经济价值的物,于大多数国家与地区并未以法律条文清楚列举,多认为不动产及定着物以外之物即属动产,如英国、日本、台湾及中国等,而法国
  • 2019冠状病毒病日本疫情时间轴2019冠状病毒病日本疫情时间轴(日语:日本における2019年コロナウイルス感染症の流行のタイムライン/にっぽんにおける2019ねんコロナウイルスかんせんしょうのりゅうこうのタイ
  • 哈利斯泰乡坐标:58°9′52″N 25°26′25″E / 58.16444°N 25.44028°E / 58.16444; 25.44028哈利斯泰乡(爱沙尼亚语:Halliste vald),是爱沙尼亚的一个乡,位于该国南部,由维尔扬迪县负责管辖
  • 大地坐标系大地坐标系是由大地经度和大地纬度构成的坐标系。由右图所示,P点的子午面NPS与起始子午面NGS所构成的二面角L,叫做P点的大地经度,由起始子午面起算,向东为正,叫东经(0度~180度),向西
  • 狩野直祯狩野直祯(1929年11月8日-2017年2月7日),东京府人,日本历史学家。毕业于京都大学文学部史学科。昭和36年(1961年),担任圣心女子大学(日语:聖心女子大学)助教授、昭和46年(1971年),担任京都
  • 陈伦 (成化乙未进士)陈伦(1435年-?),字攸叙,陕西凤翔府岐山县人,民籍,明朝政治人物。进士出身。早年出身国子生,后进陕西乡试第六名。成化十一年(1475年),参加乙未科会试,得贡士第一百八十八名。殿试登进士第