java unified expression language 2.1.0
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 4968
Java Unified Expression Language 2.1.0
Java Unified Expression Language is an implementation of the unified expression language. more>>
Java Unified Expression Language is an implementation of the unified expression language (EL) as specified by the JSP 2.1 standard (JSR-245).
The javax.el.ExpressionFactory implementation is de.odysseus.el.ExpressionFactoryImpl:
// create an expression factory
javax.el.ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl();
Package de.odysseus.el.util provides ready-to-use subclasses of javax.el.ELContext and javax.el.ELResolver:
// create a simple EL context
de.odysseus.el.util.SimpleContext context =
new de.odysseus.el.util.SimpleContext(new de.odysseus.el.util.SimpleResolver());
// define function math:max(int,int)
context.setFunction("math", "max", Math.class.getMethod("max", new Class[]{int.class, int.class}));
// define variable "foo"
context.setVariable("foo", factory.createValueExpression(0, null));
// create expression
javax.el.ValueExpression e = factory.createValueExpression(context, "${math:max(foo,bar)}", null);
// set value for top-level property "bar"
context.setValue(null, "bar", 1);
// evaluate expression...
System.out.println(e.getValue(context)); // --> 1
The JUEL jar may be run from the command line to dump the parse tree of an EL expression:
$ java -jar juel-2.1.x.jar "#{unified(expression[language])}"
+- #{...}
|
+- unified(...)
|
+- [...]
|
+- expression
|
+- language
Enhancements:
- Minor changes only since the last release candidate.
- A detailed list of changes is contained in the archives.
<<lessThe javax.el.ExpressionFactory implementation is de.odysseus.el.ExpressionFactoryImpl:
// create an expression factory
javax.el.ExpressionFactory factory = new de.odysseus.el.ExpressionFactoryImpl();
Package de.odysseus.el.util provides ready-to-use subclasses of javax.el.ELContext and javax.el.ELResolver:
// create a simple EL context
de.odysseus.el.util.SimpleContext context =
new de.odysseus.el.util.SimpleContext(new de.odysseus.el.util.SimpleResolver());
// define function math:max(int,int)
context.setFunction("math", "max", Math.class.getMethod("max", new Class[]{int.class, int.class}));
// define variable "foo"
context.setVariable("foo", factory.createValueExpression(0, null));
// create expression
javax.el.ValueExpression e = factory.createValueExpression(context, "${math:max(foo,bar)}", null);
// set value for top-level property "bar"
context.setValue(null, "bar", 1);
// evaluate expression...
System.out.println(e.getValue(context)); // --> 1
The JUEL jar may be run from the command line to dump the parse tree of an EL expression:
$ java -jar juel-2.1.x.jar "#{unified(expression[language])}"
+- #{...}
|
+- unified(...)
|
+- [...]
|
+- expression
|
+- language
Enhancements:
- Minor changes only since the last release candidate.
- A detailed list of changes is contained in the archives.
Download (0.23MB)
Added: 2007-03-06 License: The Apache License 2.0 Price:
967 downloads
Luban programming language Beta 2.1
Luban is a component oriented scripting language. more>>
Luban is a component oriented scripting language. Luban is free and open source. Luban is named after a legendary ancient Chinese civil engineer and carpenter two thousand year ago whose constructions are still in use today.
The programming language spectrum seems crowded. Do we have all the tools we need? The author of Luban likes the scripting languages in general because of their usability. Though he always feels the pain for the lack of suitable component model for scripting.
And he personally considers object oriented scripting is too complicated for scripting purpose and will never compete with C++/Java. He eventually created Luban, a scripting language with a robust component model tailored for scripting purpose. Luban is an easy scripting language that is as clean and manageable as Java.
There have been numerous discussions about software component without clear definition. Lubans definition of component is property based object that is similar to Java Bean. User interacts with component by reading and writing property values, and computation could be triggered by the interactions.
The idea of Luban programming language that scripting language needs a different component model other than conventional class hierarchy to fit its scripting environment. A complete mechanism is built in Luban to define, save and categorize components, which is a fundamental feature of Luban.
Enhancements:
- This release adds the new feature to iterate through the elements in Java container objects.
- The following Java types can now be iterated in Luban: Java array, java.util.Collection, and java.util.Map.
<<lessThe programming language spectrum seems crowded. Do we have all the tools we need? The author of Luban likes the scripting languages in general because of their usability. Though he always feels the pain for the lack of suitable component model for scripting.
And he personally considers object oriented scripting is too complicated for scripting purpose and will never compete with C++/Java. He eventually created Luban, a scripting language with a robust component model tailored for scripting purpose. Luban is an easy scripting language that is as clean and manageable as Java.
There have been numerous discussions about software component without clear definition. Lubans definition of component is property based object that is similar to Java Bean. User interacts with component by reading and writing property values, and computation could be triggered by the interactions.
The idea of Luban programming language that scripting language needs a different component model other than conventional class hierarchy to fit its scripting environment. A complete mechanism is built in Luban to define, save and categorize components, which is a fundamental feature of Luban.
Enhancements:
- This release adds the new feature to iterate through the elements in Java container objects.
- The following Java types can now be iterated in Luban: Java array, java.util.Collection, and java.util.Map.
Download (0.37MB)
Added: 2006-04-20 License: Freely Distributable Price:
1283 downloads
regular expression parser 1.1
regular expression parser is a C++ regexp parser that accomplishes The Open Group specification Issue 6. more>>
regular expression parser is a C++ regexp parser that accomplishes The Open Group specification Issue 6, IEEE Std 1003.1, 2004 Edition.
regular expression parser allows you to parse input using regular expressions, and to retrieve parsed sub-expression matches in a few steps.
<<lessregular expression parser allows you to parse input using regular expressions, and to retrieve parsed sub-expression matches in a few steps.
Download (0.33MB)
Added: 2006-11-27 License: GPL (GNU General Public License) Price:
624 downloads
nEW uNIFIED mEMORY aCCESS 1.0
nEW uNIFIED mEMORY aCCESS is a file recovery tool for the ext3/ext2 file system. more>>
nEW uNIFIED mEMORY aCCESS (or numa for short) is a file recovery tool for the ext3/ext2 file system. It recovers deleted GIF files of less than 48kb.
Enhancements:
- This release also recovers MP3, PDF, PNG, HTML, and Java files.
<<lessEnhancements:
- This release also recovers MP3, PDF, PNG, HTML, and Java files.
Download (0.030MB)
Added: 2007-08-13 License: GPL (GNU General Public License) Price:
802 downloads
Quantity Modeling Language 0.1
QML (Quantity Modeling Language) is a thing-based language for scientific and mathematical data modeling. more>>
QML (Quantity Modeling Language) is a "thing"-based language for scientific and mathematical data modeling.
Each "thing" is a quantity which may be associated with either a structure or physical phenomena.
Quantities, in turn, may hold other Quantities or values (numbers or strings). Higher-level data models, which associate or define meanings to various quantities (such as velocity or position), can be built from QML quantities.
The higher-level data model (XML) schema that inherits from QML may be understood, and its instance documents may be parsed into QML documents and objects by the QMLReader.
Enhancements:
- This release adds partial Xerces2 DOM support, and works with Java 1.4 and Java 1.5 (no JAXP DocumentBuilder/Factory support currently).
- The test procedure is a little less chatty.
- Support has been added for testing either/both Crimson/Xerces DOM support.
- (Note: Crimson support only works with Java 1.4, as Java 1.5 interfaces have DOM lvl 2 and 3, which crimson doesnt support).
- This release adds compilerargs, and better build support for different configurations to build.xml.
<<lessEach "thing" is a quantity which may be associated with either a structure or physical phenomena.
Quantities, in turn, may hold other Quantities or values (numbers or strings). Higher-level data models, which associate or define meanings to various quantities (such as velocity or position), can be built from QML quantities.
The higher-level data model (XML) schema that inherits from QML may be understood, and its instance documents may be parsed into QML documents and objects by the QMLReader.
Enhancements:
- This release adds partial Xerces2 DOM support, and works with Java 1.4 and Java 1.5 (no JAXP DocumentBuilder/Factory support currently).
- The test procedure is a little less chatty.
- Support has been added for testing either/both Crimson/Xerces DOM support.
- (Note: Crimson support only works with Java 1.4, as Java 1.5 interfaces have DOM lvl 2 and 3, which crimson doesnt support).
- This release adds compilerargs, and better build support for different configurations to build.xml.
Download (0.16MB)
Added: 2005-11-10 License: Public Domain Price:
1443 downloads
Russian Language Learning 1.0.1
Russian Language Learning is a Java application that helps you to learn Russian using the Leitner system. more>>
Russian Language Learning is a Java application that helps you to learn Russian using the Leitner system.
Memorizing words and phrases will not only be more efficient, but the system is a joy to use. Each card also has the phrase spoken by a native russian speaker, to help with pronunciation.
The Leitner system is a way of progressively learning words by placing them in stacks. The words you know are placed in stacks seperate from the words that are still troubling you, for more efficient learning.
And there is one other thing about Tanooshka.com language learning. Each set of cards, are the words to a movie, so when youve learned the set of words, you can watch the movie, and understand it! In Russian!
<<lessMemorizing words and phrases will not only be more efficient, but the system is a joy to use. Each card also has the phrase spoken by a native russian speaker, to help with pronunciation.
The Leitner system is a way of progressively learning words by placing them in stacks. The words you know are placed in stacks seperate from the words that are still troubling you, for more efficient learning.
And there is one other thing about Tanooshka.com language learning. Each set of cards, are the words to a movie, so when youve learned the set of words, you can watch the movie, and understand it! In Russian!
Download (10.7MB)
Added: 2006-01-16 License: Freeware Price:
1673 downloads
TOM programming language 2.5
Tom is a software environment for defining transformations in Java. more>>
Tom is a software environment for defining transformations in Java. TOM programming language is an extension of Java designed to manipulate tree structures and XML documents. It is compatible with Java: a Java program is a correct Tom program.
Data are represented using an efficient tree based data-structure. Java built-ins (int, char, String, etc) can be used. Tom provides pattern matching facilities to inspect objects and retrieve values. A powerful strategy language can be used to control transformations.
Enhancements:
- The Eclipse plugin is now available again.
- In the %match construct, the sort of the subject is now optional.
- It is automatically inferred from the patterns when possible.
- Gom generates congruence strategies and offers new functionalities, such as the length of a list.
- A new "!" construct can be used to denote anti-patterns.
- The strategy library has been extended such that strategy expressions can be matched, like any other term.
- A strategy can now take another strategy in its argument.
- Support for Java bytecode analysis and transformation has been added.
<<lessData are represented using an efficient tree based data-structure. Java built-ins (int, char, String, etc) can be used. Tom provides pattern matching facilities to inspect objects and retrieve values. A powerful strategy language can be used to control transformations.
Enhancements:
- The Eclipse plugin is now available again.
- In the %match construct, the sort of the subject is now optional.
- It is automatically inferred from the patterns when possible.
- Gom generates congruence strategies and offers new functionalities, such as the length of a list.
- A new "!" construct can be used to denote anti-patterns.
- The strategy library has been extended such that strategy expressions can be matched, like any other term.
- A strategy can now take another strategy in its argument.
- Support for Java bytecode analysis and transformation has been added.
Download (3.7MB)
Added: 2006-10-05 License: GPL (GNU General Public License) Price:
1116 downloads
STX Expression Parser 0.7
STX Expression Parser provides a C++ framework. more>>
STX Expression Parser provides a C++ framework, which can process user-specified expression strings containing program-specific variables. It can be integrated into applications to allow user-customized data selection and filtering.
The expresssion strings are intuitive SQL-like WHERE-clauses and can contain arbitrarily complex arithmetic. At the same time the parse tree evaluation speed is guaranteed to be fast enough to safely iterate over larger data sets. The framework uses the Boost.Spirit parser library combined with a versatile custom scalar value class.
The expression parser can process arbitrarily complex arithmetic expressions like those seen below. To access application-defined data, functions and variables may be included in the expression. An expression can be used as a boolean filter by using comparison and logic operators.
6 + 3 * 12
(a - 28) * (int)(e + 0.4 * 2.5 / (PI() - EXP(-0.644) * 4))
6 * 9 == 42
a >= 5 OR (42<<less
The expresssion strings are intuitive SQL-like WHERE-clauses and can contain arbitrarily complex arithmetic. At the same time the parse tree evaluation speed is guaranteed to be fast enough to safely iterate over larger data sets. The framework uses the Boost.Spirit parser library combined with a versatile custom scalar value class.
The expression parser can process arbitrarily complex arithmetic expressions like those seen below. To access application-defined data, functions and variables may be included in the expression. An expression can be used as a boolean filter by using comparison and logic operators.
6 + 3 * 12
(a - 28) * (int)(e + 0.4 * 2.5 / (PI() - EXP(-0.644) * 4))
6 * 9 == 42
a >= 5 OR (42<<less
Download (0.45MB)
Added: 2007-07-24 License: LGPL (GNU Lesser General Public License) Price:
824 downloads
The Frink Language 2007-08-04
The Frink Language is a calculating tool and programming language. more>>
Frink is a practical calculating tool and programming language designed to help us all to better understand the world around us, to help us get calculations right without getting bogged down in the mechanics, and to make a tool thats really useful in the real world.
Perhaps youll get the best idea of what Frink can do if you skip down to the Sample Calculations further on this document. Come back up to the top when youre done.
Frink language was named after one of my personal heroes, and great scientists of our time, the brilliant Professor John Frink.
Main features:
- Tracks units of measure (feet, meters, tons, dollars, watts, etc.) through all calculations and allows you to add, subtract, multiply, and divide them effortlessly, and makes sure the answer comes out correct, even if you mix units like gallons and liters.
- Arbitrary-precision math, including huge integers and floating-point numbers, rational numbers (that is, fractions like 1/3 are kept without loss of precision,) and complex numbers.
- Advanced mathematical functions including trigonometric functions (even for complex numbers,) factoring and primality testing, and base conversions.
- Unit Conversion between thousands of unit types with a huge built-in data file.
- Date/time math (add offsets to dates, find out intervals between times,) timezone conversions, and user-modifiable date formats.
- Translates between several human languages, including English, French, German, Spanish, Portuguese, Dutch, Korean, Japanese, Russian, Chinese, Swedish, and Arabic.
- Calculates historical buying power of the U.S. dollar and British pound.
- Calculates exchange rates between most of the worlds currencies.
- Powerful Perl-like regular expression capabilities and text processing.
- Supports Unicode throughout, allowing processing of almost all of the worlds languages.
- Reads HTTP and FTP-based URLs as easily as reading local files, allowing fetching of live web-based data.
- Runs on most major operating systems (anything with Java 1.1 or later,) as an applet, through a web-based interface, on a wireless Palm VII, on an HDML- or WML-based webphone, and on many mobile phones and hand-held devices.
- Installs itself on your system in seconds using Java Web Start and automatically keeps itself updated when new versions of Frink are released.
- Runs with a Graphical User Interface (both Swing and AWT) or a command-line interface.
- User interface has a Programming Mode which allows you to write, edit, save, and run extremely powerful programs even on a handheld device.
- Powers Frink Server Pages, a system for providing dynamic web pages powered by Frink.
- Frink is a full-fledged programming language with arrays, dictionaries, functions, loops, even object-oriented programming and self-evaluation.
- Frink allows Object-Oriented Programming, which allows you to create complex data structures that are still easy to use.
- Java Introspection layer allows you to call any Java code from within Frink.
- Frink can also be embedded in a Java program, giving your Java programs all the power of Frink.
- Did I mention its free? If you find it useful, please donate something. Id really appreciate it!
Enhancements:
- This release fixes a problem in break statements that might lead to a "Break statement used outside a loop" error.
<<lessPerhaps youll get the best idea of what Frink can do if you skip down to the Sample Calculations further on this document. Come back up to the top when youre done.
Frink language was named after one of my personal heroes, and great scientists of our time, the brilliant Professor John Frink.
Main features:
- Tracks units of measure (feet, meters, tons, dollars, watts, etc.) through all calculations and allows you to add, subtract, multiply, and divide them effortlessly, and makes sure the answer comes out correct, even if you mix units like gallons and liters.
- Arbitrary-precision math, including huge integers and floating-point numbers, rational numbers (that is, fractions like 1/3 are kept without loss of precision,) and complex numbers.
- Advanced mathematical functions including trigonometric functions (even for complex numbers,) factoring and primality testing, and base conversions.
- Unit Conversion between thousands of unit types with a huge built-in data file.
- Date/time math (add offsets to dates, find out intervals between times,) timezone conversions, and user-modifiable date formats.
- Translates between several human languages, including English, French, German, Spanish, Portuguese, Dutch, Korean, Japanese, Russian, Chinese, Swedish, and Arabic.
- Calculates historical buying power of the U.S. dollar and British pound.
- Calculates exchange rates between most of the worlds currencies.
- Powerful Perl-like regular expression capabilities and text processing.
- Supports Unicode throughout, allowing processing of almost all of the worlds languages.
- Reads HTTP and FTP-based URLs as easily as reading local files, allowing fetching of live web-based data.
- Runs on most major operating systems (anything with Java 1.1 or later,) as an applet, through a web-based interface, on a wireless Palm VII, on an HDML- or WML-based webphone, and on many mobile phones and hand-held devices.
- Installs itself on your system in seconds using Java Web Start and automatically keeps itself updated when new versions of Frink are released.
- Runs with a Graphical User Interface (both Swing and AWT) or a command-line interface.
- User interface has a Programming Mode which allows you to write, edit, save, and run extremely powerful programs even on a handheld device.
- Powers Frink Server Pages, a system for providing dynamic web pages powered by Frink.
- Frink is a full-fledged programming language with arrays, dictionaries, functions, loops, even object-oriented programming and self-evaluation.
- Frink allows Object-Oriented Programming, which allows you to create complex data structures that are still easy to use.
- Java Introspection layer allows you to call any Java code from within Frink.
- Frink can also be embedded in a Java program, giving your Java programs all the power of Frink.
- Did I mention its free? If you find it useful, please donate something. Id really appreciate it!
Enhancements:
- This release fixes a problem in break statements that might lead to a "Break statement used outside a loop" error.
Download (0.63MB)
Added: 2007-08-06 License: Other/Proprietary License Price:
809 downloads
Berkeley Unified Parallel C 2.4.0
Berkeley Unified Parallel C (UPC) is an extension of the C programming language. more>>
Unified Parallel C, in short UPC, is an extension of the C programming language designed for high performance computing on large-scale parallel machines.
The language provides a uniform programming model for both shared and distributed memory hardware.
The programmer is presented with a single shared, partitioned address space, where variables may be directly read and written by any processor, but each variable is physically associated with a single processor.
UPC uses a Single Program Multiple Data (SPMD) model of computation in which the amount of parallelism is fixed at program startup time, typically with a single thread of execution per processor.
Whats New in This Release:
- Add initial native support for the Cray XT3 via new portals network
- Implement the GASP 1.5 performance instrumentation interface, supporting the
Parallel Performance Wizard (PPW) and other third-party profiling tools.
- Add bupc_ticks_to_ns() - finer granularity timer query
- Add the Berkeley implementations of the UPC collectives and UPC-IO to GCCUPC+UPCR
- Add most of the Berkeley UPC library extensions to GCCUPC+UPCR
- Add upcdecl command-line tool (also online at: http://upc.lbl.gov/upcdecl)
- Add support for alloca() and stdarg.h
- Performance improvements to the BUPC semaphore library for signalling store
- Add bupc_thread_distance() - runtime thread layout query for hierarchical systems
- Add a remote fetch-and-add UPC library extension (initially just for 64-bit ints)
- Allow configure-time tuning of bit distribution in packed pointer-to-shared rep
- Fix the following notable bugs in 2.2.2 (see http://upc-bugs.lbl.gov for details):
- bug525: optimizer crashes on Tru64/CompaqC for libgasnet
- bug1229: More robust preprocessing on Compaq C
- bug1389: ansi-aliasing violations on small local put/get copies
- bug1531: improved lock fairness to remote lock requests
- bug1594: timer inaccuracies on Cray X1E
- bug1645: preprocess-time failure Backslash found where operator expected
- bug1657: PACKAGE_* symbols exposed to UPC code on GCCUPC+UPCR
- bug1683: improve upcrun handling of -shared-heap-max
- bug 1743: More robust behavior when backend C compiler changes
- Improved SRV-based DNS failover for upcc HTTP translation
- Add gzip compression to HTTP netcompile, for faster compiles over slow links
- Improved robustness for SSH netcompile to handle stray output from dotfiles
- Numerous misc minor bug fixes
<<lessThe language provides a uniform programming model for both shared and distributed memory hardware.
The programmer is presented with a single shared, partitioned address space, where variables may be directly read and written by any processor, but each variable is physically associated with a single processor.
UPC uses a Single Program Multiple Data (SPMD) model of computation in which the amount of parallelism is fixed at program startup time, typically with a single thread of execution per processor.
Whats New in This Release:
- Add initial native support for the Cray XT3 via new portals network
- Implement the GASP 1.5 performance instrumentation interface, supporting the
Parallel Performance Wizard (PPW) and other third-party profiling tools.
- Add bupc_ticks_to_ns() - finer granularity timer query
- Add the Berkeley implementations of the UPC collectives and UPC-IO to GCCUPC+UPCR
- Add most of the Berkeley UPC library extensions to GCCUPC+UPCR
- Add upcdecl command-line tool (also online at: http://upc.lbl.gov/upcdecl)
- Add support for alloca() and stdarg.h
- Performance improvements to the BUPC semaphore library for signalling store
- Add bupc_thread_distance() - runtime thread layout query for hierarchical systems
- Add a remote fetch-and-add UPC library extension (initially just for 64-bit ints)
- Allow configure-time tuning of bit distribution in packed pointer-to-shared rep
- Fix the following notable bugs in 2.2.2 (see http://upc-bugs.lbl.gov for details):
- bug525: optimizer crashes on Tru64/CompaqC for libgasnet
- bug1229: More robust preprocessing on Compaq C
- bug1389: ansi-aliasing violations on small local put/get copies
- bug1531: improved lock fairness to remote lock requests
- bug1594: timer inaccuracies on Cray X1E
- bug1645: preprocess-time failure Backslash found where operator expected
- bug1657: PACKAGE_* symbols exposed to UPC code on GCCUPC+UPCR
- bug1683: improve upcrun handling of -shared-heap-max
- bug 1743: More robust behavior when backend C compiler changes
- Improved SRV-based DNS failover for upcc HTTP translation
- Add gzip compression to HTTP netcompile, for faster compiles over slow links
- Improved robustness for SSH netcompile to handle stray output from dotfiles
- Numerous misc minor bug fixes
Download (MB)
Added: 2006-11-18 License: BSD License Price:
1072 downloads
Transmuter Programming Language 0.9.2
Transmuter Programming Language is an extremely dynamic, biologically-inspired prototyping language. more>>
Transmuter Programming Language is an extremely dynamic, biologically-inspired prototyping language providing a framework for experimenting with naturally evolving systems of objects over the net, and for exploring new ideas about recombinant software, code morphing, and evolutionary programming.
Trans is also a very capable general-purpose programming language. Its fast, flexible, compact, object-oriented, highly extensible, and easy-to-learn. It can be used for rapid prototyping, or as a scripting language, an embedded language, a network server or client, a system of cooperating network nodes, a real-time control and monitoring system, and more.
Trans is not only typeless, but also classless. Instead of defining static classes, existing objects serve as prototypes for new objects. New objects are then extended or modified as desired. This modification can occur both statically at compile-time, or dynamically at run-time. Unlike most earlier prototyping languages, Trans uses a concatenation-based prototype system, with no pointers to parent object chains. Parent objects are simply copied into the new object being constructed, allowing for much faster references to inherited members and better object encapsulation. Inheritance is fine-grained, implemented at the member level rather than the object level.
Objects can be saved and loaded externally either as Trans source code, or in bytecode format in network byte-order (as in Java). All Trans source code is compiled to an internal bytecode representation before execution. Since the Trans compiler and interpreter are completely integrated, the compiler is directly accessible to the interpreter at run-time, and the interpreter is also directly accessible to the compiler at compile-time, allowing for complex macro constructs and expressions. Trans uses a fast single-pass compiler, allowing source code to be passed over the net to any Trans instance or server, with little impact in performance.
Trans includes support for integers, floating point numbers, ANSI and Unicode (UTF-16) strings, many builtin functions (including File I/O and TCP/IP Sockets), user-defined functions, and native functions. All functions are atomic objects, and can be passed around and manipulated like any other data item. Builtin functions are treated like user-defined functions, and must be defined before they are used. Native functions located in already-compiled external libraries can also be defined, called, and manipulated like any other data item, with type conversions handled automatically by Trans. And since Trans is implemented as a runtime library with an external API, it can also be embedded in other software environments, such as Java.
Trans also includes a rich assortment of operators, expressions, and statements. Many of these will be familiar to C and Java programmers, but there are significant additions, enhancements, and contextual differences. There are also several important modifiers controlling the disposition of members within an object at compile-time and run-time. A powerful regular expression engine similar to the engines found in Perl, Python, and other languages is also provided. Multiple threads are supported via a simple deterministic threading model.
Trans is relatively lightweight, designed to consume minimal resources such CPU, memory, disk, bandwidth, etc - an important feature in performance-critical real-time environments. The compiler and interpreter are written in C++ and integrated into one library module, using only standard C libraries and Berkeley v1.1 sockets, with no other dependencies. As much as possible, Trans is designed to be operating system and hardware independent, and is currently implemented on the Win32 and x86 Linux operating systems.
The design of Trans was influenced by many other languages, including C/C++, Java, JavaScript, Lisp, Self, Python, Ruby, Perl, and others.
Enhancements:
- This substantial release includes a new x86 Linux version, many language and built-in function enhancements, new optional syntaxes, true aliases, enhanced macro code generation/construction, restructured and restyled import objects and shell, library objects, more detailed examples, a new external API, and increased stability and speed.
<<lessTrans is also a very capable general-purpose programming language. Its fast, flexible, compact, object-oriented, highly extensible, and easy-to-learn. It can be used for rapid prototyping, or as a scripting language, an embedded language, a network server or client, a system of cooperating network nodes, a real-time control and monitoring system, and more.
Trans is not only typeless, but also classless. Instead of defining static classes, existing objects serve as prototypes for new objects. New objects are then extended or modified as desired. This modification can occur both statically at compile-time, or dynamically at run-time. Unlike most earlier prototyping languages, Trans uses a concatenation-based prototype system, with no pointers to parent object chains. Parent objects are simply copied into the new object being constructed, allowing for much faster references to inherited members and better object encapsulation. Inheritance is fine-grained, implemented at the member level rather than the object level.
Objects can be saved and loaded externally either as Trans source code, or in bytecode format in network byte-order (as in Java). All Trans source code is compiled to an internal bytecode representation before execution. Since the Trans compiler and interpreter are completely integrated, the compiler is directly accessible to the interpreter at run-time, and the interpreter is also directly accessible to the compiler at compile-time, allowing for complex macro constructs and expressions. Trans uses a fast single-pass compiler, allowing source code to be passed over the net to any Trans instance or server, with little impact in performance.
Trans includes support for integers, floating point numbers, ANSI and Unicode (UTF-16) strings, many builtin functions (including File I/O and TCP/IP Sockets), user-defined functions, and native functions. All functions are atomic objects, and can be passed around and manipulated like any other data item. Builtin functions are treated like user-defined functions, and must be defined before they are used. Native functions located in already-compiled external libraries can also be defined, called, and manipulated like any other data item, with type conversions handled automatically by Trans. And since Trans is implemented as a runtime library with an external API, it can also be embedded in other software environments, such as Java.
Trans also includes a rich assortment of operators, expressions, and statements. Many of these will be familiar to C and Java programmers, but there are significant additions, enhancements, and contextual differences. There are also several important modifiers controlling the disposition of members within an object at compile-time and run-time. A powerful regular expression engine similar to the engines found in Perl, Python, and other languages is also provided. Multiple threads are supported via a simple deterministic threading model.
Trans is relatively lightweight, designed to consume minimal resources such CPU, memory, disk, bandwidth, etc - an important feature in performance-critical real-time environments. The compiler and interpreter are written in C++ and integrated into one library module, using only standard C libraries and Berkeley v1.1 sockets, with no other dependencies. As much as possible, Trans is designed to be operating system and hardware independent, and is currently implemented on the Win32 and x86 Linux operating systems.
The design of Trans was influenced by many other languages, including C/C++, Java, JavaScript, Lisp, Self, Python, Ruby, Perl, and others.
Enhancements:
- This substantial release includes a new x86 Linux version, many language and built-in function enhancements, new optional syntaxes, true aliases, enhanced macro code generation/construction, restructured and restyled import objects and shell, library objects, more detailed examples, a new external API, and increased stability and speed.
Download (0.34MB)
Added: 2006-09-06 License: Freely Distributable Price:
1147 downloads
JBooleanExpression 1.2
JBooleanExpression is a simple Java API to evaluate a Boolean String Expression. more>>
JBooleanExpression is a simple Java API to evaluate a Boolean String Expression like "!true&&false||true" (parse a Boolean String Expression to a boolean primitive type).
Enhancements:
- Bugs were fixed.
- A demo class was added.
<<lessEnhancements:
- Bugs were fixed.
- A demo class was added.
Download (0.014MB)
Added: 2006-03-14 License: Other/Proprietary License with Source Price:
1322 downloads
Hecl Programming Language 20060803
Hecl Programming Language is a simple, flexible scripting language for Java. more>>
The Hecl Programming Language is a high-level scripting language implemented in Java. Hecl Programming Language is intended to be small, extensible, extremely flexible, and easy to learn and use.
Hecl is intended as a complement to the Java programming language, not a replacement. As such, it tries to do well what Java doesnt, and leaves those tasks to Java for which it is best suited.
Hecl aims to be a very immediate language - you can pick it up and start doing useful things with it quickly. It is also meant to be easy to learn. Where Java is verbose and rigid, Hecl is forgiving and quick to write. For instance, System.out.println("Hello World"); vs puts "Hello World" - 41 keystrokes (shifted letters count double) versus 22. Hecl is built to "scale down".
This makes Hecl ideal for large applications written in Java that would like to provide a user friendly scripting interface, rather than, say, a clunky XML based configuration system.
Hecl is also a small language with a minimal core. The idea is to provide only whats necessary in the language itself, and as needed, add in extensions for specific tasks.
Core Hecl is small enough to run on my Nokia 3100 cell phone as a J2ME application, presenting the interesting possibility of writing scripts, or at some point, maybe even scripting entire applications, for devices running embedded Java. As an example, you can try this MIDlet: Hecl.jar Hecl.jad
<<lessHecl is intended as a complement to the Java programming language, not a replacement. As such, it tries to do well what Java doesnt, and leaves those tasks to Java for which it is best suited.
Hecl aims to be a very immediate language - you can pick it up and start doing useful things with it quickly. It is also meant to be easy to learn. Where Java is verbose and rigid, Hecl is forgiving and quick to write. For instance, System.out.println("Hello World"); vs puts "Hello World" - 41 keystrokes (shifted letters count double) versus 22. Hecl is built to "scale down".
This makes Hecl ideal for large applications written in Java that would like to provide a user friendly scripting interface, rather than, say, a clunky XML based configuration system.
Hecl is also a small language with a minimal core. The idea is to provide only whats necessary in the language itself, and as needed, add in extensions for specific tasks.
Core Hecl is small enough to run on my Nokia 3100 cell phone as a J2ME application, presenting the interesting possibility of writing scripts, or at some point, maybe even scripting entire applications, for devices running embedded Java. As an example, you can try this MIDlet: Hecl.jar Hecl.jad
Download (2.6MB)
Added: 2007-08-05 License: The Apache License 2.0 Price:
810 downloads
Unified I/O 3.0
UnifiedIO allows to access files, primitive arrays and streams (even over HTTP) through same interface. more>>
UnifiedIO allows to access files, primitive arrays and streams (even over HTTP) through same interface.
Main features:
- High performance
- Transparent buffering
- MemoryManager
- OpenFileManager (beta)
- uio based implementation of ImageInputStream and ImageOutputStream
- Bridge between RandomAccessFile world and InputStream/OutputStream world
- Access everything using one common interface
- Read/write direct from/into primitive arrays
- Optimized reading over http (only requesting the required data range of bytes - uses byteserving feature of http 1.1)
- Easy extensible design
- Unified I/O contains also many utilities:
- BitInputStream and BitOutputStream.
- PackBits, RLE4 and RLE8 decoder.
- base64 codec implementation.
- and many others.
- Unified I/O is an open source project and licensed under BSD
Enhancements:
- This release features a new buffering model and the ability to create child streams with shared or independent stream position.
- InputStreams was implemented on all primitive arrays.
<<lessMain features:
- High performance
- Transparent buffering
- MemoryManager
- OpenFileManager (beta)
- uio based implementation of ImageInputStream and ImageOutputStream
- Bridge between RandomAccessFile world and InputStream/OutputStream world
- Access everything using one common interface
- Read/write direct from/into primitive arrays
- Optimized reading over http (only requesting the required data range of bytes - uses byteserving feature of http 1.1)
- Easy extensible design
- Unified I/O contains also many utilities:
- BitInputStream and BitOutputStream.
- PackBits, RLE4 and RLE8 decoder.
- base64 codec implementation.
- and many others.
- Unified I/O is an open source project and licensed under BSD
Enhancements:
- This release features a new buffering model and the ability to create child streams with shared or independent stream position.
- InputStreams was implemented on all primitive arrays.
Download (0.12MB)
Added: 2007-06-30 License: BSD License Price:
902 downloads
Sun Java Platform Enterprise Edition 5 Update 2
Sun Java Platform Enterprise Edition is the industry standard for developing portable, robust Java applications. more>>
Sun Java Platform Enterprise Edition (Java EE) is the industry standard for developing portable, robust, scalable, and secure server-side Java applications.
Building on the solid foundation of Java SE, Java EE provides Web services, component model, management, and communications APIs that make it the industry standard for implementing enterprise class service-oriented architecture (SOA) and Web 2.0 applications.
<<lessBuilding on the solid foundation of Java SE, Java EE provides Web services, component model, management, and communications APIs that make it the industry standard for implementing enterprise class service-oriented architecture (SOA) and Web 2.0 applications.
Download (MB)
Added: 2006-12-20 License: Freely Distributable Price:
1044 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above java unified expression language 2.1.0 search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed