159 citations found. Retrieving documents...
Aho, Sethi, Ullman. Compilers:Principles, Techniques, and Tools. Addison Wesley, 1986, Chapter 3: Lexical Analysis 21 A The Hidden Markov Model (HMM) This appendix shall give more background for section 9. Let's make the following hypothesis: Be

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Simple and Effective Array Prefetching in Java - Cahoon, McKinley (2002)   (Correct)

....analysis for prefetching array references and linked structures. We prefetch all array references containing loop induction variables, and we eliminate redundant prefetches using common subexpression elimination. The initial use for induction variable detection was operator strength reduction [15, 1]. The initial algorithms typically require reaching definitions and loop invariant expressions. The algorithms are conservative and find simple linear induction variables. The PTRAN compiler uses an optimistic approach and assumes variables in loops are induction variables until proven otherwise ....

....structure traversals. We use the analysis for prefetching rather than array dependence testing. 3. LOOP INDUCTION VARIABLES In this section, we present our data flow analysis for discovering loop induction variables. Traditional algorithms for finding induction variables are either loop based [1], or use static single assignment (SSA) form [11] Both techniques require def use chains. An induction variable is incremented or decremented by the same value during each loop iteration. An example of an induction variable is the expression i=i c occurring in a loop. During each iteration of ....

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, Reading, MA, 1986.


Incremental Computation for Transformational Software.. - Yanhong Liu Tim (1995)   (Correct)

....received much attention in the transformational programming literature [7, 12, 35, 37, 45] where it is commonly known as finite differencing. However, general techniques of incremental computation have far broader application throughout software, e.g. loop optimizations in optimizing compilers [2, 3, 11, 14, 46], interactive systems like editors [6, 13, 43] and programming environments [5, 9, 13, 19, 24, 25, 41, 42] dynamic systems like distributed databases [10, 29] and real time systems [48] and image processing [49, 51, 53, 54] Incremental Computation. Given a program f and an input change ....

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley series in Computer Science. Addison-Wesley Publishing Company, Reading, Massachusetts, 1986.


Grammars and parsing with ML - Lecture Notes For   (Correct)

