On the Semantics of Atomic Subgroups in Practical Regular Expressions
نویسندگان
چکیده
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.
منابع مشابه
Semantics, analysis and security of backtracking regular expression matchers
Regular expressions are ubiquitous in computer science. Originally defined by Kleene in 1956, they have become a staple of the computer science undergraduate curriculum. Practical applications of regular expressions are numerous, ranging from compiler construction through smart text editors to network intrusion detection systems. Despite having been vigorously studied and formalized in many way...
متن کاملMatching Problem for Regular Expressions with Variables
We study the notion of backreference in practical regular expressions with the purpose of formal analysis and theorem proving. So far only their operational semantics was studied in formal language theory. However, for efficient reasoning and independence from implementations we need a mathematical concept of backreference that does not depend on evaluation strategies, etc. We introduce such a ...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملAlternating-time dynamic logic
We propose Alternating-time Dynamic Logic (ADL) as a multi-agent variant of Dynamic Logic in which atomic programs are replaced by coalitions. In ADL, the Dynamic Logic operators are parametrised with regular expressions over coalitions and tests. Such regular expressions describe the dynamic structure of a coalition. This means that, when moving from Dynamic Logic to ADL, the focus shifts away...
متن کاملIn-vitro efficacy of nanoparticulate calcium sodium phosphosilicate in the obstruction of dentinal tubules
Objective(s): The present study aimed to assess the in-vitro efficacy of nanoparticulate calcium sodium phosphosilicate mouthwash in the obstruction of dentinal tubules.Materials and Methods: This in-vitro, study was conducted on 120 sections obtained from extracted human premolars, which were etched with citric acid for two minutes and rinsed with distilled water. Afterwards, the section...
متن کامل