Skip to content

rickyjreyes/pascal_compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Pascal Compiler

A small Pascal-to-JVM compiler for compiling JcPascal source files into Jasmin assembly, then into Java .class files.

Requirements

Make sure the following files are in the project folder or available on your classpath:

  • antlr-4.7-complete.jar
  • jasmin.jar
  • RunTimer.java
  • sample.pas

You also need Java installed.

Build / Run

1. Compile RunTimer.java

javac RunTimer.java

2. Run the JcPascal compiler

Run the compiler with sample.pas as the input argument.

Make sure antlr-4.7-complete.jar is included as an external library or on the classpath.

Windows:

java -cp ".;antlr-4.7-complete.jar" JcPascal sample.pas

macOS/Linux:

java -cp ".:antlr-4.7-complete.jar" JcPascal sample.pas

After this runs successfully, it will generate:

sample.j

3. Generate the Java class file with Jasmin

java -jar jasmin.jar sample.j

This generates:

sample.class

4. Run the compiled Pascal program

java sample

Notes

sample.class requires RunTimer.class to be in the same folder.

If RunTimer.class does not exist yet, compile it first:

javac RunTimer.java

Windows Batch Example

You can also create a run.bat file:

javac RunTimer.java

java -cp ".;antlr-4.7-complete.jar" JcPascal sample.pas

java -jar jasmin.jar sample.j

java sample

pause

Expected Output Flow

sample.pas
   ↓
JcPascal compiler
   ↓
sample.j
   ↓
Jasmin assembler
   ↓
sample.class
   ↓
Java runtime

About

A Pascal-to-JVM compiler using ANTLR and Jasmin bytecode assembly.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors