5 research outputs found
Operator Precedence Languages: Their Automata-Theoretic and Logic Characterization
Operator precedence languages were introduced half a century ago by Robert Floyd to support deterministic and efficient parsing of context-free languages. Recently, we renewed our interest in this class of languages thanks to a few distinguishing properties that make them attractive for exploiting various modern technologies. Precisely, their local parsability enables parallel and incremental parsing, whereas their closure properties make them amenable to automatic verification techniques, including model checking. In this paper we provide a fairly complete theory of this class of languages: we introduce a class of automata with the same recognizing power as the generative power of their grammars; we provide a characterization of their sentences in terms of monadic second-order logic as has been done in previous literature for more restricted language classes such as regular, parenthesis, and input-driven ones; we investigate preserved and lost properties when extending the language sentences from finite length to infinite length (-languages). As a result, we obtain a class of languages that enjoys many of the nice properties of regular languages (closure and decidability properties, logic characterization) but is considerably larger than other families---typically parenthesis and input-driven ones---with the same properties, covering “almost” all deterministic languages
A First-Order Complete Temporal Logic for Structured Context-Free Languages
The problem of model checking procedural programs has fostered much research
towards the definition of temporal logics for reasoning on context-free
structures. The most notable of such results are temporal logics on Nested
Words, such as CaRet and NWTL. Recently, the logic OPTL was introduced, based
on the class of Operator Precedence Languages (OPLs), more powerful than Nested
Words. We define the new OPL-based logic POTL and prove its FO-completeness.
POTL improves on NWTL by enabling the formulation of requirements involving
pre/post-conditions, stack inspection, and others in the presence of
exception-like constructs. It improves on OPTL too, which instead we show not
to be FO-complete; it also allows to express more easily stack inspection and
function-local properties. In a companion paper we report a model checking
procedure for POTL and experimental results based on a prototype tool developed
therefor. For completeness a short summary of this complementary result is
provided in this paper too.Comment: Partially supersedes arXiv:1910.0932
A First-Order Complete Temporal Logic for Structured Context-Free Languages
The problem of model checking procedural programs has fostered much research
towards the definition of temporal logics for reasoning on context-free
structures. The most notable of such results are temporal logics on Nested
Words, such as CaRet and NWTL. Recently, the logic OPTL was introduced, based
on the class of Operator Precedence Languages (OPLs), more powerful than Nested
Words. We define the new OPL-based logic POTL and prove its FO-completeness.
POTL improves on NWTL by enabling the formulation of requirements involving
pre/post-conditions, stack inspection, and others in the presence of
exception-like constructs. It improves on OPTL too, which instead we show not
to be FO-complete; it also allows to express more easily stack inspection and
function-local properties. In a companion paper we report a model checking
procedure for POTL and experimental results based on a prototype tool developed
therefor. For completeness a short summary of this complementary result is
provided in this paper too