Java Glossary : eval

CMP home Java glossary home Menu no menu Last updated 2004-06-28 by Roedy Green ©1996-2004 Canadian Mind Products

Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

You are here : home : Java Glossary : E words : eval.

eval
In many languages you can take a dynamically created String such as "6*(4+6^2)-cos(20)" and ask to have it evaluated, as if it were a miniature computer program. The function to do this often has a name such as eval. Java has no such function. What can you do? Here are four different approaches:
  1. Compose a miniature Java program on the fly, one complete *.java file and invoke sun.tools.javac.Main instead of execing javac.exe. Use Class.forName or reflection on to then execute the dynamically compiled method.
  2. Similar to the method above, but directly generate some byte codes for a miniature class.
    JASM on how
  3. Write a parser using one of the compiler-compiler tools such as JavaCC.
  4. Use a different language that supports dynamic scripting that is compatible with Java, e.g. Jpython or FESI.
For simple applications, all you need is a Hashtable that has lookup by String to give you a delegate object to execute some prewritten piece of code.


CMP logo
CMP_home
home
Canadian Mind Products CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[24.87.56.253]
Your IP:[80.134.30.163]
You are visitor number 2286.
Please send errors, omissions and suggestions
to improve this page to Roedy Green.
You can get a fresh copy of this page from: or possibly from your local J: drive mirror:
http://mindprod.com/jgloss/eval.html J:\mindprod\jgloss\eval.html