We propose a definition of the semantics of Java programs which can be used as a base for the standardization of the language and of its implementation on the Java Virtual Machine. The definition provides a machine and system independent view of the language as it is seen by the Java programmer. It takes care to directly reflect the description in the Java language reference manual so that the basic design decisions can be checked by standardizers and implementors against a mathematical model.
Our definition is the basis for a related definition we give in a sequel to this paper for the implementation of Java on the Java Virtual Machine as described in the language and in the Virtual Machine reference manual.
Artigo base: A programmer friendly modular definition of the semantics of Java. Egon Boerger and Wolfram Schule