generic programming techniques
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1839
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.
<<lessThe 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.
Download (1.2MB)
Added: 2005-09-27 License: Freely Distributable Price:
1487 downloads
AFNIX programming language 1.5.2
AFNIX is a multi-threaded functional programming language with dynamic symbol bindings that support the object oriented paradigm more>>
AFNIX is a multi-threaded functional programming language with dynamic symbol bindings that support the object oriented paradigm. AFNIX programming language features a state of the art runtime engine that supports both 32 and 64 bits platforms.
AFNIX is distributed with several clients and a rich set of libraries that are designed to be platform independent. For a short description, you can look at the contents or for a short introduction, you can look at the tutorial.
A flexible license has been designed for both individuals and corporations. Everybody is encouraged to use, distribute and/or modify the AFNIX engine for any purpose. You can register on our mailing list. We issue news once a month. Your email address is covered by our strict privacy policy.
AFNIX is a powerful engine associated with a rich set of libraries. The interpreter is written in C++. Its modular architecture makes the installation and maintenance an easy task.
AFNIX has a rich syntax which make the functional programming a pleasant activity. AFNIX is ready for use on various UNIX platforms. A rich documentation is also provided as a guide and reference material.
Enhancements:
- This is a minor release that fixes the build process with GCC 4.2.
<<lessAFNIX is distributed with several clients and a rich set of libraries that are designed to be platform independent. For a short description, you can look at the contents or for a short introduction, you can look at the tutorial.
A flexible license has been designed for both individuals and corporations. Everybody is encouraged to use, distribute and/or modify the AFNIX engine for any purpose. You can register on our mailing list. We issue news once a month. Your email address is covered by our strict privacy policy.
AFNIX is a powerful engine associated with a rich set of libraries. The interpreter is written in C++. Its modular architecture makes the installation and maintenance an easy task.
AFNIX has a rich syntax which make the functional programming a pleasant activity. AFNIX is ready for use on various UNIX platforms. A rich documentation is also provided as a guide and reference material.
Enhancements:
- This is a minor release that fixes the build process with GCC 4.2.
Download (1.5MB)
Added: 2007-06-08 License: BSD License Price:
881 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
Qore Programming Language 0.6.2
Qore is a modular, multi-threaded, SQL-integrated, weakly- typed scripting language. more>>
Qore is a modular, multi-threaded, SQL-integrated, weakly- typed scripting language with procedural and object-oriented features, powerful and easy-to-use data types, structures, and operators, and a clean and easy-to-learn/read syntax.
Qore Programming Language features Oracle and MySQL DBI drivers, optional TIBCO AE integration, and easy date arithmetic, is very scalable on SMP systems, and much more.
Enhancements:
- 3 new DBI drivers, PostgreSQL, Sybase, and FreeTDS ("pgsql", "sybase", "mssql")
- more support for database and driver-independent programming
- new DatasourcePool class for transparent Datasource connection pooling
- HTTPClient improvements (redirections, basic authentication, proxy support)
- safe signal handling
- complete deadlock detection and thread primitive error handling
- all thread locking primitives now take an optional timeout value
- call references (including object method references that will be executed in the context of the object referenced)
- mysql and oracle driver improvements
- extensive enhancements for exception-safe programming (on_exit, on_error, on_success statements, new classes, etc)
- significant performance improvements
- tibae module improvements
- many new functions and methods, bug fixes, extensive documentation updates, etc
<<lessQore Programming Language features Oracle and MySQL DBI drivers, optional TIBCO AE integration, and easy date arithmetic, is very scalable on SMP systems, and much more.
Enhancements:
- 3 new DBI drivers, PostgreSQL, Sybase, and FreeTDS ("pgsql", "sybase", "mssql")
- more support for database and driver-independent programming
- new DatasourcePool class for transparent Datasource connection pooling
- HTTPClient improvements (redirections, basic authentication, proxy support)
- safe signal handling
- complete deadlock detection and thread primitive error handling
- all thread locking primitives now take an optional timeout value
- call references (including object method references that will be executed in the context of the object referenced)
- mysql and oracle driver improvements
- extensive enhancements for exception-safe programming (on_exit, on_error, on_success statements, new classes, etc)
- significant performance improvements
- tibae module improvements
- many new functions and methods, bug fixes, extensive documentation updates, etc
Download (0.88MB)
Added: 2007-06-14 License: LGPL (GNU Lesser General Public License) Price:
863 downloads
The Blue Programming Language 1.1.1
The Blue Programming Language project is a unique bytecode-compiled language. more>>
The Blue Programming Language project is a unique bytecode-compiled language that implements the most effective capabilities of many popular programming languages in a clear and concise syntax. Plugin modules are easy to develop and can add functions, types, and even programming paradigms to the language without interfering with the syntax.
Blue is still early in its early development stage so very little optimization has been done, and its functionality grows every day. The following introduction is by no means a comprehensive description of blues capabilities.
Main features:
- Free (GPLd)
- A cross-platform programming language
- A dynamic language with a simple and consistant syntax
- Bytecode compiled
- Garbage collected
- Incredibly easy to expand with native functionality
Installation:
- Download the source
- Extract the archive. "tar -xvzf blue1.0.tar.gz"
- cd into the extracted directory. "cd blue"
- Execute make. "make"
- su to root. "su root"
- Execute make install 1. "make install"
- Execute make test. "make test"
Replace "make install" command with "make install INSTALL_DIR="/different/dir" to install to an alternate location.
Enhancements:
- This update contains a compiler bugfix, many more tests, and a function call optimization.
<<lessBlue is still early in its early development stage so very little optimization has been done, and its functionality grows every day. The following introduction is by no means a comprehensive description of blues capabilities.
Main features:
- Free (GPLd)
- A cross-platform programming language
- A dynamic language with a simple and consistant syntax
- Bytecode compiled
- Garbage collected
- Incredibly easy to expand with native functionality
Installation:
- Download the source
- Extract the archive. "tar -xvzf blue1.0.tar.gz"
- cd into the extracted directory. "cd blue"
- Execute make. "make"
- su to root. "su root"
- Execute make install 1. "make install"
- Execute make test. "make test"
Replace "make install" command with "make install INSTALL_DIR="/different/dir" to install to an alternate location.
Enhancements:
- This update contains a compiler bugfix, many more tests, and a function call optimization.
Download (0.12MB)
Added: 2007-07-22 License: GPL (GNU General Public License) Price:
826 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
PATH programming language 0.33
PATH programming language is a unique two-dimensional programming language. more>>
PATH is a very different programming language than what you are probably used to if youre an average programmer. If youve programmed in the language Brainf*ck, youll recognize the memory cell architecture. Also, Befunge programmers will recognize the two-dimensional way that PATH programs are laid out.
PATH programs are laid out on a two-dimensional grid. It follows a path of instructions on the program grid, turning 90 degrees when instructed to (hence the name). A character recognized by the interpreter is called an instruction symbol.
To show you what a PATH program actually looks like, heres a simple program that coincidentally spells out the word "PATH" in large ASCII art letters. (You may recognize it from the PATH program homepage, and its also included with the interpreter.) All it does is make the console beep. Ill explain it in detail later, once you know what all the instruction symbols do.
The interpreter starts at the first "$" symbol it finds and starts heading right. Every time it encounters a valid instruction symbol, it executes it. When it encounters certain special symbols, it may turn in another direction.
The interpreter keeps going until it reaches a "#" symbol. If it encounters a character that is not a valid instruction symbol, it ignores it and skips over it.
<<lessPATH programs are laid out on a two-dimensional grid. It follows a path of instructions on the program grid, turning 90 degrees when instructed to (hence the name). A character recognized by the interpreter is called an instruction symbol.
To show you what a PATH program actually looks like, heres a simple program that coincidentally spells out the word "PATH" in large ASCII art letters. (You may recognize it from the PATH program homepage, and its also included with the interpreter.) All it does is make the console beep. Ill explain it in detail later, once you know what all the instruction symbols do.
The interpreter starts at the first "$" symbol it finds and starts heading right. Every time it encounters a valid instruction symbol, it executes it. When it encounters certain special symbols, it may turn in another direction.
The interpreter keeps going until it reaches a "#" symbol. If it encounters a character that is not a valid instruction symbol, it ignores it and skips over it.
Download (0.010MB)
Added: 2005-04-15 License: MIT/X Consortium License Price:
1654 downloads
Super AJAX Programming Seed 1.0
Super AJAX Programming Seed is a little program that illustrates a simple implementation of AJAX technology. more>>
AJAX is all the rage these days, and for a good reason. With AJAX, you can create web applications with nearly the same functionality as your desktop programs. Super AJAX Programming Seed project is a tight script that illustrates a simple use of AJAX technology using PHP, HTML and JavaScript.
Main features:
- Super AJAX Programming Seed is easy to install. Just upload the files to your server and youre good to go.
- Super simple code makes it easy to start using AJAX in your own applications.
- Comes with a working exaple of AJAX so you can get started right away.
- Use Super AJAX Programming Seed as a starter for your own technology, or offer it as an example on your own web site of AJAX in action.
<<lessMain features:
- Super AJAX Programming Seed is easy to install. Just upload the files to your server and youre good to go.
- Super simple code makes it easy to start using AJAX in your own applications.
- Comes with a working exaple of AJAX so you can get started right away.
- Use Super AJAX Programming Seed as a starter for your own technology, or offer it as an example on your own web site of AJAX in action.
Download (0.004MB)
Added: 2006-02-27 License: Freeware Price:
1338 downloads
KDE Simple Programming Tutorial 1.2
KDE Simple Programming Tutorial is a tutorial for developing a KDE application. more>>
KDE Simple Programming Tutorial is a tutorial for developing a KDE application.
With the only requirement of a little C++ knowledge, and using the latest KDE snapshots, the reader will learn how to build his/her first KDE application from a simple "Hello world" button to a Web browser with a DCOP interface that communicates with a bookmark application running in a separate process.
Theres also a spanish and a romanian version of the documentation.
<<lessWith the only requirement of a little C++ knowledge, and using the latest KDE snapshots, the reader will learn how to build his/her first KDE application from a simple "Hello world" button to a Web browser with a DCOP interface that communicates with a bookmark application running in a separate process.
Theres also a spanish and a romanian version of the documentation.
Download (MB)
Added: 2006-10-04 License: GPL (GNU General Public License) Price:
1121 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
The Qu Programming Language 1.21.10
The Qu Programming Language is a full-featured object oriented programming language. more>>
Qu is a powerful full-featured object oriented programming language. It is an Open Source software. The Qu Programming Language is absolutely free (as in free lunch) and distributed under the GNU General Public License (GPL).
Qu is inspired by other languages. Most noticeably Perl, Python, Ruby and C. It mostly resembles Python except that the syntax is more flexible, the internals are simpler, and Qu allows you to use either indentation or non-indentation style.
Qu has a clean syntax designed to promote readability. There is no need for semi-colons and commas to separate items except in rare cases when the end of an expression is not obvious.
Qu is a procedural language. A program consist of statements and expressions evaluated in the order they appear.
Qu is a strong semi-dynamic (optional-static) typing language. Adding a number to a string will throw an exception. A variable can hold anything or you can attach a validator to it. Validators can be as simple as a class, a constant object (Array, Range, Struct, etc.) or even a validator function.
Arrays, dictionaries, and sets can be constrained to hold only a specific "type" of data as well.
Everything in Qu are objects, including numbers, strings, etc. The number 123, for example, is actually an instance of the builtin Int class. Classes are instances of the builtin Class class, etc. But this does not mean that you must write your programs in an object oriented manner. That is entirely up to you.
Documentation can be embedded in the source code. The compiler will skip them. The documentation builder will extract them. The builder is included as part of the standard distribution.
In fact, when you install Qu or Qu modules, the documentations are automatically built for you.
Qu is entirely written in C. Readable documentations are embedded in the C sources directly.
Writing C modules for Qu is as easy as it can get!
Main features:
- fast
- clean syntax
- strong semi-dynamic typing
- module management
- multithread
- deadlock detection
- label loops, break, continue, redo
- loop, while, for, atomic, do
- fast exceptions
- try, catch, else, finally
- nested function
- lexical closure
- accummulator
- generator
- coroutine
- type validator
- run once function
- full and safe eval
- buffered printing
- auto self
- private, public and static attributes
- read/write & read-only attributes
- class property and methods
- dynamic attribute access
- single inheritance with mixins
- multiple constructors
- super class attribute access
- finalizers
- multiple assignment
- variable and default arguments
- argument flattening
- uniform attribute access
- complex number
- big integer
- mark & sweep garbage collector
<<lessQu is inspired by other languages. Most noticeably Perl, Python, Ruby and C. It mostly resembles Python except that the syntax is more flexible, the internals are simpler, and Qu allows you to use either indentation or non-indentation style.
Qu has a clean syntax designed to promote readability. There is no need for semi-colons and commas to separate items except in rare cases when the end of an expression is not obvious.
Qu is a procedural language. A program consist of statements and expressions evaluated in the order they appear.
Qu is a strong semi-dynamic (optional-static) typing language. Adding a number to a string will throw an exception. A variable can hold anything or you can attach a validator to it. Validators can be as simple as a class, a constant object (Array, Range, Struct, etc.) or even a validator function.
Arrays, dictionaries, and sets can be constrained to hold only a specific "type" of data as well.
Everything in Qu are objects, including numbers, strings, etc. The number 123, for example, is actually an instance of the builtin Int class. Classes are instances of the builtin Class class, etc. But this does not mean that you must write your programs in an object oriented manner. That is entirely up to you.
Documentation can be embedded in the source code. The compiler will skip them. The documentation builder will extract them. The builder is included as part of the standard distribution.
In fact, when you install Qu or Qu modules, the documentations are automatically built for you.
Qu is entirely written in C. Readable documentations are embedded in the C sources directly.
Writing C modules for Qu is as easy as it can get!
Main features:
- fast
- clean syntax
- strong semi-dynamic typing
- module management
- multithread
- deadlock detection
- label loops, break, continue, redo
- loop, while, for, atomic, do
- fast exceptions
- try, catch, else, finally
- nested function
- lexical closure
- accummulator
- generator
- coroutine
- type validator
- run once function
- full and safe eval
- buffered printing
- auto self
- private, public and static attributes
- read/write & read-only attributes
- class property and methods
- dynamic attribute access
- single inheritance with mixins
- multiple constructors
- super class attribute access
- finalizers
- multiple assignment
- variable and default arguments
- argument flattening
- uniform attribute access
- complex number
- big integer
- mark & sweep garbage collector
Download (1.3MB)
Added: 2007-04-11 License: GPL (GNU General Public License) Price:
928 downloads
The Squirrel programming language 2.1.2
The Squirrel programming language is a light-weight scripting language. more>>
The Squirrel programming language is a high level imperative/OO programming language, designed to be a powerful scripting tool that fits in the size, memory bandwidth, and real-time requirements of applications like games. Although Squirrel offers a wide range of features like:
- Open Source zlib/libpng licence
- dynamic typing
- delegation
- higher order functions
- generators
- cooperative threads(coroutines)
- tail recursion
- exception handling
- automatic memory management (CPU bursts free; mixed approach ref counting/GC)
- both compiler and virtual machine fit together in about 6k lines of C++ code.
- optional 16bits characters strings
Squirrel is inspired by languages like Python,Javascript and expecially Lua(The API is very similar and the table code is based on the Lua one).
squirrels syntax is similar to C/C++/Java etc... but the language has a very dynamic nature like python/Lua etc...
local array=[1,2,3,{a=10,b="string"}];
foreach (i,val in array)
{
::print("the type of val is"+typeof val);
}
Entity<<less
- Open Source zlib/libpng licence
- dynamic typing
- delegation
- higher order functions
- generators
- cooperative threads(coroutines)
- tail recursion
- exception handling
- automatic memory management (CPU bursts free; mixed approach ref counting/GC)
- both compiler and virtual machine fit together in about 6k lines of C++ code.
- optional 16bits characters strings
Squirrel is inspired by languages like Python,Javascript and expecially Lua(The API is very similar and the table code is based on the Lua one).
squirrels syntax is similar to C/C++/Java etc... but the language has a very dynamic nature like python/Lua etc...
local array=[1,2,3,{a=10,b="string"}];
foreach (i,val in array)
{
::print("the type of val is"+typeof val);
}
Entity<<less
Download (0.38MB)
Added: 2007-07-29 License: zlib/libpng License Price:
821 downloads
GENeric Radio IP 1.0
GENRIP is a kernel driver (presently for Linux only) that enables you to carry ethernet frames. more>>
GENRIP is a kernel driver (presently for Linux only) that enables you to carry ethernet frames over generic low-speed/low-power serial radios, such as Microhards MHX series radios. It is intended to speed up the development cycle for those creating low-powered Embedded telemetry and SCADA devices, but may have other applications as well. Once installed, the serial radio simply appears as a network interface like this:
[root@lindev]# ./ifconfig gr0
gr0 Link encap:Generic Radio IP HWaddr 00:00:02:04:06:08
inet addr:192.168.15.1 Mask:255.255.255.0
UP RUNNING MTU:234 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:30
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
GENRIP was originally based upon Stuart Cheshires STRIP driver, which is part of the Mobile Computing Group at Stanford Universitys Mosquitonet project. It has been radically modified since.
GENRIP was ported to this application by Lawrence Wimble of Design On Demand, Inc. Design On Demand, Inc. maintains GENRIP and hopes that youll call them if you need help with an embedded project using GENRIP (or any embedded project for that matter).
GENRIP is released for Linux under the GPL. A port to FreeBSD is planned in the near future.
<<less[root@lindev]# ./ifconfig gr0
gr0 Link encap:Generic Radio IP HWaddr 00:00:02:04:06:08
inet addr:192.168.15.1 Mask:255.255.255.0
UP RUNNING MTU:234 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:30
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
GENRIP was originally based upon Stuart Cheshires STRIP driver, which is part of the Mobile Computing Group at Stanford Universitys Mosquitonet project. It has been radically modified since.
GENRIP was ported to this application by Lawrence Wimble of Design On Demand, Inc. Design On Demand, Inc. maintains GENRIP and hopes that youll call them if you need help with an embedded project using GENRIP (or any embedded project for that matter).
GENRIP is released for Linux under the GPL. A port to FreeBSD is planned in the near future.
Download (0.024MB)
Added: 2006-07-04 License: GPL (GNU General Public License) Price:
1210 downloads
Generic Protocol Framework 1.0 RC1
Generic Protocol Framework aims to allow users to rapidly prototype different emerging communications protocols. more>>
Generic Protocol Framework aims to allow users to rapidly prototype different emerging communications protocols. Implementations can be easily "dropped in" and tested independant of a finished product. Testing on both the end product, and the protocol itself can be easily accomplished. The tool aims to provide the developer and end user with a robust solution which can track the size of messages, how rapidly they will be generated, and how many of each type can be seen.
Why the GPF:
There are many similar tools available. The problem with many of these tools is that they are 1) closed source, 2) not easily adaptable to a specific implementation (they use custom languages), 3) expensive. The advantages of the GPF are its open source nature, the ease of which it can be adapted, and the cost: free!
Basic Flow:
Modification of the GPF is fairly simple. Tool-opts.h contains the basic options that will be applied to the packet while it is being built. To transmit a packet, the system calls the tx_message() function, and passes the message ID as well as the option block. This is then passed to the custom function: tx_message_custom() in tx.c. From the message id, the system selects an appropriate tx_* function (to be implemented by the user) and passes an unsigned char **, where the buffer will be written, and the option block. In turn, that function will make heavy use of the add_buf_tu*() functions, which will allow the user to add a tubyte8, tuint16, or tuint32 number to the buffer.
In daemonize mode, the basic options are set, and the system then listens for incomming packets. When a packet arrives, the system calls basic_parse() on the packet. This function then calls basic_parse_custom(), found in parse.c. In turn, this can call any appropriate parsing helpers, including the get_tu*() functions, which allow the user to retrieve a tubyte8, tuint16, or tuint32 from the buffer. CAVEAT: if the first two bytes of the buffer are zerod, it will be treated as an END message. However, recovery is available. In the basic_parse_custom() message, you can set the end_signal_caught variable of the option_block to 0. In this case, it will not stop the daemon from running.
Enhancements:
- Currently, TCP support is somewhat experimental.
- Testing for that portion will be ongoing.
- No clear examples are provided.
- The examples/ directory contains the precursors to a MIP example.
<<lessWhy the GPF:
There are many similar tools available. The problem with many of these tools is that they are 1) closed source, 2) not easily adaptable to a specific implementation (they use custom languages), 3) expensive. The advantages of the GPF are its open source nature, the ease of which it can be adapted, and the cost: free!
Basic Flow:
Modification of the GPF is fairly simple. Tool-opts.h contains the basic options that will be applied to the packet while it is being built. To transmit a packet, the system calls the tx_message() function, and passes the message ID as well as the option block. This is then passed to the custom function: tx_message_custom() in tx.c. From the message id, the system selects an appropriate tx_* function (to be implemented by the user) and passes an unsigned char **, where the buffer will be written, and the option block. In turn, that function will make heavy use of the add_buf_tu*() functions, which will allow the user to add a tubyte8, tuint16, or tuint32 number to the buffer.
In daemonize mode, the basic options are set, and the system then listens for incomming packets. When a packet arrives, the system calls basic_parse() on the packet. This function then calls basic_parse_custom(), found in parse.c. In turn, this can call any appropriate parsing helpers, including the get_tu*() functions, which allow the user to retrieve a tubyte8, tuint16, or tuint32 from the buffer. CAVEAT: if the first two bytes of the buffer are zerod, it will be treated as an END message. However, recovery is available. In the basic_parse_custom() message, you can set the end_signal_caught variable of the option_block to 0. In this case, it will not stop the daemon from running.
Enhancements:
- Currently, TCP support is somewhat experimental.
- Testing for that portion will be ongoing.
- No clear examples are provided.
- The examples/ directory contains the precursors to a MIP example.
Download (0.009MB)
Added: 2006-12-07 License: Freely Distributable Price:
1054 downloads
Generic Test Processor 0.79.9d
Generic Test Processor is a processor for a generic test procedure language. more>>
Generic test processor is a language and processor for a language aiming to automatically apply or generate test source code in another language.
It is taken from a library of tests and data conversion operations.
These so generated instances shall be capable of inspecting a system by gathering data and screening this data to meet certain criteria, in other words to have certain attributes.
Enhancements:
- Fixed a bug in results reporting.
<<lessIt is taken from a library of tests and data conversion operations.
These so generated instances shall be capable of inspecting a system by gathering data and screening this data to meet certain criteria, in other words to have certain attributes.
Enhancements:
- Fixed a bug in results reporting.
Download (0.081MB)
Added: 2005-04-14 License: GPL (GNU General Public License) Price:
1654 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 generic programming techniques 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