Agent programminglanguages based on the Belief, Desire and Intentions (BDI) framework present some interesting challenges for logicians. While BDI logics have been studied extensively, problems related to belief upda...
详细信息
This paper will present an idea of the convergence of Visual programminglanguages (VPL) and Real Time Operating System (RTOS). The two technologies are both significant in the fields of Embedded System but developed ...
详细信息
This paper describes a new technique for implementing educational programminglanguages using tangible interface technology. It emphasizes the use of inexpensive and durable parts with no embedded electronics or power...
详细信息
ISBN:
(纸本)159593619X
This paper describes a new technique for implementing educational programminglanguages using tangible interface technology. It emphasizes the use of inexpensive and durable parts with no embedded electronics or power supplies. Students create programs in offline settings - -on their desks or on the floor - -and use a portable scanning station to compile their code. We argue that languages created with this approach offer an appealing and practical alternative to text-based and visual languages for classroom use. In this paper we discuss the motivations for our project and describe the design and implementation of two tangible programminglanguages. We also describe an initial case study with children and outline future research goals. Copyright 2007 ACM.
A major research goal for compilers and environments is the automatic derivation of tools from formal specifications. However, the formal model of the language is often inadequate;in particular, LR(k) grammars are una...
详细信息
A major research goal for compilers and environments is the automatic derivation of tools from formal specifications. However, the formal model of the language is often inadequate;in particular, LR(k) grammars are unable to describe the natural syntax of many languages, such as C++ and Fortran, which are inherently non-deterministic. Designers of batch compilers work around such limitations by combining generated components with ad hoc techniques (for instance, performing partial type and scope analysis in tandem with parsing). Unfortunately, the complexity of incremental systems precludes the use of batch solutions. The inability to generate incremental tools for important languages inhibits the widespread use of language-rich interactive environments. We address this problem by extending the language model itself, introducing a program representation based on parse dags that is suitable for both batch and incremental analysis. Ambiguities unresolved by one stage are retained in this representation until further stages can complete the analysis, even if the resolution depends on further actions by the user. Representing ambiguity explicitly increases the number and variety of languages that can be analyzed incrementally using existing methods. To create this representation, we have developed an efficient incremental parser for general context-free grammars. Our algorithm combines Tomita's generalized LR parser with reuse of entire subtrees via state-matching. Disambiguation can occur statically, during or after parsing, or during semantic analysis (using existing incremental techniques);program errors that preclude disambiguation retain multiple interpretations indefinitely. Our representation and analyses gain efficiency by exploiting the local nature of ambiguities: for the SPEC95 C programs, the explicit representation of ambiguity requires only 0.5% additional space and less than 1% additional time during reconstruction.
The Concurrent Prolog predicate for merging n input streams is investigated, and a compilation technique for getting its efficient code is presented. Using the technique, data are transferred with a delay independent ...
详细信息
ISBN:
(纸本)4274072215
The Concurrent Prolog predicate for merging n input streams is investigated, and a compilation technique for getting its efficient code is presented. Using the technique, data are transferred with a delay independent of n. It is shown that the addition and the removal of an input stream can be done within an average time of O(1). The predicate for distributing data on an input stream to n output streams can also be realized as efficiently as n-ary merge. The compilation technique for the distribute predicate can further be applied to the implementation of mutable arrays that allow constant-time accessing and updating. These results are also applicable to PARLOG.
Current programminglanguages provide sophisticated facilities for the structuring and manipulation of data within a program. Its high-level constructs, however, stop short of being able to communicate the value and s...
详细信息
ISBN:
(纸本)0818619120
Current programminglanguages provide sophisticated facilities for the structuring and manipulation of data within a program. Its high-level constructs, however, stop short of being able to communicate the value and structure of data to external display devices. If a programmer wishes to print out a binary tree, or maintain a display of an editor line database, complicated hand coding is necessary. The ways in which the traditional model of input/output is inadequate are shown, and a model based on conceptual views of data structures is introduced. It is intended that the conceptual view model be supported by a programming environment to allow convenient specification and application of views. A prototype of this environment, called the Weasel environment, has been implemented, and is described.
.NET Language Integrated Query (LINQ) is based on the philosophy that querying should be native to your object-oriented programming language. LINQ allows you to write queries in a uniform way in your programming langu...
详细信息
ISBN:
(纸本)159593491X
.NET Language Integrated Query (LINQ) is based on the philosophy that querying should be native to your object-oriented programming language. LINQ allows you to write queries in a uniform way in your programming language itself, taking full advantage of strong typing and tool support. Any data source provider can plug into the LINQ framework, allowing it to be queried from within any .NET programming language in a strongly typed, uniform way. This demo focuses on querying in C#. We show the strongly typed querying experience across in-memory collections, relational databases and XML documents.
Recent advances in technology have made the construction of general purpose systems out of many small independent microprocessors feasible. One of the issues in distributed systems is the question of appropriate langu...
详细信息
Recent advances in technology have made the construction of general purpose systems out of many small independent microprocessors feasible. One of the issues in distributed systems is the question of appropriate language constructs. When the functions of a system are distributed over many independent microprocessors, many of the well-established ideas in system design, language specification, synchronization, and communication do not apply directly to such systems. As a result, several new language concepts have been recently proposed to overcome these difficulties. The purpose of this study is to survey this new breed of languages and compare them with respect to the criteria of modularization, communication and synchronization.
The authors describe a multipass, multilayered model of the semantics of the data-control aspect of programminglanguages, illustrating the model by using it to define the data-control aspect of the language Pascal. T...
详细信息
ISBN:
(纸本)0818608749
The authors describe a multipass, multilayered model of the semantics of the data-control aspect of programminglanguages, illustrating the model by using it to define the data-control aspect of the language Pascal. The model is an information structure model in which the information structures are defined in a relatively precise manner, using algebraic specification techcniques for abstract data types. The use of abstract data types is also the key to the layering of the description: the outermost layer describes the semantics of the language feature, the middle layer contains definitions for the manipulation of the information structures used within the model, and the innermost layer contains precise descriptions of these information structures. The fact that the model is layered allows various potential users of the semantic description to choose a level of detail appropriate to their needs.
暂无评论