recursive
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 176
File::Copy::Recursive 0.31
File::Copy::Recursive is a Perl extension for recursively copying files and directories. more>>
File::Copy::Recursive is a Perl extension for recursively copying files and directories.
SYNOPSIS
use File::Copy::Recursive qw(fcopy rcopy dircopy fmove rmove dirmove);
fcopy($orig,$new[,$buf]) or die $!;
rcopy($orig,$new[,$buf]) or die $!;
dircopy($orig,$new[,$buf]) or die $!;
fmove($orig,$new[,$buf]) or die $!;
rmove($orig,$new[,$buf]) or die $!;
dirmove($orig,$new[,$buf]) or die $!;
This module copies and moves directories recursively (or single files, well... singley) to an optional depth and attempts to preserve each file or directorys mode.
<<lessSYNOPSIS
use File::Copy::Recursive qw(fcopy rcopy dircopy fmove rmove dirmove);
fcopy($orig,$new[,$buf]) or die $!;
rcopy($orig,$new[,$buf]) or die $!;
dircopy($orig,$new[,$buf]) or die $!;
fmove($orig,$new[,$buf]) or die $!;
rmove($orig,$new[,$buf]) or die $!;
dirmove($orig,$new[,$buf]) or die $!;
This module copies and moves directories recursively (or single files, well... singley) to an optional depth and attempts to preserve each file or directorys mode.
Download (0.010MB)
Added: 2007-04-26 License: Perl Artistic License Price:
913 downloads
Module::Recursive::Require 0.04
Module::Recursive::Require is a Perl class that requires module recursively. more>>
Module::Recursive::Require is a Perl class that requires module recursive.
# ************************************** before
use MyApp::Foo;
use MyApp::Foo::CGI;
use MyApp::Foo::Mail;
use MyApp::Foo::Mail::Send;
# use use use use use !!
use MyApp::Foo::Hoge::Orz;
# ************************************** after
use Module::Recursive::Require;
use MyApp::Foo;
my @required_packages
= Module::Recursive::Require->new()->require_by(MyApp::Foo);
SYNOPSIS
use Module::Recursive::Require;
my $r = Module::Recursive::Require->new();
$r->first_loads(
qw/
MyApp::Foo::Boo
/
); # * It loads first.
$r->add_filter(qr/^Hoge/); # * Dont loaded qr/^Hoge/
$r->add_filter(qr/Base.pm$/); # * Dont loaded qr/Base.pm$/
my @packages = $r->require_of(MyApp::Foo);
# * or
my $packages_array_ref
= $r->require_of(MyApp::Foo);
METHOD ^
new( %args )
%args = (
path => /var/www/my/lib, # * default $INC[0]
extensions => pm , # * default "pm" and "pl"
);
first_loads( @package_names );
add_filter(qr/regexp/)
require_of( MyApp::Foo );
require_by( MyApp::Foo );
Deprecated. For backwards compatibility only.
<<less# ************************************** before
use MyApp::Foo;
use MyApp::Foo::CGI;
use MyApp::Foo::Mail;
use MyApp::Foo::Mail::Send;
# use use use use use !!
use MyApp::Foo::Hoge::Orz;
# ************************************** after
use Module::Recursive::Require;
use MyApp::Foo;
my @required_packages
= Module::Recursive::Require->new()->require_by(MyApp::Foo);
SYNOPSIS
use Module::Recursive::Require;
my $r = Module::Recursive::Require->new();
$r->first_loads(
qw/
MyApp::Foo::Boo
/
); # * It loads first.
$r->add_filter(qr/^Hoge/); # * Dont loaded qr/^Hoge/
$r->add_filter(qr/Base.pm$/); # * Dont loaded qr/Base.pm$/
my @packages = $r->require_of(MyApp::Foo);
# * or
my $packages_array_ref
= $r->require_of(MyApp::Foo);
METHOD ^
new( %args )
%args = (
path => /var/www/my/lib, # * default $INC[0]
extensions => pm , # * default "pm" and "pl"
);
first_loads( @package_names );
add_filter(qr/regexp/)
require_of( MyApp::Foo );
require_by( MyApp::Foo );
Deprecated. For backwards compatibility only.
Download (0.003MB)
Added: 2007-05-12 License: Perl Artistic License Price:
895 downloads
File::Attributes::Recursive 0.02
File::Attributes::Recursive module contains inherit file attributes from parent directories. more>>
File::Attributes::Recursive module contains inherit file attributes from parent directories.
SYNOPSIS
Works like File::Attributes, but will recurse up the directory tree until a matching attribute is found.
EXPORT
None, by default. Specify the functions youd like to use as arguments to the module. :all means export everything.
FUNCTIONS
get_attribute_recursively($file, [$top], $attribute)
Returns the value of attribute $attribute. If $top is specified, then the search will terminate when the path no longer contains $top. (i.e. if $file is /foo/bar/baz/quux and $top is
get_attributes_recursively($file, [$top])
Returns a hash of key value pairs for all attributes that apply to $file. Only the closest attributes are returned. Given:
/a (a = yes, foo = bar)
/a/b (b = yes, foo = baz)
/a/b/c (c = yes)
get_attributes_recursively(/a/b/c, /a) will return:
(a => yes, b => yes, c => yes, foo => baz).
The foo => bar is masked by the "closer" foo => baz.
list_attributes_recursively($file, [$top])
Returns a list of attributes that are defined and apply to $file. Like keys get_attributes_recursively($file, [$top]), but faster.
NOTABLY ABSENT FUNCTIONS
unset_attribute_recursively
There are two possible ways for this function to behave -- either recurse until the attribute is removed, or recurse to top, removing the attribute at each level. The first doesnt make sense, and the second is dangerous. If you need this function, write it for the specific needs of your application; I think thats the safest thing to do.
(Note that rm refuses to rm .., so I think theres some precedent here.)
Enhancements:
- Perl
<<lessSYNOPSIS
Works like File::Attributes, but will recurse up the directory tree until a matching attribute is found.
EXPORT
None, by default. Specify the functions youd like to use as arguments to the module. :all means export everything.
FUNCTIONS
get_attribute_recursively($file, [$top], $attribute)
Returns the value of attribute $attribute. If $top is specified, then the search will terminate when the path no longer contains $top. (i.e. if $file is /foo/bar/baz/quux and $top is
get_attributes_recursively($file, [$top])
Returns a hash of key value pairs for all attributes that apply to $file. Only the closest attributes are returned. Given:
/a (a = yes, foo = bar)
/a/b (b = yes, foo = baz)
/a/b/c (c = yes)
get_attributes_recursively(/a/b/c, /a) will return:
(a => yes, b => yes, c => yes, foo => baz).
The foo => bar is masked by the "closer" foo => baz.
list_attributes_recursively($file, [$top])
Returns a list of attributes that are defined and apply to $file. Like keys get_attributes_recursively($file, [$top]), but faster.
NOTABLY ABSENT FUNCTIONS
unset_attribute_recursively
There are two possible ways for this function to behave -- either recurse until the attribute is removed, or recurse to top, removing the attribute at each level. The first doesnt make sense, and the second is dangerous. If you need this function, write it for the specific needs of your application; I think thats the safest thing to do.
(Note that rm refuses to rm .., so I think theres some precedent here.)
Enhancements:
- Perl
Download (0.025MB)
Added: 2007-07-25 License: Perl Artistic License Price:
821 downloads
Exact Build
Exact Build project is a sane GNU Auto replacement. more>>
Exact Build project is a sane GNU Auto replacement. For portable build systems nowadays normally GNU autoconf and the associated companiens such as automake and libtool. However albeit portable they are rather crufty to use. The various macro expansion and generation steps extremely blow up the initial definitions and make execution slow and debugging a nightmare.
Even with the enourmous code bloat, it does not have a wide feature set and neither allows to maximize the gain of parallel builds nor other state-of-the-art compiler features. Manual tinkering is needed in such cases.
Mostly due the code bloat but also to obtain features such as mximal parallel build and object output seperated cleanly from the source, we create our own set of Makefiles for the non-recursive build system and shell scripts for configuration, if required by the software module (some straight forware code does come without a configure script at all).
<<lessEven with the enourmous code bloat, it does not have a wide feature set and neither allows to maximize the gain of parallel builds nor other state-of-the-art compiler features. Manual tinkering is needed in such cases.
Mostly due the code bloat but also to obtain features such as mximal parallel build and object output seperated cleanly from the source, we create our own set of Makefiles for the non-recursive build system and shell scripts for configuration, if required by the software module (some straight forware code does come without a configure script at all).
Download (MB)
Added: 2006-05-10 License: GPL (GNU General Public License) Price:
1268 downloads
recls 1.8.10
recls (recursive ls) is a platform-independent recursive search library. more>>
recls (recursive ls) is a platform-independent recursive search library.
This library came about as the first exemplar for my C/C++ Users Journal column, Positive Integration, which deals with issues of language integration between C/C++ and a host of other languages.
The library itself is implemented in C/C++, but presents a pure C API. It is compatible with UNIX and Win32 operating systems (though the FTP recursive searching is currently Win32-only), and is compatible with most popular C/C++ compilers, including:
- Borland (v5.51+)
- Comeau (v4.3.0.1+)
- Metrowerks CodeWarrior (v8.x+)
- Digital Mars (v8.40+)
- GCC (v3.2+)
- Intel (v7.0+)
- Microsoft Visual C++ (v6.0+)
Note that the base library requires components from the STLSoft libraries (which is another open-source library Im involved with).
In addition to the base library, there are mappings to several other languages/technologies. Currently these are
"regular" C++
- D
- COM
- .NET (C# and Managed C++)
- Perl
- Python
- Ruby
- STL
Enhancements:
- In the core, Recls_SearchFeedback() (and, hence, Recls_Search()) was fixed for the case when both searchRoot and pattern are NULL; general fixes were made for Unicode compilation.
- In recls/C++, fixes were made to namespace-exports for shims for Recls::Entry class.
- In recls/STL, general fixes were made for Unicode compilation.
<<lessThis library came about as the first exemplar for my C/C++ Users Journal column, Positive Integration, which deals with issues of language integration between C/C++ and a host of other languages.
The library itself is implemented in C/C++, but presents a pure C API. It is compatible with UNIX and Win32 operating systems (though the FTP recursive searching is currently Win32-only), and is compatible with most popular C/C++ compilers, including:
- Borland (v5.51+)
- Comeau (v4.3.0.1+)
- Metrowerks CodeWarrior (v8.x+)
- Digital Mars (v8.40+)
- GCC (v3.2+)
- Intel (v7.0+)
- Microsoft Visual C++ (v6.0+)
Note that the base library requires components from the STLSoft libraries (which is another open-source library Im involved with).
In addition to the base library, there are mappings to several other languages/technologies. Currently these are
"regular" C++
- D
- COM
- .NET (C# and Managed C++)
- Perl
- Python
- Ruby
- STL
Enhancements:
- In the core, Recls_SearchFeedback() (and, hence, Recls_Search()) was fixed for the case when both searchRoot and pattern are NULL; general fixes were made for Unicode compilation.
- In recls/C++, fixes were made to namespace-exports for shims for Recls::Entry class.
- In recls/STL, general fixes were made for Unicode compilation.
Download (1.7MB)
Added: 2007-06-04 License: BSD License Price:
872 downloads
mod_rssindex 1.0
mod_rssindex creates a non-recursive RSS 2.0 feed of the directory contained in the HTTP Request. more>>
mod_rssindex is an Apache module which creates a non-recursive RSS 2.0 feed of the directory contained in the HTTP Request.
<<less Download (0.010MB)
Added: 2006-04-28 License: GPL (GNU General Public License) Price:
1274 downloads
import_checker 1.1
import_checker checks Python programs for circular (or recursive) imports. more>>
import_checker checks Python programs for circular (or recursive) imports.
Python is a fine programming language. There is one horrendous thing with it though, that bites even the most experienced python programmers every now and then: the scope of variables.
Weve been taught to use the keyword global, and heartily do so. Still, problems occur when running into a "recursive import" problem.
Example:
### program A ###
import B
var = 0
if __name__ == __main__:
var = 10
B.doit()
### module B ###
import A
def doit():
print A.var
### end of example ###
Module B will see A.var having value 0, even though in program A we assigned it a value of 10. Python is right and it is not a python bug, but it is $#@! confusing and it is being caused by the recursive import; A imports B, and B imports A.
The import_checker.py is a tool that detects recursive imports.
This problem only occurs for global variables in modules.
The best way of solving the problem is to put var into a new module C,
and import C from both A and B.
<<lessPython is a fine programming language. There is one horrendous thing with it though, that bites even the most experienced python programmers every now and then: the scope of variables.
Weve been taught to use the keyword global, and heartily do so. Still, problems occur when running into a "recursive import" problem.
Example:
### program A ###
import B
var = 0
if __name__ == __main__:
var = 10
B.doit()
### module B ###
import A
def doit():
print A.var
### end of example ###
Module B will see A.var having value 0, even though in program A we assigned it a value of 10. Python is right and it is not a python bug, but it is $#@! confusing and it is being caused by the recursive import; A imports B, and B imports A.
The import_checker.py is a tool that detects recursive imports.
This problem only occurs for global variables in modules.
The best way of solving the problem is to put var into a new module C,
and import C from both A and B.
Download (0.009MB)
Added: 2006-10-24 License: GPL (GNU General Public License) Price:
1095 downloads
Guile 0.002
Guile is a Perl interface to the Guile Scheme interpreter. more>>
Guile is a Perl interface to the Guile Scheme interpreter.
SYNOPSIS
use Guile;
print "1 + 1 = ", Guile::eval_str("(+ 1 1)"), "n";
This module provides an interface to the Gnu Guile system. You can find out more about Guile at:
http://www.gnu.org/software/guile/guile.html.
Guile is an interpreter for the Scheme programming language. "Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman." You can find this quote in the language definition for Scheme here:
http://www-swiss.ai.mit.edu/~jaffer/r5rs_toc.html
This module is being developed in order to support the development and usage of an Inline::Guile module. The intention is to allow Perl programmers to intermix Perl and Guile code in their programs and modules.
<<lessSYNOPSIS
use Guile;
print "1 + 1 = ", Guile::eval_str("(+ 1 1)"), "n";
This module provides an interface to the Gnu Guile system. You can find out more about Guile at:
http://www.gnu.org/software/guile/guile.html.
Guile is an interpreter for the Scheme programming language. "Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman." You can find this quote in the language definition for Scheme here:
http://www-swiss.ai.mit.edu/~jaffer/r5rs_toc.html
This module is being developed in order to support the development and usage of an Inline::Guile module. The intention is to allow Perl programmers to intermix Perl and Guile code in their programs and modules.
Download (0.028MB)
Added: 2007-05-14 License: Perl Artistic License Price:
915 downloads
myXTree 1.0
myXTree provides an interface to an SQL tree. more>>
myXTree provides an interface to an SQL tree.
myXTree is an interface to a SQL-tree. It is more about SQL-trees can learn in article SQL for Smarties and Relational Data Structures for Extensible Thesauri. This class allows to save the DOM-document in a SQL-tree and vice versa. For a choice of the data from a SQL-tree are used XPath expressions. Data reading of a SQL-tree can be carried out by two ways: by one SQL-query and recursive way.
The myXTree class use object PEAR::DB and object Document from package myDOM, which goes into package myXML.
Attached to realization of this class used a database mySQL and object PEAR::DB, but this, to regretting, does not do a class lightly bearable on other databases, because in class are used the specialized features mySQL. Because supposed, in the main, use of this class for little renewed data, then was select a tables type MyISAM (unsupported transaction).
A class does not support full features of XPath language. So far does not support an objects selection on namespace prefix; in base saved only the elements, text, CDATA and attributes; use of operator ??? (union) impossible only in recursive method; the XPath functions not implemented.
Enhancements:
- Error handling is completely advanced. PEAR style of error handling is extended with a new class "Error" (see file Error.php for details).
- The code became easier for understanding and for debugging.
<<lessmyXTree is an interface to a SQL-tree. It is more about SQL-trees can learn in article SQL for Smarties and Relational Data Structures for Extensible Thesauri. This class allows to save the DOM-document in a SQL-tree and vice versa. For a choice of the data from a SQL-tree are used XPath expressions. Data reading of a SQL-tree can be carried out by two ways: by one SQL-query and recursive way.
The myXTree class use object PEAR::DB and object Document from package myDOM, which goes into package myXML.
Attached to realization of this class used a database mySQL and object PEAR::DB, but this, to regretting, does not do a class lightly bearable on other databases, because in class are used the specialized features mySQL. Because supposed, in the main, use of this class for little renewed data, then was select a tables type MyISAM (unsupported transaction).
A class does not support full features of XPath language. So far does not support an objects selection on namespace prefix; in base saved only the elements, text, CDATA and attributes; use of operator ??? (union) impossible only in recursive method; the XPath functions not implemented.
Enhancements:
- Error handling is completely advanced. PEAR style of error handling is extended with a new class "Error" (see file Error.php for details).
- The code became easier for understanding and for debugging.
Download (0.054MB)
Added: 2007-04-04 License: LGPL (GNU Lesser General Public License) Price:
935 downloads
CDuce 0.4.1
CDuce is a programming language adapted to writing safe and efficient applications that manipulate XML documents. more>>
CDuce project is a modern XML-oriented functional language with innovative features. A compiler is available under the terms of an open-source license.
CDuce is type-safe, efficient, and offer powerful constructions to work with XML documents.
Main features:
- XML objects can be manipulated as first-class citizen values: elements, sequences, tags, characters and strings, attribute sets; sequences of XML elements can be specified by regular expressions, which also apply to characters strings;
- functions themselves are first-class values, they can be manipulated, stored in data structure, returned by a function,...
- a powerful pattern matching operation can perform complex extractions from sequences of XML elements;
- a rich type algebra, with recursive types and arbitrary boolean combinations (union, intersection, complement) allows precise definitions of data structures and XML types; general purpose types and types constructors are taken seriously (products, extensible records, arbitrary precision integers with interval constraints, Unicode characters);
- polymorphism through a natural notion of subtyping, and overloaded functions with dynamic dispatch;
- an highly-effective type-driven compilation schema.
<<lessCDuce is type-safe, efficient, and offer powerful constructions to work with XML documents.
Main features:
- XML objects can be manipulated as first-class citizen values: elements, sequences, tags, characters and strings, attribute sets; sequences of XML elements can be specified by regular expressions, which also apply to characters strings;
- functions themselves are first-class values, they can be manipulated, stored in data structure, returned by a function,...
- a powerful pattern matching operation can perform complex extractions from sequences of XML elements;
- a rich type algebra, with recursive types and arbitrary boolean combinations (union, intersection, complement) allows precise definitions of data structures and XML types; general purpose types and types constructors are taken seriously (products, extensible records, arbitrary precision integers with interval constraints, Unicode characters);
- polymorphism through a natural notion of subtyping, and overloaded functions with dynamic dispatch;
- an highly-effective type-driven compilation schema.
Download (0.36MB)
Added: 2006-10-16 License: MIT/X Consortium License Price:
1104 downloads
regexxer 0.9
regexxer project is a nifty search/replace tool featuring Perl-style regular expressions. more>>
regexxer project is a nifty search/replace tool featuring Perl-style regular expressions.
It features recursive search through directory trees and Perl-style regular expressions (using libpcre). The user interface is similar to the project-wide search/replace dialog in the Sniff+ IDE, but regexxer aims to surpass it.
<<lessIt features recursive search through directory trees and Perl-style regular expressions (using libpcre). The user interface is similar to the project-wide search/replace dialog in the Sniff+ IDE, but regexxer aims to surpass it.
Download (0.29MB)
Added: 2007-02-21 License: GPL (GNU General Public License) Price:
977 downloads
Mp3CatgBuilder 1.2b
Mp3CatgBuilder is a script that can be used to create Web pages for audio files like MP3 and WAV. more>>
Mp3CatgBuilder is a script that can be used to create Web pages for audio files like MP3 and WAV. The Web pages taht you will create include ID3 tags, pictures, lyrics, and playlists.
Main features:
- Multiples parameters to build your own mp3page.
- All in CSS.
- Winamp PlayList for directory.
- ID3 popup (if you use http://getid3.sourceforge.net).
- Integration of cover pictures, cd etc ...
- Possible use on Flat and Recursive Table.
- Integration of lyrics and guitar tab.
- Buildin files statistics.
<<lessMain features:
- Multiples parameters to build your own mp3page.
- All in CSS.
- Winamp PlayList for directory.
- ID3 popup (if you use http://getid3.sourceforge.net).
- Integration of cover pictures, cd etc ...
- Possible use on Flat and Recursive Table.
- Integration of lyrics and guitar tab.
- Buildin files statistics.
Download (0.081MB)
Added: 2006-07-26 License: GPL (GNU General Public License) Price:
1186 downloads
calltree 2.3
calltree is a static call tree generator for C programs. more>>
The calltree command parses a collection of input files (assuming C syntax) and builds a graph that represents the static call structure of these files.
Calltree is similar to cflow(1) but unlike cflow(1), calltree is not based on lint(1).Calltree implements some more functions than cflow(1), but does not list the return types of the functions. This is because calltree includes an own C parser and thus may be used even on systems that dont have lint(1).
The disadvantage is that the C parser that is used by calltree is not completely correct and may not find all calls of a function. This is mainly true for calls that are done via function pointers.
Calltree is able to detect recursive function calls (e.g. functions that call themselves). Recursive function calls are marked with an ellipsis in the output.
<<lessCalltree is similar to cflow(1) but unlike cflow(1), calltree is not based on lint(1).Calltree implements some more functions than cflow(1), but does not list the return types of the functions. This is because calltree includes an own C parser and thus may be used even on systems that dont have lint(1).
The disadvantage is that the C parser that is used by calltree is not completely correct and may not find all calls of a function. This is mainly true for calls that are done via function pointers.
Calltree is able to detect recursive function calls (e.g. functions that call themselves). Recursive function calls are marked with an ellipsis in the output.
Download (0.24MB)
Added: 2005-04-13 License: GPL (GNU General Public License) Price:
1669 downloads
REMITT 0.3.3
REMITT is Electronic Medical Information Translation and Transmission. more>>
REMITT is Electronic Medical Information Translation and Transmission.
REMITT is a revolutionary medical information translation and transmission system, which is primarily used for preparing and submitting medical billing data.
REMITT works independent of any specific electronic medical record (EMR) or practice management (PM) system, and can interface with any EMR or PM system which implements its application programming interface (API). The first system to do so has been FreeMED.
Currently Supported Formats
- HCFA-1500/CRM-1500
- ANSI NSF X12 837 Professional
Currently Supported Output Types
- PDF Document (with optional overlaying)
- PRN File
- X12 Message
- FreeClaims.com Direct Submission
- GatewayEDI.com Direct Submission
The name REMITT is a recursive acronym.
<<lessREMITT is a revolutionary medical information translation and transmission system, which is primarily used for preparing and submitting medical billing data.
REMITT works independent of any specific electronic medical record (EMR) or practice management (PM) system, and can interface with any EMR or PM system which implements its application programming interface (API). The first system to do so has been FreeMED.
Currently Supported Formats
- HCFA-1500/CRM-1500
- ANSI NSF X12 837 Professional
Currently Supported Output Types
- PDF Document (with optional overlaying)
- PRN File
- X12 Message
- FreeClaims.com Direct Submission
- GatewayEDI.com Direct Submission
The name REMITT is a recursive acronym.
Download (0.52MB)
Added: 2007-05-19 License: MPL (Mozilla Public License) Price:
889 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
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 recursive 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