Related Experiment Video
Updated: Oct 1, 2025

03:14
Augmenting Large Language Models via Vector Embeddings to Improve Domain-Specific Responsiveness
Published on: December 6, 2024
704
An empirical evaluation of Lex/Yacc and ANTLR parser generation tools
Francisco Ortin1,2, Jose Quiroga1, Oscar Rodriguez-Prieto1
1University of Oviedo, Computer Science Department, Oviedo, Spain.
Plos One
|March 3, 2022
Summary
This study empirically compares parser generator tools Lex/Yacc and ANTLR. ANTLR demonstrated significant advantages in implementor productivity and tool usability for software engineering students.
Area of Science:
- Computer Science
- Software Engineering
- Programming Language Theory
Background:
- Parsers are fundamental in software development for tasks like compiler construction and natural language processing.
- Lex/Yacc and ANTLR are prominent parser generator tools, with Lex/Yacc often favored in academic settings despite ANTLR's advanced features.
- Existing comparisons are qualitative; empirical data on implementor productivity and tool usability is lacking.
Purpose of the Study:
- To empirically evaluate and compare the performance of Lex/Yacc and ANTLR.
- To assess empirical features including language implementor productivity, tool simplicity, intuitiveness, and maintainability.
- To provide data-driven insights for selecting parser generator tools in academic and practical contexts.
Main Methods:
- An experiment was conducted with undergraduate Software Engineering students.
- Students were randomly assigned to implement the same language using either Lex/Yacc or ANTLR.
- Statistical analysis was performed on various performance measures to compare the two tools.
Main Results:
- ANTLR showed statistically significant improvements across most measured empirical features compared to Lex/Yacc.
- The study identified key differences in implementor productivity and perceived tool quality.
- Findings suggest ANTLR offers a more advantageous development experience in the evaluated aspects.
Conclusions:
- ANTLR presents significant empirical advantages over Lex/Yacc in terms of productivity and usability for parser generation.
- The findings challenge the traditional preference for Lex/Yacc in some academic curricula.
- This study provides valuable empirical evidence for tool selection in software engineering education and practice.
Related Concept Videos
Mass Analyzers: Overview
869
The mass analyzer is a crucial component of the mass spectrometer. In the ionization chamber, the vaporized sample is bombarded with a high-energy electron beam to generate a radical cation and further fragment into neutral molecules, radicals, and cations. A series of negatively charged accelerator plates accelerate the cations into the mass analyzer. The mass analyzer separates ions according to their mass-to-charge (m/z) ratios and then directs them to the detector. The common types of mass...
869
Mass Analyzers: Common Types
756
The quadrupole mass analyzer consists of four cylindrical metal rods arranged in a diamond carrying a DC voltage and a radio-frequency AC voltage. The motion of ions through the quadrupole depends on the field strength, causing only ions of a certain m/z to resonate successfully and strike the detector at a given field strength. Though the transmission rate for these analyzers is high, the exact elemental composition of the sample is not determined because of low resolution; however, they are...
756
Language Development
498
Children master language quickly and with relative ease, supported by both biological predisposition and reinforcement. B. F. Skinner (1957) proposed that language is learned through reinforcement, while Noam Chomsky (1965) argued that language acquisition mechanisms are biologically determined.
The critical period for language acquisition suggests that the ability to acquire language is at its peak early in life. As people age, this proficiency decreases. Language development begins very...
The critical period for language acquisition suggests that the ability to acquire language is at its peak early in life. As people age, this proficiency decreases. Language development begins very...
498
Language and Cognition
489
Language serves as a bridge between ideas and communication, influencing how individuals perceive and interact with the world. Psychologists have long debated whether language shapes thought or vice versa. This discussion gained grip with Edward Sapir and Benjamin Lee Whorf in the 1940s, who proposed that language determines thought, a concept known as linguistic determinism. They suggested that the vocabulary and structure of a language influence how its speakers think and perceive reality.
489
Heuristics
158
Heuristics are problem-solving strategies that use mental shortcuts to simplify decision-making. Unlike algorithms, which must be followed precisely to achieve a correct result, heuristics offer a general problem-solving framework. They save time and energy but can sometimes lead to less rational decisions.
People often rely on heuristics when faced with an overload of information, limited time, low importance of the decision, limited information, or when a heuristic readily comes to mind. For...
People often rely on heuristics when faced with an overload of information, limited time, low importance of the decision, limited information, or when a heuristic readily comes to mind. For...
158
Components of Language
471
Language, whether spoken, signed, or written, consists of specific components: lexicon and grammar. The lexicon is the vocabulary of a language, comprising its words. Grammar is the set of rules used to convey meaning through the lexicon. For example, English grammar adds “-ed” to most verbs to indicate past tense. Words are formed by combining phonemes, which are the basic sound units of a language. Different languages have different sets of phonemes (e.g., “ah” vs.
471

![Technical Aspect of the Automated Synthesis and Real-Time Kinetic Evaluation of [11C]SNAP-7941](/_next/image?url=https%3A%2F%2Fcloudfront.jove.com%2FCDNSource%2Fteasers%2F59557.jpg&w=3840&q=50)