|
yacc is a computer program that serves as the standard parser generator on Unix systems. The name is an acronym for "Yet Another Compiler Compiler." It generates a parser (the part of a compiler that tries to make sense of the input) based on an analytic grammar written in a notation similar to BNF. Yacc generates the code for the parser in the C programming language. A computer program is a collection of instructions that describe a task, or set of tasks, to be carried out by a computer. ...
A compiler-compiler or parser generator is a utility for generating the source code of a parser, interpreter or compiler from an annotated language description in the form of a grammar (usually in BNF) plus code that is associated with each of the rules of the grammar that should be...
Filiation of Unix and Unix-like systems Unix (officially trademarked as UNIX®) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy. ...
In hacker jargon, the use of Yet Another as a way of padding out an acronym is fairly common. ...
A compiler-compiler or compiler generator is a program that generates the source code of a parser, interpreter, or compiler from a programming language description. ...
This article or section is in need of attention from an expert on the subject. ...
This article is about the computing term. ...
Semantics (Greek semantikos, giving signs, significant, symptomatic, from sema, sign) refers to the aspects of meaning that are expressed in a language, code, or other form of representation. ...
The term input has a variety of uses in different fields. ...
In computer science and linguistics, a formal grammar, or sometimes simply grammar, is a precise description of a formal language â that is, of a set of strings. ...
The Backus-Naur form (BNF) (also known as Backus normal form) is a metasyntax used to express context-free grammars: that is, a formal way to describe formal languages. ...
In communications, a code is a rule for converting a piece of information (for example, a letter, word, or phrase) into another form or representation, not necessarily of the same type. ...
A parser is a computer program or a component of a program that analyses the grammatical structure of an input, with respect to a given formal grammar, a process known as parsing. ...
C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ...
Yacc was developed by Stephen C. Johnson at AT&T for the Unix operating system. Later compatible programs were written, such as Berkeley Yacc, GNU bison, MKS yacc and Abraxas yacc. An updated version of the original AT&T version is also open source as part of Sun's OpenSolaris project. Each offer slight improvements and additional features over the original Yacc, but the concept has remained the same. Yacc has also been rewritten for other languages, including Ratfor, EFL, ML, Ada, Java, and Limbo. Stephen Curtis Johnson spent nearly 20 years at Bell Labs and AT&T, where he wrote Yacc, Lint, and the Portable C Compiler. ...
AT&T (NYSE: T) is the largest provider of both local and long distance telephone services, wireless service under the brand Cingular Wireless, and DSL Internet access in the United States. ...
Berkeley Yacc is a reimplementation of the Unix parser generator Yacc, originally written by Robert Corbett in 1990. ...
GNU bison is a free parser generator computer program written for the GNU project, and available for virtually all common operating systems. ...
MKS Inc. ...
OpenSolaris is an open source project created by Sun Microsystems to build a developer community around the Solaris Operating System technology. ...
Ratfor (short for RATional FORtran) is a programming language implemented as a preprocessor for Fortran. ...
ML is a general-purpose functional programming language developed by Robin Milner and others in the late 1970s at the University of Edinburgh, whose syntax is inspired by ISWIM. Historically, ML stands for metalanguage as it was conceived to develop proof tactics in the LCF theorem prover (the language of...
Ada is a structured, statically typed imperative computer programming language designed by a team led by Jean Ichbiah of CII Honeywell Bull during 1977â1983. ...
Java is an object-oriented programming language developed by Sun Microsystems in the early 1990s. ...
Limbo is a programming language for writing distributed systems and is the language used to write applications for the Inferno operating system. ...
Since the parser generated by Yacc requires a lexical analyzer, it is often used in combination with a lexical analyzer generator, in most cases either Lex or the free software alternative Flex. The IEEE POSIX P1003.2 standard defines the functionality and requirements to both Lex and Yacc. Lexical analysis is the process of taking an input string of characters (such as the source code of a computer program) and producing a sequence of symbols called lexical tokens, or just tokens, which may be handled more easily by a parser. ...
lex is a program that generates lexical analyzers (scanners or lexers). Lex is commonly used with the yacc parser generator. ...
This article is about free software as defined by the sociopolitical free software movement; for information on software distributed without charge, see freeware. ...
flex (fast lexical analyzer generator) is a free software alternative to Lex. ...
The Institute of Electrical and Electronics Engineers or IEEE (pronounced as eye-triple-ee) is an international non-profit, professional organization incorporated in the State of New York, United States. ...
POSIX or Portable Operating System Interface[1] is the collective name of a family of related standards specified by the IEEE to define the application programming interface (API) for software compatible with variants of the Unix operating system. ...
This article is about engineering. ...
Versions of AT&T Yacc have become open source; the source code is available with the standard distributions of Plan 9 and OpenSolaris. Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ...
Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ...
To meet Wikipedias quality standards, this article or section may require cleanup. ...
OpenSolaris is an open source project created by Sun Microsystems to build a developer community around the Solaris Operating System technology. ...
See also - LALR parser: The underlying parsing algorithm in Yacc.
- Bison: The GNU version of Yacc.
- Lex (and Flex lexical analyser) , the token parser commonly used in conjunction with yacc (and Bison).
- BNF, is a metasyntax used to express context-free grammars: that is, a formal way to describe formal languages.
Look-Ahead LR parsers or LALR parsers are a specialized form of LR parsers that can deal with more context-free grammars than Simple LR parsers but less than LR(1) parsers can. ...
GNU bison is a free parser generator computer program written for the GNU project, and available for virtually all common operating systems. ...
lex is a program that generates lexical analyzers (scanners or lexers). Lex is commonly used with the yacc parser generator. ...
flex (fast lexical analyzer generator) is a free software alternative to Lex. ...
The Backus-Naur form (BNF) (also known as Backus normal form) is a metasyntax used to express context-free grammars: that is, a formal way to describe formal languages. ...
Reference - Stephen C. Johnson. YACC: Yet another compiler-compiler. Unix Programmer's Manual Vol 2b, 1979.
External links |