https://github.com/loty2019/compilers
Compiler organization and implementation, including formal specifications and algorithms for lexical and syntactic analysis, internal representation of the source program, semantic analysis, run-time environment issues and code generation.
https://github.com/loty2019/compilers
compilers compilers-design j-- java
Last synced: over 1 year ago
JSON representation
Compiler organization and implementation, including formal specifications and algorithms for lexical and syntactic analysis, internal representation of the source program, semantic analysis, run-time environment issues and code generation.
- Host: GitHub
- URL: https://github.com/loty2019/compilers
- Owner: loty2019
- Created: 2024-09-21T16:41:46.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-10T04:12:08.000Z (over 1 year ago)
- Last Synced: 2025-03-20T15:12:25.797Z (over 1 year ago)
- Topics: compilers, compilers-design, j--, java
- Language: Java
- Homepage:
- Size: 2.35 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## *j--* Compiler
*j--* is a compiler for a language (also called *j--*) that is a
non-trivial subset of the Java programming language. Refer to
[The *j--* Language Specification](langspec) for the formal
details about the *j--* language.The compiler. The *j--* compiler
generates code for the Java Virtual Machine (JVM).
The following command compiles the compiler:
```bash
$ ant
```
The following command runs the compiler and prints the usage string:
```bash
$ ./bin/j--
```
The following command compiles a test *j--* program `HelloWorld.java`
using the *j--* compiler, which translates the program into a JVM
bytecode program `HelloWorld.class`:
```bash
$ ./bin/j-- tests/HelloWorld.java
```
The following command runs the `HelloWorld.class` program using the
JVM:
```bash
$ java HelloWorld
```
## Software Dependencies
* [OpenJDK](https://openjdk.org/)
* [Ant](https://ant.apache.org/)