Results 1 -
3 of
3
Structuring a Compiler with Active Objects
- Proceedings of JMLC, volume 1897 of LNCS
, 2000
"... We present a concurrent compiler for Active Oberon built itself with active objects. We describe the experience made on parallelizing the Oberon compiler, in particular explaining how concurrency and synchronization are achieved by using active objects, and showing how we achieved ensured deadlo ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We present a concurrent compiler for Active Oberon built itself with active objects. We describe the experience made on parallelizing the Oberon compiler, in particular explaining how concurrency and synchronization are achieved by using active objects, and showing how we achieved ensured deadlock freedom. Based on the implementation, we discuss why we consider active objects beneficial for the implementation of software frameworks and where their limitations are.
Where does GOTO go to?
"... . Although GOTO has long been criticized for being "unstructured " and causing "unreliable" programs, it is still in use and even modern languages like Ada95 provide GOTO. Why? This paper presents the results of a study in which we examined 316 MB of Ada source code in order to find the frequency an ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
. Although GOTO has long been criticized for being "unstructured " and causing "unreliable" programs, it is still in use and even modern languages like Ada95 provide GOTO. Why? This paper presents the results of a study in which we examined 316 MB of Ada source code in order to find the frequency and typical applications of GOTO. It turned out that about 99% of all examined files do not contain any GOTO, but we also found "spaghetti code", generally justified by efficiency arguments. We analyzed whether GOTO really improved efficiency and examined sources containing GOTO by code inspection in order to determine its typical applications. 1 Introduction and Background The general opinion on GOTO is negative as it has frequently been criticized for causing problems in software engineering. Nonetheless, even newer languages like C++, Fortran 90 or Ada 95 still provide GOTO. Yet, jump statements interfere with many compiler techniques needed to best utilize RISC, super-scalar or non-sequ...
Detection of Side_Effects in Function Procedures
, 1994
"... Procedural programming languages usually do not support side_effect free functions but merely a form of function procedures. We argue that functions should be free of (non_local) side_effects, if they are considered as abstraction mechanism for expressions. While it is easy to statically detect s ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Procedural programming languages usually do not support side_effect free functions but merely a form of function procedures. We argue that functions should be free of (non_local) side_effects, if they are considered as abstraction mechanism for expressions. While it is easy to statically detect side_effects in functions that do not dynamically allocate variables, this is no longer the case for functions that do create new data structures. After giving a classification of different levels of side_effects, we describe a simple and efficient method that allows for their dynamic detection while retaining assignments, i.e., without referring to a pure functional implementation. The method has been implemented for an experimental subset of Oberon. 3 1 Introduction Procedural programming languages usually provide two different concepts for specifying computation, namely expressions and statements. In a first step, we consider only expressions that do not call functions, and only sta...

