Parsing Techniques


Book Description

This second edition of Grune and Jacobs’ brilliant work presents new developments and discoveries that have been made in the field. Parsing, also referred to as syntax analysis, has been and continues to be an essential part of computer science and linguistics. Parsing techniques have grown considerably in importance, both in computer science, ie. advanced compilers often use general CF parsers, and computational linguistics where such parsers are the only option. They are used in a variety of software products including Web browsers, interpreters in computer devices, and data compression programs; and they are used extensively in linguistics.




Techniques for Searching, Parsing, and Matching


Book Description

In this book the author presents some techniques for exploring trees and graphs. He illustrates the linear search technique and the backtracking technique, and as instances of tree exploration methods he presents various algorithms for parsing subclasses of context-free languages. He also illustrates some tree and graph exploration and manipulation methods by presenting, among others, algorithms for visiting trees, evaluating Boolean expressions, proving propositional formulas, computing paths in graphs, and performing string matching. This book has been used for advanced undergraduate and graduate courses on automata and formal languages, and assumes some prior exposure to the basic notions in that area. Sample programs are presented in Java and Prolog.




Crafting Interpreters


Book Description

Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam. That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun. This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You'll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.




The Oxford Handbook of Computational Linguistics


Book Description

This handbook of computational linguistics, written for academics, graduate students and researchers, provides a state-of-the-art reference to one of the most active and productive fields in linguistics.




New Developments in Parsing Technology


Book Description

Parsing can be defined as the decomposition of complex structures into their constituent parts, and parsing technology as the methods, the tools, and the software to parse automatically. Parsing is a central area of research in the automatic processing of human language. Parsers are being used in many application areas, for example question answering, extraction of information from text, speech recognition and understanding, and machine translation. New developments in parsing technology are thus widely applicable. This book contains contributions from many of today's leading researchers in the area of natural language parsing technology. The contributors describe their most recent work and a diverse range of techniques and results. This collection provides an excellent picture of the current state of affairs in this area. This volume is the third in a series of such collections, and its breadth of coverage should make it suitable both as an overview of the current state of the field for graduate students, and as a reference for established researchers.




Compilers


Book Description




Engineering a Compiler


Book Description

This entirely revised second edition of Engineering a Compiler is full of technical updates and new material covering the latest developments in compiler technology. In this comprehensive text you will learn important techniques for constructing a modern compiler. Leading educators and researchers Keith Cooper and Linda Torczon combine basic principles with pragmatic insights from their experience building state-of-the-art compilers. They will help you fully understand important techniques such as compilation of imperative and object-oriented languages, construction of static single assignment forms, instruction scheduling, and graph-coloring register allocation. - In-depth treatment of algorithms and techniques used in the front end of a modern compiler - Focus on code optimization and code generation, the primary areas of recent research and development - Improvements in presentation including conceptual overviews for each chapter, summaries and review questions for sections, and prominent placement of definitions for new terms - Examples drawn from several different programming languages




Trends in Parsing Technology


Book Description

Computer parsing technology, which breaks down complex linguistic structures into their constituent parts, is a key research area in the automatic processing of human language. This volume is a collection of contributions from leading researchers in the field of natural language processing technology, each of whom detail their recent work which includes new techniques as well as results. The book presents an overview of the state of the art in current research into parsing technologies, focusing on three important themes: dependency parsing, domain adaptation, and deep parsing. The technology, which has a variety of practical uses, is especially concerned with the methods, tools and software that can be used to parse automatically. Applications include extracting information from free text or speech, question answering, speech recognition and comprehension, recommender systems, machine translation, and automatic summarization. New developments in the area of parsing technology are thus widely applicable, and researchers and professionals from a number of fields will find the material here required reading. As well as the other four volumes on parsing technology in this series this book has a breadth of coverage that makes it suitable both as an overview of the field for graduate students, and as a reference for established researchers in computational linguistics, artificial intelligence, computer science, language engineering, information science, and cognitive science. It will also be of interest to designers, developers, and advanced users of natural language processing systems, including applications such as spoken dialogue, text mining, multimodal human-computer interaction, and semantic web technology.




Building Parsers with Java


Book Description

CD-ROM contains: Examples from text -- Parser toolkit -- Example programs.




Recent Advances in Parsing Technology


Book Description

In Marcus (1980), deterministic parsers were introduced. These are parsers which satisfy the conditions of Marcus's determinism hypothesis, i.e., they are strongly deterministic in the sense that they do not simulate non determinism in any way. In later work (Marcus et al. 1983) these parsers were modified to construct descriptions of trees rather than the trees them selves. The resulting D-theory parsers, by working with these descriptions, are capable of capturing a certain amount of ambiguity in the structures they build. In this context, it is not clear what it means for a parser to meet the conditions of the determinism hypothesis. The object of this work is to clarify this and other issues pertaining to D-theory parsers and to provide a framework within which these issues can be examined formally. Thus we have a very narrow scope. We make no ar guments about the linguistic issues D-theory parsers are meant to address, their relation to other parsing formalisms or the notion of determinism in general. Rather we focus on issues internal to D-theory parsers themselves.