DynamicJava
DynamicJava is a Java source interpreter executing programs written in Java in addition with scripting features. DynamicJava extends the Java grammar to accept many scripting features: Statements and expressions can be written outside classes, at the top-level. The variable declaration is optional. When the left part of an assignment is an unknown identifier, a variable is defined. The type of this variable is the type of the right part of the assignment. The dynamic casts are optional. The package clause can be used anywhere at the top-levelto set the current package. The syntax of this clause has been extended : writing package; set the current package to the anonymous package.