nric - NetRexx I* Compiler

Summary

A NetRexx to Java bytecode compiler.

Background

There exists a freely available reference implementation of the langauge from IBM. But no source code is available. The reference implementaion does two things: it translates NetRexx into Java source code then calls a Java compiler to produce the bytecode and it acts as an interpreter and runs the NetRexx program with no generated bytecode.

Definations

Source Langauge
The NetRexx language as defined in the published book "The NetRexx Langauge" and the NRL supplement.
Target Language
Java virtual machine as defined in the published book "The Java Virtual Machine Specification, Second Edition".
Implementation Languages
The NetRexx language, the Java Languages and JVM assembler code.

Phase 1 Goals

A statement of our project goals[pdf].

  1. To produce a correct compiler for the defined source and target langauges.
  2. Produce a faster running compiler than the reference implementation. Utilizing incremental compile technology.
  3. Develop new or modified tools to meet the above goals.
  4. Provide continuity for the NetRexx language by having an alternative, maintainable, open source implementation
  5. Provide continuity for the software projects built using NetRexx
  6. Deliver a compiler that mimics the reference implementation
  7. Deliver a compiler that is extensible and
  8. An integrated compiler server to avoid reloading during large builds
  9. Close-to human Java source generation
  10. Relaxed cross language cross dependency checks

Future Goals

NetRexx Language Extentions
  1. following the evolving Java language
  2. bitwise operators
  3. Java 1.5 generics
  4. Runtime Type conversions without subverting type checking
Language support tools
  1. A testbed for language innovations
  2. Deliver a compiler that can be retargeted to other runtime environments.
  3. Aspect Oriented NetRexx
  4. Runtime Type conversions without subverting type checking
  5. Classic Rexx compatibility to target Java VM

Resource

Project is hosted on SourceForge.net Logo.


Copyright © Chad Slaughter, 2004, All Rights Reserved