4 research outputs found

    Specifying Software Languages: Grammars, Projectional Editors, and Unconventional Approaches

    Get PDF
    We discuss several approaches for defining software languages, together with Integrated Development Environments for them. Theoretical foundation is grammar-based models: they can be used where proven correctness of specifications is required. From a practical point of view, we discuss how language specification can be made more accessible by focusing on language workbenches and projectional editing, and discuss how it can be formalized. We also give a brief overview of unconventional ideas to language definition, and outline three open problems connected to the approaches we discuss

    On the closure properties of linear conjunctive languages

    Get PDF
    AbstractLinear conjunctive grammars are conjunctive grammars in which the body of each conjunct contains no more than a single nonterminal symbol. They can at the same time be thought of as a special case of conjunctive grammars and as a generalization of linear context-free grammars that provides an explicit intersection operation.Although the set of languages generated by these grammars is known to include many important noncontext-free languages, linear conjunctive languages are still all square-time, and several practical algorithms have been devised to handle them, which makes this class of grammars quite suitable for use in applications.In this paper we investigate the closure properties of the language family generated by linear conjunctive grammars; the main result is its closure under complement, which implies that it is closed under all set-theoretic operations. We also consider several cases in which the concatenation of two linear conjunctive languages is certain to be linear conjunctive. In addition, it is demonstrated that linear conjunctive languages are closed under quotient with finite languages, not closed under quotient with regular languages, and not closed under ε-free homomorphism
    corecore