ansi c
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 352
hash.c 2
hash.c is a C hash table with quadratic probing. more>>
hash.c is a C hash table with quadratic probing. hash.c is very small and easy to use.
Compile: gcc -c hash.c
This hashtable uses C-strings for keys and quadratic probing instead of linked-list chains. It depends only on ANSI C and so should work anywhere.
API
hash * hash_new ( unsigned int size ) Create new hashtable.
void hash_destroy ( hash *h ) Free hashtable.
int hash_add ( hash *h , const char *key , void *value ) Add key/value pair.
void * hash_get ( hash *h , const char *key ) Return value matching given key.
void * hash_remove ( hash *h , const char *key ) Remove key from table, returing value.
unsigned int hash_size ( hash *h ) Returns total number of keys.
Enhancements:
- This release uses exponentiation instead of xor in hashing.
- It adds a hash_destroy function.
<<lessCompile: gcc -c hash.c
This hashtable uses C-strings for keys and quadratic probing instead of linked-list chains. It depends only on ANSI C and so should work anywhere.
API
hash * hash_new ( unsigned int size ) Create new hashtable.
void hash_destroy ( hash *h ) Free hashtable.
int hash_add ( hash *h , const char *key , void *value ) Add key/value pair.
void * hash_get ( hash *h , const char *key ) Return value matching given key.
void * hash_remove ( hash *h , const char *key ) Remove key from table, returing value.
unsigned int hash_size ( hash *h ) Returns total number of keys.
Enhancements:
- This release uses exponentiation instead of xor in hashing.
- It adds a hash_destroy function.
Download (0.004MB)
Added: 2006-09-22 License: BSD License Price:
1188 downloads
CANFestival GUI 0.2
CANFestival GUI project is an implementation of the CANopen protocol. more>>
CANFestival GUI project is an implementation of the CANopen protocol.
CANopen SlaveLib is an implementation of the CANopen protocol for CAN bus devices.
It makes it very easy to create CANopen slave devices under Linux and on Microchips PIC microcontrollers.
Main features:
- Opensource and therefore available for everyone
- Standard-compliant
- Highly portable
- Programmed in ANSI-C (especially because of the portability)
<<lessCANopen SlaveLib is an implementation of the CANopen protocol for CAN bus devices.
It makes it very easy to create CANopen slave devices under Linux and on Microchips PIC microcontrollers.
Main features:
- Opensource and therefore available for everyone
- Standard-compliant
- Highly portable
- Programmed in ANSI-C (especially because of the portability)
Download (0.43MB)
Added: 2006-10-19 License: LGPL (GNU Lesser General Public License) Price:
1112 downloads
AspeCt-oriented C 0.7
AspeCt-oriented C implements an aspect-oriented extension to C. more>>
AspeCt-oriented C project implements an aspect-oriented extension to C and offers one possible language design for an aspect-oriented C language.
Main features:
- an aspect-oriented extension to C, aspect-oriented software development for C, and an ACC language design option
- full ANSI-C compliance and gcc source-compatibility;
- compiler and generated code portability;
- seamless Linux, Solaris and Windows support;
- simple integration in existing builds and code transparency through source-to-source transformations;
- an open source license and compiler.
AspeCt-oriented C enables:
- modularization of crosscutting concerns for C-based software;
- research on concern separation tailored to C and imperative programming;
- research on aspect-orientation on C-based systems;
- development of highly customizable and easily configurable software in C;
- development of feature-rich software product lines in C.
Enhancements:
- set()/get() join point and pointcut support was added for global variables, and compiler options were added for manipulating join points.
<<lessMain features:
- an aspect-oriented extension to C, aspect-oriented software development for C, and an ACC language design option
- full ANSI-C compliance and gcc source-compatibility;
- compiler and generated code portability;
- seamless Linux, Solaris and Windows support;
- simple integration in existing builds and code transparency through source-to-source transformations;
- an open source license and compiler.
AspeCt-oriented C enables:
- modularization of crosscutting concerns for C-based software;
- research on concern separation tailored to C and imperative programming;
- research on aspect-orientation on C-based systems;
- development of highly customizable and easily configurable software in C;
- development of feature-rich software product lines in C.
Enhancements:
- set()/get() join point and pointcut support was added for global variables, and compiler options were added for manipulating join points.
Download (19.7MB)
Added: 2007-08-07 License: GPL (GNU General Public License) Price:
810 downloads
tarix 1.0.2
tarix is a simple indexer for GNU and POSIX tar files. more>>
tarix is a simple indexer for POSIX and GNU tar files. The indexes allow fast extraction of files in the archive, especially on seekable tape devices.
The index format is simple enough to be used from a rescue disk with only mt, dd, and tar (though grep and sed would be very useful there).
Tarix is a fairly simple program and should work on any system with an ANSI C compiler that suports GNU-ish 64-bit integers ([unsigned] long long, strtoull). If you are not compiling on a known supported platform, you will probably have to modify src/portability.h to get correct defines for 64-bit file operations correct, and src/portability.c to get correct implementations of the magnetic tape setblk/seek/tell operations. If this is not sufficient, please report it as a bug!
To compile tarix, simply type make (or gmake if your make program is not GNU make) from the base directory of the source distribution. Running make install will install tarix to /usr/local by default, but this can be changed by editing the variables at the top of the Makefile.
Tarix requires the zlib headers and library.
Known Supported Platforms:
- Linux
- FreeBSD
Enhancements:
- This release has portability fixes, and an important fix for a data corruption bug that would lead to portions of a compressed archive being unusable.
<<lessThe index format is simple enough to be used from a rescue disk with only mt, dd, and tar (though grep and sed would be very useful there).
Tarix is a fairly simple program and should work on any system with an ANSI C compiler that suports GNU-ish 64-bit integers ([unsigned] long long, strtoull). If you are not compiling on a known supported platform, you will probably have to modify src/portability.h to get correct defines for 64-bit file operations correct, and src/portability.c to get correct implementations of the magnetic tape setblk/seek/tell operations. If this is not sufficient, please report it as a bug!
To compile tarix, simply type make (or gmake if your make program is not GNU make) from the base directory of the source distribution. Running make install will install tarix to /usr/local by default, but this can be changed by editing the variables at the top of the Makefile.
Tarix requires the zlib headers and library.
Known Supported Platforms:
- Linux
- FreeBSD
Enhancements:
- This release has portability fixes, and an important fix for a data corruption bug that would lead to portions of a compressed archive being unusable.
Download (0.023MB)
Added: 2006-05-04 License: GPL (GNU General Public License) Price:
1270 downloads
DParser 1.15
DParser is an simple but powerful tool for parsing. more>>
DParser project is an simple but powerful tool for parsing. You can specify the form of the text to be parsed using a combination of regular expressions and grammar productions.
Because of the parsing technique (technically a scannerless GLR parser based on the Tomita algorithm) there are no restrictions.
The grammar can be ambiguous, right or left recursive, have any number of null productions, and because there is no seperate tokenizer, can include whitespace in terminals and have terminals which are prefixes of other terminals.
DParser handles not just well formed computer languages and data files, but just about any wacky situation that occurs in the real world.
Main features:
- Powerful GLR parsing
- Simple EBNF-style grammars and regular expression terminals
- Priorities and associativities for token and rules
- Built-in error recovery
- Speculative actions (for semantic disambiguation)
- Auto-building of parse tree (optionally)
- Final actions as you go, or on the complete parse tree
- Tree walkers and default actions (multi-pass compilation support)
- Symbol table built for ambiguous parsing
- Partial parses, recursive parsing, parsing starting with any non-terminal
- Whitespace can be specified as a subgrammar
- External (C call interface) tokenizers and external terminal scanners
- Good asymptotically efficiency
- Comes with ANSI-C, Python and Verilog grammars
- Comes with full source
- Portable C for easy compilation and linking
- BSD licence, so you can included it in your application without worrying about licensing
Enhancements:
- Removed call to exec in python interface (Brian Sabbey)
- Fix binary_op_left in python interface (Brian Sabbey)
<<lessBecause of the parsing technique (technically a scannerless GLR parser based on the Tomita algorithm) there are no restrictions.
The grammar can be ambiguous, right or left recursive, have any number of null productions, and because there is no seperate tokenizer, can include whitespace in terminals and have terminals which are prefixes of other terminals.
DParser handles not just well formed computer languages and data files, but just about any wacky situation that occurs in the real world.
Main features:
- Powerful GLR parsing
- Simple EBNF-style grammars and regular expression terminals
- Priorities and associativities for token and rules
- Built-in error recovery
- Speculative actions (for semantic disambiguation)
- Auto-building of parse tree (optionally)
- Final actions as you go, or on the complete parse tree
- Tree walkers and default actions (multi-pass compilation support)
- Symbol table built for ambiguous parsing
- Partial parses, recursive parsing, parsing starting with any non-terminal
- Whitespace can be specified as a subgrammar
- External (C call interface) tokenizers and external terminal scanners
- Good asymptotically efficiency
- Comes with ANSI-C, Python and Verilog grammars
- Comes with full source
- Portable C for easy compilation and linking
- BSD licence, so you can included it in your application without worrying about licensing
Enhancements:
- Removed call to exec in python interface (Brian Sabbey)
- Fix binary_op_left in python interface (Brian Sabbey)
Download (0.26MB)
Added: 2006-10-18 License: BSD License Price:
1103 downloads
LeoIni 2.1.4
LeoIni is a class that supports easy reading and writing of ini files like they are used by Windows, KDE and GNOME. more>>
LeoIni is a class that supports easy reading and writing of ini files like they are used by Windows, KDE and GNOME.
This class using only standard libraries. So they are very portable.
The class is full ansi C++ compatible.
Installation:
The simplest way to compile this package is:
1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type `sh ./configure instead to prevent `csh from trying to execute `configure itself.
Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.
2. Type `make to compile the package.
3. Optionally, type `make check to run any self-tests that come with the package.
4. Type `make install to install the programs and any data files and documentation.
5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean. There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.
<<lessThis class using only standard libraries. So they are very portable.
The class is full ansi C++ compatible.
Installation:
The simplest way to compile this package is:
1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type `sh ./configure instead to prevent `csh from trying to execute `configure itself.
Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.
2. Type `make to compile the package.
3. Optionally, type `make check to run any self-tests that come with the package.
4. Type `make install to install the programs and any data files and documentation.
5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean. There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.
Download (0.24MB)
Added: 2006-03-31 License: GPL (GNU General Public License) Price:
740 downloads
nobel 0.2
nobel is a small ANSI C boolean expression parsing library. more>>
nobel is a small ANSI C boolean expression parsing library and program for projects that need boolean expression parsing support built in, but bigger tools are overkill in size or options.
<<less Download (0.013MB)
Added: 2005-10-14 License: GPL (GNU General Public License) Price:
1471 downloads
WaveTools 1.0
WaveTools is a library consisting of 8 programs for manipulating mono WAV Files. more>>
WaveTools is a library consisting of 8 programs for manipulating mono WAV Files which I have written for an audiology project at the Technical University of Vienna some years ago as a toolbox for generating and preprocessing small test samples, so this is probably not for making music with (unless youre doing some real hardcore Techno), but if you want to write your own effect filters or sound analysis tools and dont want to mess around with format conversions or standard input filters, or if you just want to arrange some WAVs for your voice modem, you might find this useful.
WaveTools have been developed under Linux/gcc, but should compile on any platform which has an ANSI C compiler (except wview, of course).
Enhancements:
- Dropped binary DOS support (due to lack of DOS compiler; you can still try to build your own DOS binaries if you have a sufficiently old watcom compiler available.)
- fixed bug in wcat.c when converting to lower sample rates
- Dokumentation is now in PDF Format (still German only, though)
- If you have trouble compiling, try deleting the wview entry from the exec: tag in the Makefile. Unless youre into computer archeology, svgalib should be really obsolete by now.
<<lessWaveTools have been developed under Linux/gcc, but should compile on any platform which has an ANSI C compiler (except wview, of course).
Enhancements:
- Dropped binary DOS support (due to lack of DOS compiler; you can still try to build your own DOS binaries if you have a sufficiently old watcom compiler available.)
- fixed bug in wcat.c when converting to lower sample rates
- Dokumentation is now in PDF Format (still German only, though)
- If you have trouble compiling, try deleting the wview entry from the exec: tag in the Makefile. Unless youre into computer archeology, svgalib should be really obsolete by now.
Download (0.053MB)
Added: 2006-07-18 License: GPL (GNU General Public License) Price:
1599 downloads
OpenSC 0.11.3
OpenSC consists of tools and libraries and a PKCS#11 module to use smart cards and initialize blank smart cards. more>>
OpenSC consists of tools and libraries and a PKCS#11 module to use smart cards and initialize blank smart cards.
OpenSC project supports many commercial smart cards with filesystems, many national ID cards (read only), and some Java Card cards with specific Java Card applets. OpenSC implements the PKCS#15 standard.
Cards initialized with OpenSC can be used (read-only) with other software implementing PKCS#15 standard and vice versa.
National ID Cards
Finnish ID Card FINEID
Swedish Posten eID
Estonian ID Card EstEID
Italian Infocamere
Italian Postecert
Belgian eID
Spanish Ceres
German ID Cards, eHBA, eGK
Taiwan
Smart Cards
Schlumberger/Axalto Cryptoflex
Schlumberger/Axalto Cyberflex
Gemplus GPK
EMV
Siemens CardOS M4
IBM JCOP
Micardo
Oberthur
OpenPGP
Setec Setcos
Giesecke & Devrient Starcos
TCOS based cards (NetKey E4, SignTrust, Smartkey)
USB Tokens
Aladdin eToken Pro
Eutron CryptoIdendity IT-SEC
Schlumberger/Axalto e-gate
Rainbow iKey 3000
Enhancements:
- The wiki export script was updated.
- The configure script now looks for ncurses and termcap.
- Lots of internal functions and variables were made static.
- 0 vs NULL issues were fixed in many places.
- ANSI C style (void) was fixed.
- Variable names used also as glibc functions (such as random) were fixed.
- New code was provided for deleting objects.
- A special hack was added for Firefox.
- Support for Athena APCOS cards was added.
- The piv driver now supports bigger RSA keys too.
<<lessOpenSC project supports many commercial smart cards with filesystems, many national ID cards (read only), and some Java Card cards with specific Java Card applets. OpenSC implements the PKCS#15 standard.
Cards initialized with OpenSC can be used (read-only) with other software implementing PKCS#15 standard and vice versa.
National ID Cards
Finnish ID Card FINEID
Swedish Posten eID
Estonian ID Card EstEID
Italian Infocamere
Italian Postecert
Belgian eID
Spanish Ceres
German ID Cards, eHBA, eGK
Taiwan
Smart Cards
Schlumberger/Axalto Cryptoflex
Schlumberger/Axalto Cyberflex
Gemplus GPK
EMV
Siemens CardOS M4
IBM JCOP
Micardo
Oberthur
OpenPGP
Setec Setcos
Giesecke & Devrient Starcos
TCOS based cards (NetKey E4, SignTrust, Smartkey)
USB Tokens
Aladdin eToken Pro
Eutron CryptoIdendity IT-SEC
Schlumberger/Axalto e-gate
Rainbow iKey 3000
Enhancements:
- The wiki export script was updated.
- The configure script now looks for ncurses and termcap.
- Lots of internal functions and variables were made static.
- 0 vs NULL issues were fixed in many places.
- ANSI C style (void) was fixed.
- Variable names used also as glibc functions (such as random) were fixed.
- New code was provided for deleting objects.
- A special hack was added for Firefox.
- Support for Athena APCOS cards was added.
- The piv driver now supports bigger RSA keys too.
Download (1.2MB)
Added: 2007-07-17 License: LGPL (GNU Lesser General Public License) Price:
851 downloads
getAbsPath 1.4
getAbsPath is a C header (getAbsPath.h) or an ANSI C tool (getAbsPath) which converts relative unix/win32 pathes to absolute one more>>
getAbsPath is a C header (getAbsPath.h) or an ANSI C tool (getAbsPath) which converts relative unix/win32 pathes to absolute ones.
getAbsPath uses current working directory (CWD) as basis. Use it e.g. for finding out the current path of a shell script.
EXAMPLE:
find out the current path of a script, using the $0 and the ` pwd` command
#!/bin/bash
PWD=`pwd`
RelPath="../../../testdir"
GAP=`./getAbsPath $PWD $0`
echo $GAP
exit 0
<<lessgetAbsPath uses current working directory (CWD) as basis. Use it e.g. for finding out the current path of a shell script.
EXAMPLE:
find out the current path of a script, using the $0 and the ` pwd` command
#!/bin/bash
PWD=`pwd`
RelPath="../../../testdir"
GAP=`./getAbsPath $PWD $0`
echo $GAP
exit 0
Download (0.009MB)
Added: 2006-03-31 License: Public Domain Price:
1304 downloads
GNU libxmi 1.2
GNU libxmi is a C/C++ function library for rasterizing 2-D vector graphics. more>>
GNU libxmi is a C/C++ function library for rasterizing 2-D vector graphics. GNU libxmi can draw 2-D graphical primitives, including wide polygonal lines and circular and elliptical arcs, into a user-supplied matrix of pixels. Sophisticated line styles, such as multicolored dashing patterns, can be specified. There is also support for filling and texturing polygons.
The current version of the libxmi package is version 1.2, released in June 2000. It can be installed on GNU/Linux, FreeBSD, and Unix systems. Since libxmi is written in ANSI C, it should be easy to compile and install on almost any system with a C compiler.
What is libxmi good for?
It can be used as a drop-in rendering module in any application that needs to scan-convert 2-D vector graphics. It is highly customizable. For example, the `pixel datatype can be redefined at compile time. The algorithm used for compositing pixels can be redefined too. By default, libxmi uses the Painters Algorithm (a new pixel value replaces an old one). But it would be trivial to install it so that it uses alpha compositing instead. The package, and its header file xmi.h, include full documentation.
<<lessThe current version of the libxmi package is version 1.2, released in June 2000. It can be installed on GNU/Linux, FreeBSD, and Unix systems. Since libxmi is written in ANSI C, it should be easy to compile and install on almost any system with a C compiler.
What is libxmi good for?
It can be used as a drop-in rendering module in any application that needs to scan-convert 2-D vector graphics. It is highly customizable. For example, the `pixel datatype can be redefined at compile time. The algorithm used for compositing pixels can be redefined too. By default, libxmi uses the Painters Algorithm (a new pixel value replaces an old one). But it would be trivial to install it so that it uses alpha compositing instead. The package, and its header file xmi.h, include full documentation.
Download (0.30MB)
Added: 2006-03-31 License: GPL (GNU General Public License) Price:
1304 downloads
Amanith Framework 0.3
Amanith Framework is a Crossplatform & Opensource C++ Vector Graphic Framework. more>>
Amanith Framework is a Crossplatform & Opensource C++ Vector Graphic Framework.
Amanith gives to developers a complete and reliable set of classes to work with geometric elements (lines, curves, paths, meshes, and so on); it provides many powerful modelling operators (like cut, join, flatten and so on) and, at the same time, the fastest rendering layer totally built on top of OpenGL.
Some other useful classes included in Amanith complete the framework with: fonts and pixelmaps support, hierarchycal animations, fast and robust tesselation, bitmap to vector tracing, mathematics and calculus functions, matrices, distance and intersection queries.
Main features:
Open Sourced!
- Open source has made Amanith possible, so we wanna Amanith to be open source too.
- This mean that Amanith source code is fully available for everyone.
Cross Platform
- Same source tree can be compiled without modifications under multiple targets.
- Linux, Win32, Mac, FreeBSD, NetBSD, OpenBSD, Solaris, IRIX, AIX are only few of them.
Modular
- All the framework is heavily based on a light plug-in system.
- This make fast and easy to include or esclude everything you want.
Standards adherence
- The Amanith philosophy is to support many open standards as possible.
- Png, Jpeg, Svg, Xml, OpenGl, Ansi c++, and many others.
<<lessAmanith gives to developers a complete and reliable set of classes to work with geometric elements (lines, curves, paths, meshes, and so on); it provides many powerful modelling operators (like cut, join, flatten and so on) and, at the same time, the fastest rendering layer totally built on top of OpenGL.
Some other useful classes included in Amanith complete the framework with: fonts and pixelmaps support, hierarchycal animations, fast and robust tesselation, bitmap to vector tracing, mathematics and calculus functions, matrices, distance and intersection queries.
Main features:
Open Sourced!
- Open source has made Amanith possible, so we wanna Amanith to be open source too.
- This mean that Amanith source code is fully available for everyone.
Cross Platform
- Same source tree can be compiled without modifications under multiple targets.
- Linux, Win32, Mac, FreeBSD, NetBSD, OpenBSD, Solaris, IRIX, AIX are only few of them.
Modular
- All the framework is heavily based on a light plug-in system.
- This make fast and easy to include or esclude everything you want.
Standards adherence
- The Amanith philosophy is to support many open standards as possible.
- Png, Jpeg, Svg, Xml, OpenGl, Ansi c++, and many others.
Download (7.5MB)
Added: 2006-01-30 License: GPL (GNU General Public License) Price:
782 downloads
hamsterdb 0.4.5
hamsterdb is a database engine written in ANSI C. more>>
hamsterdb is a database engine written in ANSI C. hamsterdb supports a B+Tree index structure, uses memory mapped I/O (if available), and can create in-memory databases.
Main features:
- B+Tree index with variable length keys
- Configurable page size and cache size
- ANSI-C implementation, should be portable on all platforms, also embedded
- Uses memory mapped I/O for fast disk access (but falls back to read/write if mmap is not available)
- Uses 64bit file pointers
- Endian-independent (not tested, though)
- Support for in-memory-databases
Enhancements:
- This release implements "record number" databases; these databases behave like "auto-increment" tables in SQL.
- The keys of new records are automatically assigned and incremented with each insert.
- Also, a few minor bugs were fixed, and some optimizations took place; the generated database files are much smaller now.
<<lessMain features:
- B+Tree index with variable length keys
- Configurable page size and cache size
- ANSI-C implementation, should be portable on all platforms, also embedded
- Uses memory mapped I/O for fast disk access (but falls back to read/write if mmap is not available)
- Uses 64bit file pointers
- Endian-independent (not tested, though)
- Support for in-memory-databases
Enhancements:
- This release implements "record number" databases; these databases behave like "auto-increment" tables in SQL.
- The keys of new records are automatically assigned and incremented with each insert.
- Also, a few minor bugs were fixed, and some optimizations took place; the generated database files are much smaller now.
Download (0.46MB)
Added: 2007-08-10 License: GPL (GNU General Public License) Price:
808 downloads
Agar 1.2
The Agar project produces a portable and window system independent graphics toolkit for SDL and OpenGL. more>>
Agar project produces a portable and window system independent graphics toolkit for SDL and OpenGL.
In addition to a fully functional GUI toolkit, a set of higher-level graphics related libraries are also included in Agar. For a complete listing, see the Agar libraries page.
Agar is free software. The Agar source code is freely usable and re-usable by everyone under the BSD license.
Agar is written in ANSI C and is portable to all the platforms supported by the SDL library. The library and its related projects has been in active development since 2001. The project is sponsored by csoft.net hosting.
<<lessIn addition to a fully functional GUI toolkit, a set of higher-level graphics related libraries are also included in Agar. For a complete listing, see the Agar libraries page.
Agar is free software. The Agar source code is freely usable and re-usable by everyone under the BSD license.
Agar is written in ANSI C and is portable to all the platforms supported by the SDL library. The library and its related projects has been in active development since 2001. The project is sponsored by csoft.net hosting.
Download (1.0MB)
Added: 2007-03-23 License: BSD License Price:
948 downloads
XFA 0.17
XFA library implements an API that can be used to create NFA. more>>
XFA library implements an API that can be used to create NFA (either programmatically or from regular expressions) and to convert them in the minimal equivalent DFA.
XFA library requires an ANSI C compiler, and this makes it portable virtually over every system.
The complexity of the graphs that are treatable with XFA is only limited by the amount of memory available on the machine.
SYNOPSIS:
#include < xfa.h >
xfa_trans_t *xfa_alloc_trans(xfa_system_t *sys, unsigned long const *map, unsigned long flags, xfa_state_t *from, xfa_state_t *to );
void xfa_free_trans(xfa_system_t *sys, xfa_trans_t *trn);
xfa_state_t *xfa_alloc_state(xfa_system_t *sys, int phsize);
void xfa_free_state(xfa_system_t *sys, xfa_state_t *stt, int recurse);
void xfa_free_attr(xfa_system_t *sys, xfa_attr_t *attr);
int xfa_do_once(xfa_system_t *sys, xfa_state_t *stt, int (*dproc) (void *, xfa_system_t *, xfa_state_t *), void *priv);
xfa_state_t *xfa_nfa2dfa(xfa_system_t *sys, xfa_state_t *stt);
int xfa_label_states(xfa_system_t *sys, xfa_state_t *stt, unsigned long *label);
int xfa_dfa_minimize(xfa_system_t *sys, xfa_state_t *stt);
int xfa_re2nfa(xfa_system_t *sys, xfa_state_t **csts, xfa_state_t **cste, unsigned char const **ptr);
<<lessXFA library requires an ANSI C compiler, and this makes it portable virtually over every system.
The complexity of the graphs that are treatable with XFA is only limited by the amount of memory available on the machine.
SYNOPSIS:
#include < xfa.h >
xfa_trans_t *xfa_alloc_trans(xfa_system_t *sys, unsigned long const *map, unsigned long flags, xfa_state_t *from, xfa_state_t *to );
void xfa_free_trans(xfa_system_t *sys, xfa_trans_t *trn);
xfa_state_t *xfa_alloc_state(xfa_system_t *sys, int phsize);
void xfa_free_state(xfa_system_t *sys, xfa_state_t *stt, int recurse);
void xfa_free_attr(xfa_system_t *sys, xfa_attr_t *attr);
int xfa_do_once(xfa_system_t *sys, xfa_state_t *stt, int (*dproc) (void *, xfa_system_t *, xfa_state_t *), void *priv);
xfa_state_t *xfa_nfa2dfa(xfa_system_t *sys, xfa_state_t *stt);
int xfa_label_states(xfa_system_t *sys, xfa_state_t *stt, unsigned long *label);
int xfa_dfa_minimize(xfa_system_t *sys, xfa_state_t *stt);
int xfa_re2nfa(xfa_system_t *sys, xfa_state_t **csts, xfa_state_t **cste, unsigned char const **ptr);
Download (0.33MB)
Added: 2006-01-27 License: LGPL (GNU Lesser General Public License) Price:
1368 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 ansi c 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