منابع مشابه
Generalized Parser Combinators
Parser combinators are a well-known technique for constructing recursive-descent parsers through composition of other, less-complex parsers. In fact, parser combinators are often held up as an example of the elegance and composability inherent to functional programming. However, like any application of recursive-descent, parser combinators fail to support grammars with left-recursion or most ki...
متن کاملParser Combinators in Scala
Parser combinators are well-known in functional programming languages such as Haskell. In this paper, we describe how they are implemented as a library in Scala, a functional object-oriented language. Thanks to Scala’s flexible syntax, we are able to closely approximate the EBNF notation supported by dedicated parser generators. For the uninitiated, we first explain the concept of parser combin...
متن کاملLazy Functional Parser Combinators in Java
A parser is a program that checks if a text is a sentence of the language as described by a grammar. Traditionally, the program text of a parser is generated from a grammar description, after which it is compiled and subsequently run. The language accepted by such a parser is, by the nature of this process, hardcoded in the program. Another approach, primarily taken in the context of functional...
متن کاملParser Combinators for Ambiguous Left-Recursive Grammars
Parser combinators are higher-order functions used to build parsers as executable specifications of grammars. Some existing implementations are only able to handle limited ambiguity, some have exponential time and/or space complexity for ambiguous input, most cannot accommodate left-recursive grammars. This paper describes combinators, implemented in Haskell, which overcome all of these limitat...
متن کاملAutomatic Definition Extraction using Parser Combinators
The automatic extraction of definitions from natural language texts has various applications such as the creation of glossaries and question-answering systems. In this paper we look at the extraction of definitions from non-technical texts using parser combinators in Haskell. We argue that this approach gives a general and compositional way of characterising natural language definitions. The pa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Proceedings of the ACM on Programming Languages
سال: 2020
ISSN: 2475-1421
DOI: 10.1145/3409002