3,841 research outputs found

    Open Programming Language Interpreters

    Get PDF
    Context: This paper presents the concept of open programming language interpreters and the implementation of a framework-level metaobject protocol (MOP) to support them. Inquiry: We address the problem of dynamic interpreter adaptation to tailor the interpreter's behavior on the task to be solved and to introduce new features to fulfill unforeseen requirements. Many languages provide a MOP that to some degree supports reflection. However, MOPs are typically language-specific, their reflective functionality is often restricted, and the adaptation and application logic are often mixed which hardens the understanding and maintenance of the source code. Our system overcomes these limitations. Approach: We designed and implemented a system to support open programming language interpreters. The prototype implementation is integrated in the Neverlang framework. The system exposes the structure, behavior and the runtime state of any Neverlang-based interpreter with the ability to modify it. Knowledge: Our system provides a complete control over interpreter's structure, behavior and its runtime state. The approach is applicable to every Neverlang-based interpreter. Adaptation code can potentially be reused across different language implementations. Grounding: Having a prototype implementation we focused on feasibility evaluation. The paper shows that our approach well addresses problems commonly found in the research literature. We have a demonstrative video and examples that illustrate our approach on dynamic software adaptation, aspect-oriented programming, debugging and context-aware interpreters. Importance: To our knowledge, our paper presents the first reflective approach targeting a general framework for language development. Our system provides full reflective support for free to any Neverlang-based interpreter. We are not aware of any prior application of open implementations to programming language interpreters in the sense defined in this paper. Rather than substituting other approaches, we believe our system can be used as a complementary technique in situations where other approaches present serious limitations

    Dynamic Composition of Agent Grammars

    Get PDF
    In the very near future, as pervasive computing takes root, there will be an explosion of everyday objects that are uniquely identifiable and wrapped by a computational layer- effectively bringing the object to life. An important component of this system is the mechanism that will allow humans to interface with the objects. Menu Based Natural Language Interfaces (MBNLI) seem like a good candidate for this job because of the intuitive way in which they allow the user to build commands. However, the MBNLI system will have to scale with the number of objects in the system. This project describes context free grammar modules which are small grammar files that can be composed to form a larger grammar. Grammar modules can then be associated with individual objects, and in this way allow the MBNU to scale according to the size of the system

    Generation of Distributed Programming Environments

    Get PDF
    This technical report consists of three related papers in the area of distributed programming environments. Incremental Attribute Evaluation in Distributed Language-Based Environments presents algorithms that extend existing technology for the generation of single-user language-based editors from attribute grammars to the cases of multiple-user concurrent and distributed environments. Multi-User Distributed Language-Based Environment, an extended abstract, provides additional information on how to apply the algorithms. Reliability in Distributed Programming Environments presents additional algorithms that extend our results to unreliable networks

    Main strategies of internet-based Japanese language teaching and the associated risks : a thesis presented in partial fulfilment of the requirements for the degree of Master of Arts in Japanese at Massey University

    Get PDF
    This study formulates two models of using Internet in classroom based Japanese language education. The models identified, the static model and the dynamic model, can be used in planning the strategy of introducing Internet as an educational medium in Japanese language classroom. Apart from elaborating the features of the models, and clarifying their relationships to recognized foreign/second language teaching approaches, we determine the risks, associated with Internet based Japanese language education and consider the ways to mitigate them. Our study is backed by 2 surveys, and by qualitative and quantitative analysis of Internet search engine data and of a database of teachers' beliefs data. This study may be of value to Japanese language teachers and learners, education administrators and to designers of CALL software

    Zipper-based attribute grammars and their extensions

    Get PDF
    Lecture Notes in Computer Science Volume 8129, 2013.Attribute grammars are a suitable formalism to express complex software language analysis and manipulation algorithms, which rely on multiple traversals of the underlying syntax tree. Recently, Attribute Grammars have been extended with mechanisms such as references and high-order and circular attributes. Such extensions provide a powerful modular mechanism and allow the specification of complex fix-point computations. This paper defines an elegant and simple, zipper-based embedding of attribute grammars and their extensions as first class citizens. In this setting, language specifications are defined as a set of independent, off-the-shelf components that can easily be composed into a powerful, executable language processor. Several real examples of language specification and processing programs have been implemented in this setting
    • …
    corecore