Main > Free Download Search >

Free unified expression language software for linux

unified expression language

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 3266
Java Unified Expression Language 2.1.0

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.
<<less
Download (0.23MB)
Added: 2007-03-06 License: The Apache License 2.0 Price:
967 downloads
File Selection Language 0.5.1

File Selection Language 0.5.1


File Selection Language is a descriptive language for file selection. more>>
File Selection Language (FSL) is a descriptive language for file selection. File Selection Language is used to selectively pick files from a directory structure.
FSL is useful for selective backups, for instance. FSL uses glob patterns as the basic building block.
For fine-tuning the selection, inclusion/exclusion rule combinations and conditional expressions are available. File size and modification date can be used in expressions.
Main features:
- FSL can be used with a command line tool (fsltool) or, for Python programmers, with a programmable interface. For the Python interface, see the documentation of Interpreter.py.
- Several FSL rule files can be combined in a cascading manner similar to CSS. The effect is the same as if the rule files were pasted into a single file.
- Support for both Windows-like and Unix-like paths.
- Strict parse-time type checking to catch as many errors as possible before run-time. For example, you cant say EACH f IF size(5) > 1000 because function size expects filename argument.
<<less
Download (0.071MB)
Added: 2005-12-07 License: BSD License Price:
1416 downloads
Variable Expression Library 1.1

Variable Expression Library 1.1


Variable Expression Library is a C++ library that expands variables in text buffers. more>>
libvarexp is a C++ library that allows its users to detach any kind of information from the representation of that information by providing a simple-to-use but powerful text-template mechanism.

Similar mechanisms have been available in tools like sh(1), make(1), or perl(1) forever and have proven to be very useful.

The basic idea is that the relevant information is made available in variables, which the author of the template can than use within the text itself as he or she sees fit.

Consider, for example, a tool that will calculate the monthly financial reports of a small company.

Such a program should only calculate the required values, it should not worry about writing the resulting reports into an HTML file, a CSV file, or whatever format is desired. Instead, it should make the results of the calculation available in the variables "$TURNOVER", "$PROFIT", and "$INCREASE".

Then, using libvarexp, it could load an arbitrary template file and have the actual values inserted at the apropriate positions. Without changing a single line of code, one could generate the monthly report in HTML
<<less
Download (0.093MB)
Added: 2005-10-06 License: BSD License Price:
1478 downloads
HTML Redemption Language 0.5

HTML Redemption Language 0.5


HTML Redemption Language, or HRL for short, is an HTML-preprocessor. more>>
HTML Redemption Language, or HRL for short, is an HTML-preprocessor. Its basically a macro package, with built-in Python scripting.

It redeems HTML by adding useful tags such as < include >, < macro >, < if >, and < python >. The last tag allows the web site designer to embed Python "scriptlets" in the HRL source to perform complex preprocessing tasks.

HRL is a preprocessor, designed to be invoked manually by the user to generate the web site. It is not fast enough to generate web pages on the fly. A comparable package is hsc.
<<less
Download (0.034MB)
Added: 2006-11-16 License: GPL (GNU General Public License) Price:
1072 downloads
Felix Programming Language 1.1.1

Felix Programming Language 1.1.1


Felix Programming Language is a high performance, statically typed scripting language. more>>
Felix is an advanced Algol like procedural programming language with a strong functional subsystem. It features ML style typing, first class functions, pattern matching, garabge collection, polymorphism, and has built in support for high performance microthreading, regular expressions and context free parsing.

The system provides a scripting harness so the language can be used like other scripting languages, but underneath it generates native code to obtain high performance.

A key feature of the system is that it uses the C++ object model, and provides an advanced binding sublanguage to support integration with C++ at both the source and object levels, both for embedding C++ data types and functions into Felix, and for embedding Felix into exitsing C++ architectures.

The Felix compiler is written in Objective Caml, and generates ISO C++ which should compile on any platform.

<<less
Download (1.2MB)
Added: 2005-09-27 License: Freely Distributable Price:
1487 downloads
STX Expression Parser 0.7

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
Download (0.45MB)
Added: 2007-07-24 License: LGPL (GNU Lesser General Public License) Price:
824 downloads
regular expression parser 1.1

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.

<<less
Download (0.33MB)
Added: 2006-11-27 License: GPL (GNU General Public License) Price:
624 downloads
2E Programming Language 0.8.2

2E Programming Language 0.8.2


