Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.543.302 Times

2E Programming Language 0.8.2

  Date Added: October 25, 2010  |  Visits: 1.171

2E Programming Language

Report Broken Link
Printer Friendly Version

Product Homepage
Download (80 downloads)

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. Whats New in This Release: - 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..

Requirements: No special requirements
Platforms: Linux
Keyword: Algebraic Syntax Code Generators Expr Language Operator Programming Programming Language Such As True
Users rating: 0/10

License: Freeware Size: 31.74 KB
More Reviews or Write Review

Advanced HTML Editors  -  Free Webeditor 1.5
Free Webeditor is a Freeware HTML editor application that has advanced features such as autocomplete for HTML and Javascript, syntax coloring, tag inspector. It also has many wizards such as framesets wizard, cascading style sheets (css) wizard...
8.1 MB  
Programming  -  Bulgarian language support 2.1
The goal of this project is to provide spell check, grammar check and hyphenation for Bulgarian language for Open Source products such as, aspell, ispell etc.
357.91 KB  
Development Tools  -  FreeBASIC 0.18.5b 1.0
FreeBASIC is a  32-bit BASIC compiler, with syntax similar to MS-QuickBASIC, that adds new features such as pointers, unsigned data types, inline assembly, object orientation, and many others.Features: - A large number of variable types available...
Miscellaneous Communications Tools  -  Sony Ericsson PC Companion 2.02.015
PC Companion is a software that acts as a portal to Sony Ericsson and operator features and applications, such as phone software updates, online user service connections, and the Sony Ericsson support and user guides. More applications can be...
25.8 MB  
Business  -  Calcolo ControCodice INAIL 1.0
This useful application lets you check the code of control on the positions and the company codes of employers attributed by the Italian Welfare (is the code of two digits usually given in forms such as CC).
2.5 MB  
Text Management  -  Shell-like data processing 1.1
This module introduces an alternative syntax a-la shell pipes for sequence-oriented functions, such as filter, map, etc., via certain classes that override __ror__ method.
Education  -  TheLanguages
This app answers questions children ask about Language, Fine Arts and Music such as: What is language? Who first thought of the alphabet? How did English begin? When was the first book written? Who wrote the first English dictionary? Who wrote the...
1024 KB  
Code Management Tools  -  Synopsis 0.9
Synopsis is a multi-language source code introspection tool that provides a variety of representations for the parsed code to enable further processing such as documentation extraction, reverse engineering, and source-to-source translation. The...
2.7 MB  
Programming  -  lptools 1.03b
The lptools suite provides a complete, programming-language independent, literate programming environment. The suite targets XML documentation, but the underlying system has no bias that would disadvantage other documentation languages. Also...
92.16 KB  
Libraries  -  Locale::Object::Language 0.75
Locale::Object::Language Perl module contains language information objects. Locale::Object::Language allows you to create objects containing information about languages such as their ISO codes, the countries theyre used in and so on. SYNOPSIS...
47.1 KB  
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Code Management Tools  -  BitNami Review Board Stack 1.6.9-1 (linux)
Review Board is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the...
75.97 MB  
Code Management Tools  -  Common Text Transformation Library 2.08
Common Text Transformation Library, CTTL for short, is a set of C++ classes and functions to understand and modify text data. Common Text Transformation Library implementation is based on STL classes and algorithms. Concept of a substring plays...
163.84 KB  
Code Management Tools  -  GMP compiler 1.0.0
GMP compiler tool simplifies the use of GMP, the GNU multiple precision library. It scans a C source file for specially marked GMPS arithmetic expressions and replaces them with plain C. The abbreviation gmpc stands for GMP compiler, or...
276.48 KB  
Code Management Tools  -  phpCodeGenie 3.0.2
phpCodeGenie (PCG) is a code generator for database driven applications. PCG can generate entire working basic database driven applications for you. PCG can generate code from different databases. The database servers it can talk to via ADODB...
1.4 MB  
Code Management Tools  -  idioskopos 0.4.1
idioskopos (Greek: idio- inward, within, private; -skopos look, aim, target) is a C++ library that simplifies (hopefully) the addition of object reflection and introspection. There are numerous libraries that provide object introspection, but...
604.16 KB