Conservative Extensions of Regular Languages (original) (raw)
2004
Given a regular expression E and a word w belonging to the language associated to E (i.e. w ∈ L(E)), we consider the following problem: Let the word w' be obtained from w by adding or removing one symbol. In this case, we are interested in building new regular expressions E' such are similar to E and such that L(E) ∪ {w'} ⊆ L(E'). The new regular expressions are computed by an algorithm called GREC that performs changes on a finite state automaton accepting L(E), in order to derive the new regular expressions E'. Our method consists in proposing different choices, permitting the evolution of the data belonging to an application. As the final choice depends on the intended semantics for the data, it is left to an advised user.
Related papers
Parameterized Regular Expressions and their Languages
2011
We study regular expressions that use variables, or parameters, which are interpreted as alphabet letters. We consider two classes of languages denoted by such expressions: under the possibility semantics, a word belongs to the language if it is denoted by some regular expression obtained by replacing variables with letters; under the certainly semantics, the word must be denoted by every such expression. Such languages are regular, and we show that they naturally arise in several applications such as querying graph databases and program analysis. As the main contribution of the paper, we provide a complete characterization of the complexity of the main computational problems related to such languages: nonemptiness, universality, containment, membership, as well as the problem of constructing NFAs capturing such languages. We also look at the extension when domains of variables could be arbitrary regular languages, and show that under the certainty semantics, languages remain regular and the complexity of the main computational problems does not change.
On the Semantics of Atomic Subgroups in Practical Regular Expressions
2017
Most regular expression matching engines have operators and features to enhance the succinctness of classical regular expressions, such as interval quantifiers and regular lookahead. In addition, matching engines in for example Perl, Java, Ruby and .NET, also provide operators, such as atomic operators, that constrain the backtracking behavior of the engine. The most common use is to prevent needless backtracking, but the operators will often also change the language accepted. As such it is essential to develop a theoretical sound basis for the matching semantics of regular expressions with atomic operators. We here establish that atomic operators preserve regularity, but are exponentially more succinct for some languages. Further we investigate the state complexity of deterministic and non-deterministic finite automata accepting the language corresponding to a regular expression with atomic operators, and show that emptiness testing is PSPACE-complete.
FAdo: tools for finite automata and regular expressions manipulation
2002
FAdo is an ongoing project which goal is the development of a Python environment for manipulation of finite automata and regular expressions. Currently it provides most standard automata operations including conversion from deterministic to nondeterministic, minimisation, boolean operations, concatenation, conversion between automata and regular expressions, and word recognition. It includes, also, an innovative method for testing non-equivalence of two automata (or regular expressions) using a DFA canonical form and a witness generator of the difference of two automata. Our main
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.