NestedVM translated C (actually any language supported by GCC) programs to JVM bytecode. You can find some more information at http://nestedvm.ibex.org. How it works * Paper * Talk How to use it * Quick Start Guide * David Aubin's Cygwin Building Guide * Building Tips * Unix Runtime (a.k.a. "What the heck does this error mean about unknown syscall") Similar Projects * Cibyl
he goal of XMLVM is to offer a flexible and extensible cross-compiler toolchain. Instead of cross-compiling on a source code level, XMLVM cross-compiles byte code instructions from Sun Microsystem's virtual machine and Microsoft's Common Language Runtime. The benefit of this approach is that byte code instructions are easier to cross-compile and the difficult parsing of a high-level programming language is left to a regular compiler. In XMLVM, byte code-based programs are represented as XML documents. This allows manipulation and translation of XMLVM-based programs using advanced XML technologies such as XSLT, XQuery, and XPath.
Your users want to customize formulas. They know Excel or OpenOffice.
// Compile price finding factory and strategy implementation from spreadsheet:
EngineBuilder builder = SpreadsheetCompiler.newEngineBuilder();
builder.loadSpreadsheet( new File( PATH, "CustomPriceFormula.xls" ) );
builder.setFactoryClass( PriceFinderFactory.class );
builder.bindAllByName();
Engine engine = builder.compile();
PriceFinderFactory factory = (PriceFinderFactory) engine.getComputationFactory();
// Use it to compute a line item price:
LineItem item = getCurrentLineItem();
PriceFinder priceFinder = factory.newInstance( item );
BigDecimal price = priceFinder.getPrice();
Compile parametrized spreadsheets directly to bytecode.
* No need to have Excel, OpenOffice, or a JDK installed.
* Native speed, thread safe execution.
* Bind directly to your computation strategy interfaces.
* Using double, or BigDecimal for financial applications.
* Available under the GPL and commercially (details).
yGuard is a free Java bytecode obfuscator and shrinker that improves your software deployment by prohibiting unwanted access to your source code and drastically shrinking the processed Jar files at the same time.
Major problem with erasure-based generic implementation is that instance is not receiving information on generic type upon creation. Reason is the NEW bytecode instruction that has a single parameter, which is pointer to a CONSTANT_Class entry in a consta
jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. In addition, it contains a library that enables developers to read, modify and write Java class files and bytecode.
Jasmin is an assembler for the Java Virtual Machine. It takes ASCII descriptions of Java classes, written in a simple assembler-like syntax using the Java Virtual Machine instruction set. It converts them into binary Java class files, suitable for loading
The Java virtual machine specification has been written to fully document the design of the Java virtual machine. It is essential for compiler writers who wish to target the Java virtual machine and for programmers who want to implement a compatible Java
T. Proebsting. Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL \textquotesingle95, ACM Press, (1995)
C. Béra, and E. Miranda. Proceedings of the 8th Edition of the International Workshop on Smalltalk Technologies, Prague, Czech Republic, (Aug 23, 2016)
S. Brunthaler. Electronic Notes in Theoretical Computer Science, 253 (5):
3-14(2009)Proceedings of the Fourth Workshop on Bytecode Semantics, Verification, Analysis and Transformation (BYTECODE 2009).
H. Masuhara, and A. Yonezawa. International Colloquium on Partial Evaluation and Program Transformation (PE Day'99), page 83--102. Waseda University, Tokyo, Japan, (November 1999)
A. Puder, and J. Lee. Preproceedings of 4th International Workshop on Bytecode Semantics, Verification, Analysis and Transformation, York, UK, (March 2009)
S. Chiba, and M. Nishizawa. Proceedings of the 2nd international conference on Generative programming and component engineering, page 364--376. New York, NY, USA, Springer-Verlag, (2003)
G. Kniesel, P. Costanza, and M. Austermann. IEEE International Workshop on Source Code Analysis and Manipulation, Los Alamitos, CA, USA, IEEE Computer Society, (2001)
K. Williams, J. McCandless, and D. Gregg. Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, page 278--287. New York, NY, USA, ACM, (2010)
S. Marr, M. Haupt, and T. D'Hondt. Proceedings of the 3rd Workshop on Virtual Machines and Intermediate Languages, page 3:1--3:2. New York, NY, USA, ACM, (October 2009)(extended abstract).
S. Shiel, and I. Bayley. Electronic Notes in Theoretical Computer Science, 141 (1):
35--52(2005)Proceedings of the First Workshop on Bytecode Semantics, Verification, Analysis and Transformation (Bytecode 2005).
C. Stork, P. Housel, V. Haldar, N. Dalton, and M. Franz. Electronic Notes in Theoretical Computer Science, 59 (1):
142 - 157(2001)BABEL'01, First International Workshop on Multi-Language Infrastructure and Interoperability (Satellite Event of PLI 2001).
G. Wagner, A. Gal, and M. Franz. PPPJ '08: Proceedings of the 6th international symposium on Principles and practice of programming in Java, page 117--126. New York, NY, USA, ACM, (2008)
E. Lukschandl, M. Holmlund, E. Moden, M. Nordahl, and P. Nordin. Late Breaking Papers at the Genetic Programming 1998
Conference, page 135--142. University of Wisconsin, Madison, Wisconsin, USA, Stanford University Bookstore, (22-25 July 1998)