- Building Parsers with Java
- Building Parsers with Java
- Project Activity
- Categories
- License
- Follow Building Parsers with Java
- User Reviews
- Additional Project Details
- Languages
- Intended Audience
- Programming Language
- Registered
- Building Parsers with Java™
- Book description
- Table of contents
- Product information
- You might also like
- Check it out now on O’Reilly
- Building Parsers with Java
Building Parsers with Java
Parser building is a powerful programming technique that opens a world of opportunity for designing how users interact with applications. By creating mini-languages, you can precisely address the requirements of your application development domain. Writing your own parsers empowers you to access a database more effectively than SQL to efficiently control the movement of an order through its workflow, to command the actions of a robot, and to control access privileges to transactions in a system. The repertoire of today’s professional programmer should include the know-how to create custom languages.
Building Parsers with Java(TM) shows how to create parsers that recognize custom programming languages. This book and its accompanying CD provide an in-depth explanation and clearly written tutorial on writing parsers, following the Interpreter Design Pattern. An easy-to-follow demonstration on how to apply parsers to vital development tasks is included, using more than a hundred short examples, numerous UML diagrams, and a pure Java parser toolkit to illustrate key points.
- How to design, code, and test a working parser
- How to create a parser to read a data language, and how to create new computer languages with XML
- How to translate the design of a language into code
- How to accept an arithmetic formula and compute its result
- How to accept and apply matching expressions like th* one
- How to use tokenizers to define a parser in terms of logical nuggets instead of individual characters
- How to build parsers for a custom logic language like Prolog
- How to build parsers for a custom query language that goes beyond SQL
- How to construct an imperative language that translates text into commands that direct a sequence of actions
Building Parsers with Java
BPWJ is Java package that allows users to quickly develop parsers for application specific mini-languages. New languages are created incrumentally from generic tokenizer and parser classes.
Project Activity
Categories
License
Follow Building Parsers with Java
Open LMS is Open Source at its core. Migrating to Open LMS is simple and easy.
As the largest commercial provider of hosting and support services for the open-source Moodle™ learning platform, we help organizations and institutions deliver great learning experiences without complexities
User Reviews
Additional Project Details
Languages
Intended Audience
Programming Language
Registered
Highcharts is a JavaScript charting library that allows developers to create interactive and visually appealing charts for web applications. It offers a wide range of chart types, including line charts, bar charts, pie charts, scatter plots, and more. It also supports different types of data.
Userback is a user feedback platform that automates the feedback lifecycle for websites and applications to improve product fit and speed development cycles. Userback empowers more than 20,000 software teams to collect, manage, and resolve visual feedback directly from their users. Built.
Kissflow is a low-code application development platform that brings business users and IT closer to simplify work management and dramatically accelerate digital transformation. With Kissflow, enterprise applications can be built in weeks. It’s the only platform built for multiple personas.
Building Parsers with Java™
Read it now on the O’Reilly learning platform with a 10-day free trial.
O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
Book description
Parser building is a powerful programming technique that opens a world of opportunity for designing how users interact with applications. By creating mini-languages, you can precisely address the requirements of your application development domain. Writing your own parsers empowers you to access a database more effectively than SQL to efficiently control the movement of an order through its workflow, to command the actions of a robot, and to control access privileges to transactions in a system. The repertoire of today’s professional programmer should include the know-how to create custom languages.
Building Parsers with Java™ shows how to create parsers that recognize custom programming languages. This book and its accompanying CD provide an in-depth explanation and clearly written tutorial on writing parsers, following the Interpreter Design Pattern. An easy-to-follow demonstration on how to apply parsers to vital development tasks is included, using more than a hundred short examples, numerous UML diagrams, and a pure Java parser toolkit to illustrate key points.
Table of contents
- Copyright
- Foreword
- Preface
- Introduction
- The Role of Parsers
- What Is a Language?
- The Organization of This Book
- Summary
- What Is a Parser?
- Parser Collaborations
- Assemblies
- The Parser Hierarchy
- Terminal Parsers
- Composite Parsers
- Assemblers
- Summary
- Design Overview
- Deciding to Tokenize
- Designing Assemblers
- Grammars: A Shorthand for Parsers
- Example: Designing a Grammar for a Track Robot
- Translating a Grammar to Code
- Completing a Parser
- Summary
- Feature Testing
- Random Testing
- Special Tokenizers and Targets
- Summary
- The Role of Data Languages
- A Data Language Example
- A Coffee Grammar
- A Tokenizing Problem
- Coffee Assemblers
- Translating the Coffee Grammar to Code
- Data Language Parser Summary
- Parsers with XML
- Helpers
- Summary
- The Role of Grammar Transformation
- Ensuring Correct Associativity
- Eliminating Left Recursion
- Ensuring Proper Precedence
- Eliminating Parser Class Loops
- Summary
- Building an Arithmetic Parser
- An Arithmetic Grammar
- Arithmetic Assemblers
- An Arithmetic Grammar Parser
- Summary
- The Role of Regular Expressions
- Building a Regular Expression Parser
- A Regular Expression Grammar
- Regular Expression Assemblers
- A Regular Expression Parser
- Summary
- The Role of a Tokenizer
- Acquiring a Tokenizer
- Tokenizers in Standard Java
- A Token Class
- A Tokenizer Class
- Tokenizer Lookup Tables
- Tokenizer States
- Setting a Tokenizer’s Source
- Customizing a Tokenizer
- The TokenStringSource Utility
- Token Strings
- Summary
- Introduction
- Parser Matching
- Repetition Matching
- Collection Parsers
- Sequence Matching
- Alternation Matching
- Empty Matching
- Terminal Matching
- Parser Matching Utilities
- Summary
- The Role of New Types of Parsers
- New Terminals
- New Token Types
- New Parser Features
- Summary
- Engines versus Interpreters
- The Role of Engines
- Building Blocks
- Unification
- Facts
- Programs and Queries
- Proofs
- Rules
- Additional Features of the Engine
- Summary
- The Role of Logic Languages
- Building Blocks
- A Logikus Interactive Development Environment
- Unification
- Comparisons
- Rules, Axioms, and Programs
- Proofs
- Additional Features of Logikus
- Lists
- List Applications
- Modeling Transitive and Symmetric Relations
- Example Applications
- Summary
- Building a Logic Language Environment
- A Logikus Grammar
- Logikus Assemblers
- The Logikus Interactive Development Environment
- Summary
- The Role of Query Languages
- A Sample Database
- Jaql
- Building a Query Language Environment
- Translating User Queries to Engine Queries
- A Query Builder
- A Speller
- Jaql Grammar
- Creating the Jaql Parser
- Jaql Assemblers
- The Jaql User Environment
- Summary
- The Role of Imperative Languages
- Sling
- Sling Programming
- Building the Sling Environment
- Building Commands
- Sling Commands
- Building Runtime Functions
- Sling Functions
- Sling Target
- A Sling Grammar
- Sling Assemblers
- A Sling Parser
- Summary
- Get Started
- Keep Going
- Classes
- Class Relationships
- Interfaces
- Objects
Product information
- Title: Building Parsers with Java™
- Author(s): Steven John Metsker
- Release date: March 2001
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780201719628
You might also like
Check it out now on O’Reilly
Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.
Building Parsers with Java
Parser building is a powerful programming technique that opens a world of opportunity for designing how users interact with applications. By creating mini-languages, you can precisely address the requirements of your application development domain. Writing your own parsers empowers you to access a database more effectively than SQL to efficiently control the movement of an order through its workflow, to command the actions of a robot, and to control access privileges to transactions in a system. The repertoire of today’s professional programmer should include the know-how to create custom languages.
Building Parsers with Java(TM) shows how to create parsers that recognize custom programming languages. This book and its accompanying CD provide an in-depth explanation and clearly written tutorial on writing parsers, following the Interpreter Design Pattern. An easy-to-follow demonstration on how to apply parsers to vital development tasks is included, using more than a hundred short examples, numerous UML diagrams, and a pure Java parser toolkit to illustrate key points.
- How to design, code, and test a working parser
- How to create a parser to read a data language, and how to create new computer languages with XML
- How to translate the design of a language into code
- How to accept an arithmetic formula and compute its result
- How to accept and apply matching expressions like th* one
- How to use tokenizers to define a parser in terms of logical nuggets instead of individual characters
- How to build parsers for a custom logic language like Prolog
- How to build parsers for a custom query language that goes beyond SQL
- How to construct an imperative language that translates text into commands that direct a sequence of actions