-
Notifications
You must be signed in to change notification settings - Fork 4
libfirm/jFirm
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
jFirm a Java binding for libFirm 1. Introduction libFirm is a library to repesent computer programs in order to analyse and transform them. Its main application is compiler construction. jFirm is a binding of the libFirm library to java. Design goal was to make usage easy and class/type hierarchies transparent where possible. The intended target are students in a compiler construction course. The binding often prefers readabilty/ease of use over performance and memory efficiency. Note: This version contains no bindings for the optimisation functions (students should develop their own optimisations). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2. Usage 2.1 JNA Make sure the lib directory is in your CLASSPATH because libfirm depends on the JNA.jar java library 2.2 Native Code We ship several prebuilt libraries containing the native libFirm code with jFirm: lib/libfirm.so - linux x86 Version lib/libfirm.dylib - Mac OS/X (Leopard) Version a) Linux You have to make sure java can find these platform specific libraries. On Linux this works by setting the LD_LIBRARY_PATH environment variable to the directory that contains the library. b) Mac You have to make sure java can find these platform specific libraries. On the Mac this works by setting the DYLD_LIBRARY_PATH environment variable to the directory that contains the library. c) Windows You have to make sure java can find these platform specific libraries. On Windows this works by setting the PATH environment variable to the directory that contains the library. 2.4 Compile Java Source Just compile the java sourcecode. You have to set your java compiler to be at least jdk 1.5 (java 5) compliant. There's a simple brainfuck compiler included for testing. 2.3 Eclipse Users: Remember to add JNA.jar to JFirms build Java build path and to set your jdk compliance level to 1.5. To set the LD_LIBRARY_PATH/DYLD_LIBRARY_PATH environment variables you have to set them as Environment variables in your Run Configurations (pointing them to ${project_loc:JFirm}/lib or something similar). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3. Contact [email protected]
About
Java Bindings for libFirm intended for compiler construction courses (focus is on ease of use)
Resources
Stars
Watchers
Forks
Packages 0
No packages published