Results 1 
6 of
6
Antipatterns for Rulebased Languages
, 2010
"... Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. This should be naturally reflected in software that provide patternbased searches. We would like for example to specify that we search for white ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. This should be naturally reflected in software that provide patternbased searches. We would like for example to specify that we search for white cars that are not station wagons, or that we search for a list of objects that does not contain two identical elements. In this paper we extend the notion of pattern to the one of antipattern, i.e. patterns that may contain complement symbols. This concept is appropriate to design powerful extensions to patternbased programming languages like Ml, Asf+Sdf, Stratego, Maude, Elan or Tom and we show how this is used to extend the expressiveness and usability of the Tom language. We further define formally the semantics of antipatterns both in the syntactic case, i.e. when the symbols have no specific theory associated, and modulo an arbitrary equational theory E. We then extend the classical notion of matching between patterns and ground terms to matching between antipatterns and ground terms. Solving such problems can be performed either using general techniques as disunification, which we exemplify in the syntactical case, or more tailored and efficient approaches, which we chose to illustrate on the specific and very useful case of associativity, possibly with a unity. This allows us to be generic enough to give in this framework a very simple and natural expression of, for instance, the AllDiff standard predicate of constraint programming.
A Dynamic Pattern Calculus with Hedge Variables
"... The dynamic pattern calculus described in this paper integrates the functional mechanism of the lambdacalculus and the capabilities of pattern matching with hedge variables, i.e., variables that can be instantiated by any finite sequence of terms. We propose a generic confluence proof, where the ..."
Abstract
 Add to MetaCart
The dynamic pattern calculus described in this paper integrates the functional mechanism of the lambdacalculus and the capabilities of pattern matching with hedge variables, i.e., variables that can be instantiated by any finite sequence of terms. We propose a generic confluence proof, where the way pattern abstractions are applied in a nondeterministic calculus is axiomatized. Moreover, we present a typed version of the calculus and show that it satisfies the subject reduction and strong normalization properties.
Matching of OrderSorted Terms with Regular Expression Sorts and SecondOrder Variables
"... We construct a sound and complete matching procedure for ordersorted terms with regular expression sorts and secondorder variables. Since the theory is infinitary, there are matching problems on which the procedure does not terminate. Restricting the rules of the procedure, we obtain an incomplete ..."
Abstract
 Add to MetaCart
(Show Context)
We construct a sound and complete matching procedure for ordersorted terms with regular expression sorts and secondorder variables. Since the theory is infinitary, there are matching problems on which the procedure does not terminate. Restricting the rules of the procedure, we obtain an incomplete terminating algorithm and give some examples of its possible applications in source code searching. 1
Recueil d’articles
"... Annexes du manuscrit d’HDR — Le calcul de réécritureiiSommaire Présentations du calcul de réécriture 1 Propriétés des calculs à motifs 57 Extensions du calcul de réécriture 75 Expressivité du calcul de réécriture 147 Systèmes de types pour le calcul de réécriture 195 Applications 225Présentations du ..."
Abstract
 Add to MetaCart
(Show Context)
Annexes du manuscrit d’HDR — Le calcul de réécritureiiSommaire Présentations du calcul de réécriture 1 Propriétés des calculs à motifs 57 Extensions du calcul de réécriture 75 Expressivité du calcul de réécriture 147 Systèmes de types pour le calcul de réécriture 195 Applications 225Présentations du calcul de réécriture [CK01] [CKL01a]
J Autom Reasoning (2014) 52:155–190 DOI 10.1007/s1081701392856 Antiunification for Unranked Terms and Hedges
"... © The Author(s) 2013. This article is published with open access at Springerlink.com Abstract We study antiunification for unranked terms and hedges that may contain term and hedge variables. The antiunification problem of two hedges s̃1 and s̃2 is concerned with finding their generalization, a he ..."
Abstract
 Add to MetaCart
© The Author(s) 2013. This article is published with open access at Springerlink.com Abstract We study antiunification for unranked terms and hedges that may contain term and hedge variables. The antiunification problem of two hedges s̃1 and s̃2 is concerned with finding their generalization, a hedge q ̃ such that both s̃1 and s̃2 are instances of q ̃ under some substitutions. Hedge variables help to fill in gaps in generalizations, while term variables abstract single (sub)terms with different top function symbols. First, we design a complete andminimal algorithm to compute least general generalizations. Then, we improve the efficiency of the algorithm by restricting possible alternatives permitted in the generalizations. The restrictions are imposed with the help of a rigidity function, which is a parameter in the improved algorithm and selects certain common subsequences from the hedges to be generalized. The obtained rigid antiunif ication algorithm is further made more precise by permitting combination of hedge and term variables in generalizations. Finally, we indicate a possible application of the algorithm in software engineering. This research has been partially supported by the Spanish Ministerio de Economa