AbstractLanguage processors may be implemented directly as functions. In a programming language that supports higher-order functions, large processors can be built by combining smaller components using higher-order functions corresponding to alternation and sequencing in the BNF notation of the grammar of the language to be processed. If the higher-order functions are defined to implement a top-down backtracking parsing strategy, the processors are modular and, owing to the fact that they resemble BNF notation, are easy to understand and modify. A major disadvantage of this approach is that the resulting processors have exponential time and space complexity in the worst case owing to the reapplication of processors during backtracking. This...
AbstractLinear lists, which are the standard data structure in functional programming languages, hav...
International audienceMemoization is the technique of saving the results of computations so that fut...
International audienceWe show how the complexity of higher-order functional programs can be analysed...
AbstractLanguage processors may be implemented directly as functions. In a programming language that...
The efficiency of parsers can be improved by adding bookkeeping features that eliminate unnecessary ...
Top-down backtracking language processors are highly modular, can handle ambiguity, and are easy to ...
In functional and logic programming, parsers can be built as modular executable specifications of gr...
In functional and logic programming, parsers can be built as modular executable specifications of gr...
AbstractA purely functional implementation of LR(0) parsers is given, together with a simple correct...
It is shown that a process similar to Earley's algorithm can be generated by a simple top-down ...
This paper describes an algorithm which takes the BNF definition of the grammar of a language and co...
In combinator parsing, the text of parsers resembles BNF notation. We present the basic method, and...
Two classes of restricted top-down parsing algorithms modeling “recursive descent” are considered. W...
In functional programming, a popular approach to building recursive descent parsers is to model pars...
International audienceMemoization is the technique of saving result of executions so that future exe...
AbstractLinear lists, which are the standard data structure in functional programming languages, hav...
International audienceMemoization is the technique of saving the results of computations so that fut...
International audienceWe show how the complexity of higher-order functional programs can be analysed...
AbstractLanguage processors may be implemented directly as functions. In a programming language that...
The efficiency of parsers can be improved by adding bookkeeping features that eliminate unnecessary ...
Top-down backtracking language processors are highly modular, can handle ambiguity, and are easy to ...
In functional and logic programming, parsers can be built as modular executable specifications of gr...
In functional and logic programming, parsers can be built as modular executable specifications of gr...
AbstractA purely functional implementation of LR(0) parsers is given, together with a simple correct...
It is shown that a process similar to Earley's algorithm can be generated by a simple top-down ...
This paper describes an algorithm which takes the BNF definition of the grammar of a language and co...
In combinator parsing, the text of parsers resembles BNF notation. We present the basic method, and...
Two classes of restricted top-down parsing algorithms modeling “recursive descent” are considered. W...
In functional programming, a popular approach to building recursive descent parsers is to model pars...
International audienceMemoization is the technique of saving result of executions so that future exe...
AbstractLinear lists, which are the standard data structure in functional programming languages, hav...
International audienceMemoization is the technique of saving the results of computations so that fut...
International audienceWe show how the complexity of higher-order functional programs can be analysed...