....description (in Danish) of practical recursive descent parsing using Turbo Pascal is given by Kristensen [3] who provided Example 1 and other inspiration. There is a rich literature on scanning and parsing in connection with compiler construction. The standard reference is Aho, Sethi, and Ullman [1]. More information on recursive descent parsing is found in Lewis, Rosenkrantz, and Stearns [4] and in Wirth [5, Chapter 5] Exercise 1 Write down a grammar for ML lists of unsigned integers. Show the derivations of [ and [7, 9, 13] Exercise 2 Construct a grammar for the container data in ....

A.V. Aho, R. Sethi, and J.D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1986.


A High-Bandwidth Memory Pipeline for Wide Issue Processors - Cho, Yew, Lee (2001)   (1 citation)  (Correct)

....memory access locality based on program semantics, which then leads to a simple, yet very accurate prediction mechanism for data decoupling. 3 ACCESS REGION LOCALITY A program s memory space is divided into a few regions or segments: data, heap, and stack regions under a typical runtime system [1]. 3 We study in this section how each memory reference instruction accesses memory regions using a profiling tool and a set of benchmark programs. We first study how each static memory instruction accesses regions at runtime. Then, we develop and evaluate a runtime prediction mechanism. This ....

A.V. Aho, R. Sethi, and J.D. Ullman, Principles, Techniques, and Tools. Addison-Wesley, 1986.


An XML-Based Platform for Semantic Transformation Of.. - Hovland, Naumann, Norris   (Correct)

....behind AD. For a given set of input values, the steps performed by the program can be represented as a directed acyclic computational graph. The structure of this graph can be determined at compile time for control flow independent parts of the program, such as single statements or basic blocks [9]. AD exploits the fact that expressions for the local partial derivatives with respect to the operands can be generated for all elementary arithmetic operations ( and intrinsic functions ( For example, it is well known that , etc. The forward and reverse modes of AD generate ....

A. Aho, R. Sethi, and J. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, 1986.


Language Development in a Visual Manner - Irf Rphvwhgrvhh Whhr (2001)   (Correct)

....to provide software development tools designed specifically to handle such applications and thus to greatly simplify their development. These tools take a high level description of the specific task and generate a complete application. One of such well established domain is a compiler construction [5], because there is a long tradition of producing compilers, underlying theories are well understood and there exist many application generators which automatically produce compilers or interpreters from programming language specifications. The paper presents visual language development with the ....

A.V. Aho, R. Sethi, J. Ullman. Compilers, Principles, Techniques, and Tools. Reading, MA, Addison-Wesley, 1986.


Plan 9 C Compilers - Ken Thompson Ken   (Correct)

....expression. The result of the boolean code generator is the position of the program counter and not an expression. The boolean code generator makes extensive use of De Morgan#s rule. The boolean code generator is an expanded version of that described in chapter 8 of Aho, Sethi, and Ullman [Aho87]. There is a considerable amount of talk in the literature about automating this part of a compiler with a machine description. Since this code generator is so small (less than 500 lines of C) and easy, it hardly seems worth the effort. 5.7. Registerization Up to now, the compiler has operated ....

A. V. Aho, R. Sethi, and J. D. Ullman, Compilers # Principles, Techniques, and Tools, Addison Wesley, Reading, MA, 1987.


A Framework for Tracking Branch Conditions - Sakharov   (Correct)

....[WZ] and number interval propagation with widening (widening is embedded into meet ) CC, Bo] Usually, properties of program variables are the subject of data flow analyses. Our analysis takes advantage of tracking properties of all program expressions (and possibly others) Transfer functions [ASU], which are determined by the constructs of the respective language, are not fixed in the framework. Because of this, this framework is applicable to various languages. For instance, the language may include arrays, pointers, and their relevant operations. Tracking branch conditions is done by a ....

....goal is achieved at expense of theoretical soundness. An intra procedural analysis algorithm is presented here. Although, it is designed to work as a step in inter procedural techniques in the vein of works [Ca, CH] Then, the inter procedural change information has to be collected beforehand [ASU,CK], and environments are propagated instead of constants with using the meet operation defined below. Our analysis and optimizations are useful for production compilers where optimization is more important than compilation speed. Programs containing a lot of branches (e.g. microcontroller ....

[Article contains additional citation context not shown here]

Aho, A.V., Sethi, R., Ullman, J.D., Compilers. Principles, Techniques, and Tools, Addison-Wesley Publ. Co., 1986.


SINTL: A Strongly-Typed Generic Intermediate Language for Scheme - DePristo (2000)   (2 citations)  (Correct)

....basic block graph of a template. Conversion occurs in three phases: DAG value dependency analysis, local variable assignment, and stack machine instruction selection. 4. 1 DAG Value Dependency Analysis The DAG value dependency analysis uses a technique similar to DAG code generation described in [1] and value numbering [ For each basic block B in the basic block 19 graph, we walk the instruction stream forward to backward building a graph G. For each instruction I with return result r (if one exists) and register arguments a 1 ; a n , we create a node labeled r with value hi; Ii ....

J.D. Ullman A.V. Aho, R. Sethi. Compilers, Principles, Techniques, and Tools. Addison Wesley, 1988.


Parallel Parsing - de Vreught (1993)   (Correct)

....if v has a grandparent x then Add edge u w to the tree 1. 3 Formal Languages The theory of formal languages is discussed in many classical textbooks [Sal73, Har78, HU79, Sal85] The theory of recognizing and parsing is described in [AU72, AU73, SSS88, SSS90] and in the dragon books [AU77, ASU86]. The most extensive treatment of attribute grammars can be found in [DJL88] For a wealth of references on parallel recognizing and parsing the reader is referred to [AANL89, Vre91a] In the first part of this thesis we will investigate the parsing of contextfree languages. A context free ....

A.V. Aho, R. Sethi, and J.D. Ullman. Compilers, Principles, Techniques, and Tools. Addison Wesley, 1986.


Portable High-Performance Programs - Frigo (1992)   (1 citation)  (Correct)

....the dag bottom up, and it applies a series of local improvements to every node. For explanation purposes, these improvements can be subdivided into three categories: algebraic transformations, common subexpression elimination, and DFT specific improvements. Since the first two kinds are well known [9], I just discuss them briefly. We then consider the third kind in more detail. tmp5 = REAL(input[0] tmp6 = IMAG(input[0] tmp2 = IMAG(input[0] tmp3 = REAL(input[1] tmp7 = REAL(input[1] tmp8 = IMAG(input[1] tmp4 = IMAG(input[1] REAL(output[0] 1 tmp1) 0 tmp2) 1 ....

A.V.AHO,R.SETHI, AND J. D. ULLMAN, Compilers, principles, techniques, and tools, Addison-Wesley, Mar. 1986.


Analysis and Testing of Programs with Exception-Handling.. - Sinha, Harrold (1999)   (18 citations)  (Correct)

....only within a method, but across methods, and can introduce complex control flow paths in a program. The control flow relation that exists in a program can be represented in a control flow graph (CFG) in which nodes represent statements and edges represent the flow of control between statements [2]. Figure 4 depicts the CFGs for the methods in the vending machine program. Each node is labeled by the line number of the source statement that it represents; some nodes represent several source statements. Each CFG has an entry node, which is labeled by the name of the corresponding method, and ....

....44 46a 46b 45a 45b 47a 47b 50a 50b 54:IA 55, 56 58 51:IC 52 49 53b 53a 57:ZV Figure 4: CFGs for methods of the vending machine program. information is used in activities, such as program slicing (e.g. 10, 15, 34] data flow testing (e.g. 8, 14, 21] and compiler optimizations [2]. A typical data flow problem is formulated as a set of data flow equations whose solutions are iteratively propagated throughout the program using a CFG; the solution of the dataflow problem is the fixed point solution of the equations. The presence of exception handling constructs can cause an ....

[Article contains additional citation context not shown here]

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Prin., Techniques, and Tools. Addison-Wesley Publishing Company, Reading, MA, 1986.


Exploiting Event Stream Interpretation in Publish-Subscribe.. - Zhao, Strom (2001)   (3 citations)  (Correct)

....with these properties. 2.4 Transformations As established in Section 2.3, the task of nding an equivalent event stream can be achieved by transforming a history to an equivalent one. We provide a set of transformations that can implement this process. The rst transformation, adapted from [2], deals with dead operations. Speci cally, a NOP is equivalent to any dead operation. Definition 2.4. A variable is live at a point in a program if its value can be used subsequently; otherwise, it is dead at that point. An operation is dead if the variable it updates is dead. Transformation 1. ....

A. V. Aho, R. Sethi, and J. Ullman. Compilers, Principles, Techniques, and Tools. Addison Wesley, 1986.


Complexity Of Bidirectional Data Flow Analysis - Dhamdhere, Khedker (1993)   (9 citations)  (Correct)

....The data ows used in classical code optimization mostly involve unidirectional dependencies, i.e. the data ow information at a node of the program ow graph is in uenced either by its predecessors, or its successors. Such data ows can be readily classi ed into forward and backward data ows [1]. Bidirectional problems, wherein the information at a node depends on Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its ....

....ow paths 2.1 Traversals Given a depth rst spanning tree, we di erentiate between back edges and non back edges; we term the latter as forward edges in this paper. 1 Thus the term forward edges, as used in this paper, includes the conventional notions of forward as well as cross edges [1]. Information ow is realized during a traversal. We de ne the notions of traversal as follows : i) Edge Traversals : Forward traversal along an edge is a tail to head traversal of the edge, while the backward traversal is a head to tail traversal. 1 We use the terms forward edges and back ....

[Article contains additional citation context not shown here]

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers { Principles, Techniques, and Tools. AddisonWesley, 1986.


Compiler/Interpreter Generator System LISA - Mernik, Leni, Avdicausevic, al. (2000)   (3 citations)  (Correct)

....to weak and strong formal methods. The essential requirement for a method to be formal in a strong sense is that it is supported by software tools that can perform a meaningful semantical analysis. Many tools have been built to support formal methods for programming language specifications [2]. In the paper a new version of the compiler interpreter generation system LISA ver. 2.0 is described. Its features are: support for incremental language development, support for language design in a visual manner, portability, and efficiency. The paper is organised as follows. In section 2 the ....

....to provide software development tools designed specifically to handle such applications and thus to greatly simplify their development. These tools take a high level description of the specific task and generate a complete application. One of such well established domain is compiler construction [2], because there is a long tradition of producing compilers, underlying theories are well understood and there exist many application generators which automatically produce compilers or interpreters from programming language specifications. In the paper the design decisions, the architecture and ....

Aho A.V., Sethi R., Ullman J. Compilers, Principles, Techniques, and Tools. Reading, MA, Addison-Wesley, 1986.


An Esterel Compiler for a Synchronous/Reactive Development System - Edwards (1994)   (Correct)

....simple as possible simplifies the final code generation phase and makes optimization much easier. The result of balancing these sometimes conflicting requirements is presented below. The intermediate representation chosen is very close to the three address code used in modern optimizing compilers [1]. All but one of the instructions are simple in some sense they translate into only a few assembly language instructions. The remaining instruction, try, is responsible for parallel execution and preemption and is really the workhorse of the language. The notion of time employed in the ....

A. Aho, R. Sethi, and J. Ullman. Compilers, principles, techniques, and tools. Addison-Wesley series in Computer Science. Addison-Wesley, 1988.


An Asynchronous Approach to Efficient Execution of.. - Agarwal, Wazlowski.. (1994)   (13 citations)  (Correct)

....and the architecture both utilize Control Flow Graph (CFG) and operator network of the critical section. 3.1 Flow Graphs Control Flow Graph (CFG) The translation begins with a block level CFG of the critical section. A CFG is a directed graph in which the nodes represent basic blocks [24] and the edges represent the flow of control. Operator Network: In the next step of the translation, the Flow Graph Generation module shown in Figure 1b generates an Operator Network. It is a directed graph wherein the nodes represent the operators, and the edges represent the flow of values ....

....timeStampBlocks( createController( optimizeController( writeNetlist( Figure 3: Pseudocode of algorithm for Custom Architecture Synthesis 1. createFlowGraphs: The operator network and the CFG for the function are constructed in this step using data flow analysis techniques [24]. 2. timeStampOperators: Each operation in the operator network is assigned a time stamp that indicates the earliest time it may complete execution. Through this assignment, a schedule is automatically created that also reveals the operations that may execute in parallel. A time stamp is ....

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, Reading, Massachusetts, 1986.


Deriving Pre-conditions for Array Bound Check Elimination - Chin, Khoo, Xu (2001)   (1 citation)  (Correct)

....of this range. Hence, its upper bound check H 2 = v length(arr) is unsafe as it contradicts with the assertion v = length(arr) from the let statement. Totally and partially redundant checks are traditionally identi ed by two separate techniques. As a matter of fact, forward data ow analysis[1, 15] which determines available expressions has been primarily used to identify totally redundant checks. An expression (or check) e is said to be available at program point p if some expression in an equivalence class of e has been computed on every path from entry to p, and the constituent of e has ....

A.V. Aho, R. Sethi, and J.D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1986.


Toward a Software Architecture for Quantum Computing.. - Svore, Cross, Aho..   Self-citation (Aho)   (Correct)

No context found.

A. Aho, R. Sethi, and J. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1986.


Intelligent Email Classifier - Emir, al.   (Correct)

No context found.

Aho, Sethi, Ullman. Compilers:Principles, Techniques, and Tools. Addison Wesley, 1986, Chapter 3: Lexical Analysis 21 A The Hidden Markov Model (HMM) This appendix shall give more background for section 9. Let's make the following hypothesis: Be


Syntax-Directed Derivative Code (Part II: Intraprocedural Adjoint .. - Naumann (2005)   (Correct)

No context found.

A. Aho, R. Sethi, and J. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, 1986.


Syntax-Directed Derivative Code (Part I: Tangent-Linear Code) - Naumann (2005)   (Correct)

No context found.

A. Aho, R. Sethi, and J. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, 1986.


Unknown - (1993)   (Correct)

No context found.

Aho, A. V., Sethi, R., & Ullman, J. D. (1986). Compilers, principles, techniques, and tools. Reading, MA: Addison-Wesley.


Software Methods to Improve Data Locality and Cache Behavior - Beyls (2004)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1986. 5.3.2


Automated Environment Generation for Software Model Checking - Tkachuk, Dwyer, Pasareanu (2003)   (5 citations)  (Correct)

No context found.

A. Aho, R. Sethi, and J. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1985.


A HW/SW Design Methodology for Embedded SIMD Vector.. - Robelly, Cichon.. (2005)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman, Compilers. Principles, Techniques, and Tools. Redding, MA: Addison-Wesley, 1985.


An Optimizing Compiler for Batches of Temporal Logic - Formulas James Ezick (2004)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley Publishing Company, 1986.


Synchronous Transfer Architecture (STA) - Cichon, Robelly, Seidel, Matus.. (2004)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, Redding, MA, 1985.


Black- and White-Box Self-testing COTS Components - Beydeda, Gruhn   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, principles, techniques, and tools. Addison Wesley, 1988.


MOUSE: A Shortcut From Matlab Source to SIMD DSP Assembly Code - Cichon, Fettweis (2003)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, Redding, MA, 1985.


BINTEST - Binary Search-based Test Case Generation - Beydeda, Gruhn (2003)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, principles, techniques, and tools. Addison Wesley, 1988.


"To Be Recorded" Analysis in Reverse-Mode Automatic.. - Hascoet, Naumann, Pascual (2003)   (Correct)

No context found.

A. Aho, R. Sethi, and J. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, Reading, MA, 1986.


Compiler Scheduling for STA-Processors - Cichon, Robelly, Seidel, Bronzel, .. (2004)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, Redding, MA, 1985.


Improving Processor Performance through Compiler-Assisted Block.. - Huang (2000)   (Correct)

No context found.

A.V. Aho, R. Sethi, and J.D. Ulman. Compilers, Principles, Techniques, and Tools. AddisonWesley, 1986.


Data-Flow-Based Unit Testing of Aspect-Oriented Programs - Zhao (2003)   (1 citation)  (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compiler, Principles, Techniques, and Tools. Addison-Wesley, Boston, MA, 1986.


System Dependence Graph Construction For Aspect-Oriented Programs - Zhao, Rinard (2003)   (1 citation)  (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compiler, Principles, Techniques, and Tools. Addison-Wesley, Boston, MA, 1986.


Synchronous Transfer Architecture (STA) - Cichon, Robelly, Seidel, Matus.. (2004)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, Redding, MA, 1985.


A Uniform Approach to Semi-Dynamic Problems on Digraphs - Cicerone, Frigioni.. (1998)   (1 citation)  (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, and Tools. AddisonWesley, 1986.


Flow Analysis for Verifying Properties of Concurrent .. - Dwyer, Clarke.. (2004)   (Correct)

No context found.

A.V. Aho, R. Sethi, and J.D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1985.


Global Analysis and Transformations in Preprocessed Languages - Spinellis (2003)   (Correct)

No context found.

A.V. Aho, R. Sethi, and J.D. Ullman, Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1985.


Flow Analysis for Verifying Properties of Concurrent .. - Dwyer, Clarke.. (2004)   (Correct)

No context found.

A.V. Aho, R. Sethi, and J.D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1985.


MOUSE: A Shortcut From Matlab Source to SIMD DSP Assembly Code - Cichon, Fettweis (2003)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman, Compilers. Principles, Techniques, and Tools. Redding, MA: Addison-Wesley, 1985.


ACM Transactions on Software Engineering and.. - Rothermel.. (2001)   (1 citation)  (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley Publishing Company, Reading, MA, 1986.


Using Syntax to Improve Word Prediction in a Programming.. - Sanders, Russell (2004)   (Correct)

No context found.

J.D. Ullman, R. Sethi, and A.V. Aho. Compilers, Principles, Techniques, and Tools. Addison-Wesley Publishing Company, 1988.


BINTEST - Binary Search-based Test Case Generation - Beydeda, Gruhn (2003)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, principles, techniques, and tools. Addison Wesley, 1988.


A Multi-Layer Intermediate Representation for ASIP Design - Laetsch (2003)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers. Principles, Techniques, and Tools. Addison-Wesley, 1986.


Software Methods to Improve Data Locality and Cache Behavior - Beyls (2004)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley, 1986. 5.3.2


Understanding Data Dependences in the Presence of Pointers - Orso, Sinha, Harrold (2003)   (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques, and Tools. Addison-Wesley Publishing Company, Reading, MA, 1986.


Resolution, Optimization, and Encoding of Pointer Variables .. - Semeria, De Micheli (2001)   (1 citation)  (Correct)

No context found.

A. V. Aho, R. Sethi, and J. D. Ullman, Compilers, Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.


Recompilation for Debugging Support in a JIT-Compiler - Tikir, Lueh, Hollingsworth (2002)   (Correct)

No context found.

A.V.Aho,R.Sethi,andJ.Ullman.Compilers:Principles, Techniques, and Tools. Addison-Wesley, 1986.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC