Results 1  10
of
23
Principles and implementation of deductive parsing
 JOURNAL OF LOGIC PROGRAMMING
, 1995
"... We present a system for generating parsers based directly on the metaphor of parsing as deduction. Parsing algorithms can be represented directly as deduction systems, and a single deduction engine can interpret such deduction systems so as to implement the corresponding parser. The method generaliz ..."
Abstract

Cited by 172 (5 self)
 Add to MetaCart
(Show Context)
We present a system for generating parsers based directly on the metaphor of parsing as deduction. Parsing algorithms can be represented directly as deduction systems, and a single deduction engine can interpret such deduction systems so as to implement the corresponding parser. The method generalizes easily to parsers for augmented phrase structure formalisms, such as definiteclause grammars and other logic grammar formalisms, and has been used for rapid prototyping of parsing algorithms for a variety of formalisms including variants of treeadjoining grammars, categorial grammars, and lexicalized contextfree grammars.
FiniteState Approximation Of Phrase Structure Grammars
, 1991
"... Phrasestructure grammars are an effective representation for important syntactic and semantic aspects of natural languages , but are computationally too demanding for use as language models in realtime speech recognition. An algorithm is described that computes finitestate approximations for cont ..."
Abstract

Cited by 51 (1 self)
 Add to MetaCart
Phrasestructure grammars are an effective representation for important syntactic and semantic aspects of natural languages , but are computationally too demanding for use as language models in realtime speech recognition. An algorithm is described that computes finitestate approximations for contextfree grammars and equivalent augmented phrasestructure grammar formalisms. The approximation is exact for certain contextfree grammars generating regular languages, including all leftlinear and rightlinear contextfree grammars. The algorithm has been used to construct finitestate language models for limiteddomain speech recognition tasks.
On the Complexity of Dataflow Analysis of Logic Programs
, 1992
"... This article reports some results on this correlation in the context of logic programs. A formal notion of the "precision" of an analysis algorithm is proposed, and this is used to characterize the worstcase computational complexity of a number of dataflow analyses with different degrees ..."
Abstract

Cited by 35 (4 self)
 Add to MetaCart
This article reports some results on this correlation in the context of logic programs. A formal notion of the "precision" of an analysis algorithm is proposed, and this is used to characterize the worstcase computational complexity of a number of dataflow analyses with different degrees of precision. While this article considers the analysis of logic programs, the technique proposed, namely the use of "exactness sets" to study relationships between complexity and precision of analyses, is not specific to logic programming in any way, and is equally applicable to flow analyses of other language families.
Semanticsbased dataflow analysis of logic programs
 Information Processing 89
, 1989
"... The increased acceptance of Prolog has motivated widespread interest in the semanticsbased dataflow analysis of logic programs and a number of different approaches have been suggested. However, the relationships between these approaches are not clear. The present paper provides a unifying introducti ..."
Abstract

Cited by 33 (4 self)
 Add to MetaCart
(Show Context)
The increased acceptance of Prolog has motivated widespread interest in the semanticsbased dataflow analysis of logic programs and a number of different approaches have been suggested. However, the relationships between these approaches are not clear. The present paper provides a unifying introduction to the approaches by giving novel denotational semantic definitions which capture their essence. In addition, the wide range of analysis tools supported by semanticsbased dataflow analysis are discussed. 1
Suspension Analyses for Concurrent Logic Programs
 ACM Transactions on Programming Languages and Systems
, 1994
"... Interpretation, concurrent logic programming, program analysis The work of M. Falaschi has been partially supported by ESPRIT Basic Research Action 6707  Parforce. Authors' current addresses: M. Codish, Department of Mathematics and Computer Science, BenGurion University, P.O.B. 653, 84105 B ..."
Abstract

Cited by 24 (6 self)
 Add to MetaCart
(Show Context)
Interpretation, concurrent logic programming, program analysis The work of M. Falaschi has been partially supported by ESPRIT Basic Research Action 6707  Parforce. Authors' current addresses: M. Codish, Department of Mathematics and Computer Science, BenGurion University, P.O.B. 653, 84105 BeerSheba, Israel. email: codish@bengus.bgu.ac.il; M. Falaschi, Dipartimento di Elettronica e Informatica, Padova University, Via Gradenigo 6/A, Padova, Italy. email: falaschi@artemide.dei.unipd.it; K. Marriott, Department of Computer Science, Monash University, Clayton 3168, Victoria, Australia. email: marriott @bruce.cs.monash.oz.au Contents 1 Introduction 3 2 Example 4 3 Concurrent logic programs 6 3.1 Preliminaries : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6 3.2 Operational semantics : : : : : : : : : : : : : : : : : : : : : : : : : : 7 4 Approximating Transition Systems 10 4.1 Abstract Interpretation : : : : : : : : : : : : : : : : : : : : : : : : : 10 4.2 Abstract ...
POLYMORPHIC TYPE ANALYSIS IN LOGIC PROGRAMS BY ABSTRACT INTERPRETATION
 J. LOGIC PROGRAMMING 1994:19, 20:1–679
, 1994
"... In this paper, we first introduce a notion of polymorphic abstract interpretation that formalises a polymorphic analysis as a generalisation of possibly infinitely many monomorphic analyses in the sense that the results of the monomorphic analyses can be obtained as instances of that of the polymorp ..."
Abstract

Cited by 12 (9 self)
 Add to MetaCart
(Show Context)
In this paper, we first introduce a notion of polymorphic abstract interpretation that formalises a polymorphic analysis as a generalisation of possibly infinitely many monomorphic analyses in the sense that the results of the monomorphic analyses can be obtained as instances of that of the polymorphic analysis. We then present a polymorphic type analysis of logic programs in terms of an abstract domain for polymorphic descriptions of type information and two operators on the abstract domain, namely the least upper bound operator and the abstract unification operator. The domains for similar purposes. The abstract unification operator for the polymorphic type analysis is designed by lifting the abstract unification operator for a monomorphic type analysis in logic programs, which simplifies the proof of the safeness of the polymorphic type analysis. Some experimental results with a prototype implementation of the polymorphic type analysis are also presented.
Type Analysis of Logic Programs in the Presence of Type Definitions
 In Proceedings of the 1995 ACM SIGPLAN Symposium on Partial Evaluation and SemanticsBased program manipulation
, 1995
"... This paper presents an abstract domain and an abstract unification function for type analysis of logic programs with type definitions. Type information is inferred together with sharing and aliasing information. Aliasing information is used to improve the precision of type analysis. 1 Introduction ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
This paper presents an abstract domain and an abstract unification function for type analysis of logic programs with type definitions. Type information is inferred together with sharing and aliasing information. Aliasing information is used to improve the precision of type analysis. 1 Introduction Prolog is a typefree language. The programmer does not have to specify the types of variables, functions and predicates. This may make it simple to write simple programs. However, it also makes it difficult to debug programs because type errors cannot be detected by Prolog systems. A type error will manifest itself in the form of a wrong result or a missing result rather than an indication of a type violation. There have been many efforts to augment Prolog with type systems in the forms of type checking systems [2, 11, 27] and type analysis systems. Type analysis systems infer types from the text of a program. Some type analysis systems infer a type for the program and the type is meant to ...
Determinacy and Determinacy Analysis
 JOURNAL OF PROGRAMMING LANGUAGES
, 1995
"... One attractive, unique feature of logic programming languages is their ability to succinctly and declaratively express search. The alternatives of a search can be specified by a set of clauses defining the same predicate. By backtracking, considering in turn each of these clauses, the different alte ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
One attractive, unique feature of logic programming languages is their ability to succinctly and declaratively express search. The alternatives of a search can be specified by a set of clauses defining the same predicate. By backtracking, considering in turn each of these clauses, the different alternatives are explored until a solution (if it exists) is found. However, though backtracking is essential for predicates that deploy search, typically, many predicates of the programs are deterministic, and most queries to the program have no more than one solution. Providing for nondeterminism can slow down the execution of a program on a uniprocessor and limit the scope for parallel execution on a multiprocessor. As a consequence, programmers are often forced to resort to the nonlogical features of the language to ensure any determinacy is fully exploited. A number of papers on determinacy and its detection have been published. However, because of the diversity of applications for dete...
Improving Program Analyses by Structure Untupling
 Journal of Logic Programming
, 1999
"... It is wellknown that adding structural information to an analysis domain can increase the precision of the analysis with respect to the original domain. This paper presents a program transformation based on untupling and specialisation which can be applied to upgrade (logic) program analysis by pro ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
It is wellknown that adding structural information to an analysis domain can increase the precision of the analysis with respect to the original domain. This paper presents a program transformation based on untupling and specialisation which can be applied to upgrade (logic) program analysis by providing additional structural information. It can be applied to (almost) any type of analysis and in conjunction with (almost) any analysis framework for logic programs. The approach is an attractive alternative to the more complex Pat(R) construction which automatically enhances an abstract domain R (in the context of abstract interpretation) with structural information. 1 Introduction The practical utility of enhancing an abstract domain to include structural information has long been recognised. One reason is that structural information is of intrinsic interest. More usually, it is because such information has the potential to increase the precision of many other types of analysis. In the...