895 research outputs found
A translational theorem for the class of EOL languages
If K is not a context-free language, then sh(K, a*) is not an EOL language (where sh(K1, K2) denotes the shuffle of the languages K1 and K2, and a is a symbol not in the alphabet of K). Hence the class of context-free languages is the largest full AFL inside the class of EOL languages
An infinite hierarchy induced by depth synchronization
AbstractDepth-synchronization measures the number of parallel derivation steps in a synchronized context-free (SCF) grammar. When not bounded by a constant the depth-synchronization measure of an SCF grammar is at least logarithmic and at most linear with respect to the word length. Languages with linear depth-synchronization measure and languages with a depth-synchronization measure in between logarithmic and linear are proven to exist. This gives rise to a strict infinite hierarchy within the family of SCF (and ET0L) languages
Polynomial equality testing for terms with shared substructures
Sharing of substructures like subterms and subcontexts in terms is a common method for space-efficient representation of terms, which allows for example to represent exponentially large terms in polynomial space, or to represent terms with iterated substructures in a compact form. We present singleton tree grammars as a general formalism for the treatment of sharing in terms. Singleton tree grammars (STG) are recursion-free context-free tree grammars without alternatives for non-terminals and at most unary second-order nonterminals. STGs generalize Plandowski's singleton context free grammars to terms (trees). We show that the test, whether two different nonterminals in an STG generate the same term can be done in polynomial time, which implies that the equality test of terms with shared terms and contexts, where composition of contexts is permitted, can be done in polynomial time in the size of the representation. This will allow polynomial-time algorithms for terms exploiting sharing. We hope that this technique will lead to improved upper complexity bounds for variants of second order unification algorithms, in particular for variants of context unification and bounded second order unification
Propagating chain-free normal forms for EOL systems
We establish two types of normal forms for EOL systems. We first show that each Īµ-free EOL language can be generated by a propagating EOL system in which each derivation tree is chain-free. By this we mean that it contains at least one path from the root to the grandfather of a leaf in which each node has more than one son. We use this result to prove that each Īµ-free EOL language can be generated by a propagating EOL system in which each production has a right side of length at most two and which does not contain nonterminal chainproductions, i.e., productions A ā B for nonterminals A and B. As applications of our results we give a simple proof for the decidability of the finiteness problem for EOL systems and solve an open problem concerning completeness of EOL forms
Extended macro grammars and stack controlled machines
K-extended basic macro grammars are introduced, where K is any class of languages. The class B(K) of languages generated by such grammars is investigated, together with the class LB(K) of languages generated by the corresponding linear basic grammars. For any full semi-AFL K, B(K) is a full AFL closed under iterated LB(K)-substitution, but not necessarily under substitution. For any machine type D, the stack controlled machine type corresponding to D is introduced, denoted S(D), and the checking-stack controlled machine type CS(D). The data structure of this machine is a stack which controls a pushdown of data structures from D. If D accepts K, then S(D) accepts B(K) and CS(D) accepts LB(K). Thus the classes B(K) are characterized by stack controlled machines and the classes LB(K), i.e., the full hyper-AFLs, by checking-stack controlled machines. A full basic-AFL is a full AFL K such that B(K)C K. Every full basic-AFL is a full hyper-AFL, but not vice versa. The class of OI macro languages (i.e., indexed languages, i.e., nested stack automaton languages) is a full basic-AFL, properly containing the smallest full basic-AFL. The latter is generated by the ultrabasic macro grammars and accepted by the nested stack automata with bounded depth of nesting (and properly contains the stack languages, the ETOL languages, i.e., the smallest full hyper-AFL, and the basic macro languages). The full basic-AFLs are characterized by bounded nested stack controlled machines
Ambiguity Detection: Scaling to Scannerless
Static ambiguity detection would be an important aspect of language
workbenches for textual software languages. However, the challenge is
that automatic ambiguity detection in context-free grammars is undecidable
in general. Sophisticated approximations and optimizations do exist,
but these do not scale to grammars for so-called ``scannerless parsers'', as of yet.
We extend previous work on ambiguity detection for context-free grammars to
cover disambiguation techniques that are typical for scannerless parsing,
such as longest match and reserved keywords.
This paper contributes a new algorithm for ambiguity detection in
character-level grammars, a prototype implementation of this algorithm and
validation on several real grammars. The total run-time of ambiguity
detection for character-level grammars for languages such as C and Java is
significantly reduced, without loss of precision.
The result is that efficient ambiguity detection in realistic grammars is
possible and may therefore become a tool in language workbenches
Ambiguity Detection: Scaling to Scannerless
Static ambiguity detection would be an important aspect of language
workbenches for textual software languages. However, the challenge is
that automatic ambiguity detection in context-free grammars is undecidable
in general. Sophisticated approximations and optimizations do exist,
but these do not scale to grammars for so-called ``scannerless parsers'', as of yet.
We extend previous work on ambiguity detection for context-free grammars to
cover disambiguation techniques that are typical for scannerless parsing,
such as longest match and reserved keywords.
This paper contributes a new algorithm for ambiguity detection in
character-level grammars, a prototype implementation of this algorithm and
validation on several real grammars. The total run-time of ambiguity
detection for character-level grammars for languages such as C and Java is
significantly reduced, without loss of precision.
The result is that efficient ambiguity detection in realistic grammars is
possible and may therefore become a tool in language workbenches
Ten virtues of structured graphs
This paper extends the invited talk by the first author about the virtues
of structured graphs. The motivation behind the talk and this paper relies on our
experience on the development of ADR, a formal approach for the design of styleconformant,
reconfigurable software systems. ADR is based on hierarchical graphs
with interfaces and it has been conceived in the attempt of reconciling software architectures
and process calculi by means of graphical methods. We have tried to
write an ADR agnostic paper where we raise some drawbacks of flat, unstructured
graphs for the design and analysis of software systems and we argue that hierarchical,
structured graphs can alleviate such drawbacks
- ā¦