Results 1 - 10
of
12
Abstract machines for programming language implementation
- FUTURE GENERATION COMPUTER SYSTEMS
, 2000
"... We present an extensive, annotated bibliography of the abstract machines designed for each of the main programming paradigms (imperative, object oriented, functional, logic and concurrent). We conclude that whilst a large number of efficient abstract machines have been designed for particular langua ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
We present an extensive, annotated bibliography of the abstract machines designed for each of the main programming paradigms (imperative, object oriented, functional, logic and concurrent). We conclude that whilst a large number of efficient abstract machines have been designed for particular language implementations, relatively little work has been done to design abstract machines in a systematic fashion.
Portability of C Programs and the UNIX System
- Bell System Tech J
, 1978
"... Computer programs are portable to the extent that they can be moved to new computing environments with much less effort than it would take to rewrite them. In the limit, a program is perfectly portable if it can be moved at will with no change whatsoever. Recent C language extensions have made it ea ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
Computer programs are portable to the extent that they can be moved to new computing environments with much less effort than it would take to rewrite them. In the limit, a program is perfectly portable if it can be moved at will with no change whatsoever. Recent C language extensions have made it easier to write portable programs. Some tools have also been developed that aid in the detection of nonportable constructions. With these tools many programs have been moved from the PDP-11 on which they were developed to other machines. In particular, the UNIX � operating system and most of its software have been transported to the Interdata 8/32. The source-language representation of most of the code involved is identical in all environments. I.
Associative Arrays in C
- In Proceedings of Summer 1988 USENIX Conference
, 1988
"... An associative array is a one-dimensional array of unbounded size whose subscripts can be non-integral types such as character strings. Traditionally associated with dynamically typed languages such as AWK and SNOBOL4, associative arrays have applications ranging from compiler symbol tables to datab ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
An associative array is a one-dimensional array of unbounded size whose subscripts can be non-integral types such as character strings. Traditionally associated with dynamically typed languages such as AWK and SNOBOL4, associative arrays have applications ranging from compiler symbol tables to databases and commercial data processing. This paper describes a family of C + class definitions for associative arrays, including programming examples, application suggestions, and notes on performance. It concludes with a complete programming example which serves the same purpose as a well-known system command but is much smaller and simpler. 1.
SETL for Internet Data Processing
, 2000
"... hereby granted, provided that this notice and the reference ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
hereby granted, provided that this notice and the reference
A Text Pattern-Matching Tool based on Parsing Expression Grammars
- Software - Practice and Experience
"... This is a preprint of an article accepted for publication in Software: Practice and Experience; ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This is a preprint of an article accepted for publication in Software: Practice and Experience;
Dynamically Typed Languages
- ADVANCES IN COMPUTERS
, 2009
"... Dynamically typed languages such as Python and Ruby have experienced a rapid grown in popularity in recent times. However, there is much confusion as to what makes these languages interesting relative to statically typed languages, and little knowledge of their rich history. In this chapter I explor ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Dynamically typed languages such as Python and Ruby have experienced a rapid grown in popularity in recent times. However, there is much confusion as to what makes these languages interesting relative to statically typed languages, and little knowledge of their rich history. In this chapter I explore the general topic of dynamically typed languages, how they differ from statically typed languages, their history, and their defining features.
String Processing Languages
, 1995
"... ns1 lation, computational linguistics, symbolic mathematics, text editing, and document formatting. Developers of string-processing languages are in a less well-defined position than developers of numerical processing languages. While mathematical notation for numerical computation has developed ove ..."
Abstract
- Add to MetaCart
ns1 lation, computational linguistics, symbolic mathematics, text editing, and document formatting. Developers of string-processing languages are in a less well-defined position than developers of numerical processing languages. While mathematical notation for numerical computation has developed over centuries, and its current form is widely known and fairly well standardized, string processing is a new area. There is no general agreement on what operations should be performed in string processing, nor is there a standard notation. The developers of stringprocessing languages started largely without conventions. As a result, notation, program structure, and approach to problem formulation are often radically different from those of more conventional programming languages. Operations on Strings While there were no generally agreed-upon string operations when string-processing languages were first developed, four operations have achieved general acceptance: conca
Notes to the Reader
"... s left as an exercise. Chapter 1 is a quick tour of the major concepts and features of the C++ programming language. Its purpose is to give a high-level acquaintance with C++. Detailed explanations of language features and techniques are postponed to later chapters. The discussion focuses on the la ..."
Abstract
- Add to MetaCart
s left as an exercise. Chapter 1 is a quick tour of the major concepts and features of the C++ programming language. Its purpose is to give a high-level acquaintance with C++. Detailed explanations of language features and techniques are postponed to later chapters. The discussion focuses on the language features supporting data abstraction and object- 2 Notes to the Reader Chapter 0 oriented programming, but also briefly introduces the key features used for procedural programming. Chapters 2, 3, and 4 describe features of C++ that are not involved in defining new types: the fundamental types, expressions, and control structures for C++ programs. In other words, they describe the subset of C++ that is essentially C. They go into considerably greater detail than Chapter 1. Chapters 5 through 8 describe C++'s facilities for defining new types, features that do not have counterparts in C. Chapter 5 presents the basic class concept, showing how user-defined types (classe
A New Implementation of the Icon Language
- Software—Practice and Experience
, 1999
"... Jcon is a new, full-featured, Java-based implementation of the Icon programming language. The compiler, written in Icon, generates an intermediate representation that is optimized and then used to produce classfiles of Java bytecode. A four-chunk control-flow model handles goal-directed evaluation a ..."
Abstract
- Add to MetaCart
Jcon is a new, full-featured, Java-based implementation of the Icon programming language. The compiler, written in Icon, generates an intermediate representation that is optimized and then used to produce classfiles of Java bytecode. A four-chunk control-flow model handles goal-directed evaluation and produces constructs not expressible as Java code. The runtime system, written in Java, finds object-oriented programming a great advantage in implementing a dynamically typed language, with method calls replacing many conditional tests. An all-encompassing descriptor class supports values, references, and suspended operations. The procedure call interface is simple and incurs overhead for generator support only when actually needed. Performance is somewhat disappointing, and some limitations are annoying, but in general Java provides a good implementation platform. Keywords: Icon, Java, compilation, generators, object-oriented programming, virtual machine This is a preprint of an article ...
Smart Memory Architecture and Methods
- Future Generation Computer Systems
, 1990
"... This paper discusses potential functionalities of smart memories. Smart memory entails the tight coupling of memory and logic. A specific architecture called the memory processor model is proposed. The model seeks to alleviate the von Neumann bottleneck, take advantage of technology trends, improve ..."
Abstract
- Add to MetaCart
This paper discusses potential functionalities of smart memories. Smart memory entails the tight coupling of memory and logic. A specific architecture called the memory processor model is proposed. The model seeks to alleviate the von Neumann bottleneck, take advantage of technology trends, improve overall system speed, and add encapsulation advantages. Speed is increased through locality of processing, communication savings, higher-level functionality, and parallelism. Data objects are accessed through descriptors, which give the memory a meta-knowledge concerning the objects, allowing for nontraditional access mechanisms. Both data types and operations are programmable, and the model is streamlined for memory operations and services. Innovative processing schemes, coupled with emerging technology densities, allow for substantial fine-grain parallelism in traditional and novel memory operations. Three important paradigms introduced are descriptor processing, where operations are accomplished without access to the actual data, associative descriptor processing, supporting highly parallel access and processing, and the single-program multipledata method, allowing parallelism by simultaneous processing of data objects distributed amongst multiple smart memories. Examples of specific operations are presented. This paper presents initial studies into the smart memory mechanism with the goal of describing its potential and stimulating further work.

