24 research outputs found

    Phobos: A front-end approach to extensible compilers (long version)

    Get PDF
    This paper describes a practical approach for implementing certain types of domain-specific languages with extensible compilers. Given a compiler with one or more front-end languages, we introduce the idea of a "generic" front-end that allows the syntactic and semantic specification of domain-specific languages. Phobos, our generic front-end, offers modular language specification, allowing the programmer to define new syntax and semantics incrementally

    A Framework for Datatype Transformation

    Get PDF
    We study one dimension in program evolution, namely the evolution of the datatype declarations in a program. To this end, a suite of basic transformation operators is designed. We cover structure-preserving refactorings, but also structure-extending and -reducing adaptations. Both the object programs that are subject to datatype transformations, and the meta programs that encode datatype transformations are functional programs.Comment: Minor revision; now accepted at LDTA 200

    Semantics of programming languages : a tool-oriented approach

    Get PDF
    By paying more attention to semantics-based tool generation, programming language semantics can significantly increase its impact. Ultimately, this may lead to ``Language Design Assistants'' incorporating substantial amounts of semantic knowledge

    Context sensitive user interfaces

    Get PDF
    This paper presents a conceptual design model for user interfaces (MASS1) and a general formalism for dialogue specification (Interaction Scripts) which are the most important components of an approach to the methodological, iterative design of Interactive Systems from formal, model-based specification of both the application and the User Interface (UI). This approach allows the integration of both dialogue and application semantics from the beginning of the design process, by using prototypes derived from both specifications. Assuming that all the application semantics is available at early design stages, the MASS model defines a set of guidelines that will enforce the designer to create user interfaces that will present a prophylactic instead of the usual therapeutic behaviour. By a prophylactic behaviour it is meant, metaphorically, that the UI will exhibit a behaviour that prevents and avoids both syntactic and semantic user errors, in contrast with the most usual therapeutic, or error recovery, behaviour. The dialogue specification formalism(Interaction Scripts) despite being general, in the sense that it may be applied to the specification of any kind of dialogue, is specially suited to the specification of UIs with the behaviour prescribed by the MASS design model. In addition, it is independent from concrete environment details, therefore allowing for different implementations of the same specification, that is, different looks and feels. The operational semantics of the Interaction Script notation is also presented in terms of Petri-Nets that are automatically generated from the Interaction Script specification of the dialogue controller

    Attribute Grammar Applications in Prototyping LOTOS Tools

    Get PDF
    What is the practical applicability of attribute grammars? As we show in this paper, attribute grammars are at least good enough for the prototyping of fully functional interactive tools. Going from a definition of a language and the functionality of its tools to an attribute grammar is a discipline in need of a systematic approach, for which we give some initial material. As is inevitable when a system is extensively used (in our case the Cornell Synthesizer Generator), this paper also proposes extensions to the attribute grammar formalism and its supporting systems. 1 Introduction This paper represents, in some way, a view from the trenches. How we prototyped tools contributing to a specification environment for LOTOS is the main topic here. Attribute grammars were chosen because they promised to be a good prototyping approach to language based software development, and the close relation between attribute grammars and the description of tool functions helps ensure the correctness of..
    corecore