2E Programming Language is a simple algebraic syntax language. more>>
2E Programming Language (two es, as in ee, or expression evaluator) is a simple algebraic syntax language. It natively supports expressions (composed of operators and operands), and function definitions, and basically nothing else. Therefore, it can be fairly straight-forward to learn (assuming you are already familiar with general programming constructs).
The language itself is refered to as 2e, however the interpreter is called ee.
An operand can be a literal, such as a numeric value (integer or floating point), a quoted string, a single-quoted character, a variable or a function call. Operators consist of the standard algebraic operators (i.e., *, /, +, -), assignment ("="), logical operators (, =, ==), sub-expression join operator (";"), and a conditional operator pair ("? :") like in C. Also added, is an iterative conditional pair ("?? :").
Heres a couple of examples:
ee -p 2 + 3 * 7
23
In this case, when called with the "-p" flag, the next parameter is evaluated and the final result printed. The "-c" flag does the same thing, but doesnt print the final result (use this when the expression already contains output statements).
ee -c x = 7; y = 11; z = (x * y); print(z; "n")
77
The ";" operator isnt really a statement terminator, it is actually a join operator. It evaluates the left and right expressions, and returns the result of the right hand side. It has the lowest order of precedence, so in general use you can treat it like a statement terminator (however it can be used in the middle of a larger expression, such as within parentheses grouping). It also does double-duty as a function parameter delimeter, such as the print function in the previous example.
The way that the "?" (conditoinal) operator works is as follows:
result = expr_test ? expr_true : expr_false
If expr_test is true (non-zero), then expr_true is evaluated and returned, otherwise expr_false is evaluated and returned. This is just like the inline conditional in C.
Also supported, is the iterative conditional:
result = expr_test ?? expr_true : expr_false
This will evaluate expr_test repeatedly, and as long as it is true, will evaluate expr_true. Once expr_test becomes false, then the final expr_true value is returned as the result of the whole expression. However, if expr_test never was true to begin with, then and only then is expr_false evaluated and returned. Therefore, expr_false can be used for some error handling, for example.
If an operator of lower precedence than ? or ?? is encounterd such as the ";" (join) operator, then a default false target will automatically be assumed. Therefore,
result = expr_test ? expr_true : 0; ...
result = expr_test ? expr_true; ...
are both the same. Heres a more extensive example, highlighting a few more of the operands avaliable. This example also calls the interpreter using the unix "#!" syntax, same as what is used for other scripting languages.
#!/usr/local/bin/ee
# This is a comment
i = 0;
x = 0;
i < 10 ?? ( # Read this as "while i is less than 10"
j = 0;
j < 5 ?? ( # while j < 5
array[i][j] = x; # here we are assigning a value to a 2-dimentional array
j++;
x++
);
i++
)
This example uses the iterative conditional operator to initialize an array. Notice the missing ";" after x++ and i++. this is because they are not followed by an operand (instead, in this case are followed by a closing parenthese). The ";" operator is a binary operator, no different than +, -, *, /, etc. Therefore, it is only used between to operands or two sub-expressions.
Enhancements:
- This release adds a bunch of functions to round out the string handling capabilities of 2e.
- Also added are "anonymous" functions, bitwise operators, and a few code cleanups.
<<less
Download (0.031MB)
Added: 2006-12-26 License: GPL (GNU General Public License) Price:
1032 downloads
Unified I/O 3.0

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.
<<less
Download (0.12MB)
Added: 2007-06-30 License: BSD License Price:
902 downloads
Regular Expression Graphing Program 0.2

Regular Expression Graphing Program 0.2


Regular Expression Graphing Program project is a regular expression graphing program. more>>
Regular Expression Graphing Program project is a regular expression graphing program.
This program is designed to take a regular expression and produce a graph of the state machine that is used to parse the regular expression.
It is useful for teaching regular expressions and state machines.
The program comes with a built-in tutorial and sample set of regular expressions.
Main features:
- This will not graph all the regular expressions. Some of the more advanced features of the engine are just not handled.
- We currently ``graph the ``group, no $1 (?:..) operator by displaying nothing. A box should be put around the expression.
- The boxes drawn by the program are a fixed with not related to the size of the text they contain. Text can easily overflow the box.
- The system is UNIX/Linux specific. This is caused by only one small section of code should anyone want to port this to a braindamaged operating system.
- Better use of color can be made. Specifically all the nodes do not have to be green. Come to think of it they call dont have to be rectangles either.
- Sometimes the lines connecting one section to another take some strange twists.
<<less
Download (4.3MB)
Added: 2006-10-10 License: GPL (GNU General Public License) Price:
1113 downloads
The Complex Language 0.1

The Complex Language 0.1


The Complex Language project is an object oriented programming language intended for scripting or rapid apps prototyping. more>>
The Complex Language project is an object oriented programming language intended for scripting or rapid prototyping of applications.
The design goals were to have very few simple but powerful concepts and to be easy to use and easy to learn. The project provides a working interpreter along with a complete specification of the language.
Enhancements:
- This is the first release of the specification and the corresponding interpreter.
- The corresponding library is very poor, and there are probably still bugs in the interpreter.
<<less
Download (0.13MB)
Added: 2007-07-02 License: GPL (GNU General Public License) Price:
844 downloads
TOM programming language 2.5

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.
<<less
Download (3.7MB)
Added: 2006-10-05 License: GPL (GNU General Public License) Price:
1116 downloads
Transmuter Programming Language 0.9.2

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.
<<less
Download (0.34MB)
Added: 2006-09-06 License: Freely Distributable Price:
1147 downloads
The Frink Language 2007-08-04

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.
<<less
Download (0.63MB)
Added: 2007-08-06 License: Other/Proprietary License Price:
809 downloads
nEW uNIFIED mEMORY aCCESS 1.0

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.
<<less
Download (0.030MB)
Added: 2007-08-13 License: GPL (GNU General Public License) Price:
802 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5