parsing 1.3
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1942
Parsing 1.3
Parsing module is a pure-Python module that implements an LR(1) parser generator, as well as CFSM and GLR parser drivers. more>> <<less
Download (0.081MB)
Added: 2007-08-14 License: MIT/X Consortium License Price:
805 downloads
msgparser 1.3
msgparser project is a parser for .msg Files in Java more>>
msgparser project is a parser for .msg Files in Java.
msgparser is a small open source Java library that parses Outlook .msg files and provides their content using Java objects.
msgparser uses the Apache POI - POIFS library to parse the message files which use the OLE 2 Compound Document format. Thus, it is merely a convenience library that covers the details of the .msg file. The implementation is based on the information provided at fileformat.info.
Examples:
This page shows how to use the msgparser library to access to content of a .msg file.
For parsing the .msg file, a MsgParser object must be created. This parser can process .msg files stored in a file or coming from an InputStream.
MsgParser msgp = new MsgParser();
Message msg = msgp.parseMsg("mail.msg");
The resulting msg object contains all necessary information (e.g., from, to, subject).
String fromEmail = msg.getFromEmail();
String fromName = msg.getFromName();
String subject = msg.getSubject();
Attachments are stored in Attachment objects.
List atts = msg.getAttachments();
for (Attachment att : atts) {
// do something with attachment
}
An attachment is either a file (which is a FileAttachment object) or another attached .msg file (i.e, an .msg file in an .msg file) (which is a MsgAttachment object).
<<lessmsgparser is a small open source Java library that parses Outlook .msg files and provides their content using Java objects.
msgparser uses the Apache POI - POIFS library to parse the message files which use the OLE 2 Compound Document format. Thus, it is merely a convenience library that covers the details of the .msg file. The implementation is based on the information provided at fileformat.info.
Examples:
This page shows how to use the msgparser library to access to content of a .msg file.
For parsing the .msg file, a MsgParser object must be created. This parser can process .msg files stored in a file or coming from an InputStream.
MsgParser msgp = new MsgParser();
Message msg = msgp.parseMsg("mail.msg");
The resulting msg object contains all necessary information (e.g., from, to, subject).
String fromEmail = msg.getFromEmail();
String fromName = msg.getFromName();
String subject = msg.getSubject();
Attachments are stored in Attachment objects.
List atts = msg.getAttachments();
for (Attachment att : atts) {
// do something with attachment
}
An attachment is either a file (which is a FileAttachment object) or another attached .msg file (i.e, an .msg file in an .msg file) (which is a MsgAttachment object).
Download (1.1MB)
Added: 2007-07-26 License: GPL v3 Price:
823 downloads
Parse::RPN 2.34
Parse::RPN is a minimalist RPN parser/processor (a little like FORTH). more>>
Parse::RPN is a minimalist RPN parser/processor (a little like FORTH).
SYNOPSIS
use Parse::RPN;
$result=rpn(string ...);
@results=rpn(string ...);
$error=rpn_error();
string... is a list of RPN operator and value separated by a coma in scalar mode RPN return the result of the calculation (If the stack contain more then one element, you receive a warning and the top value on the stack) in array mode, you receive the content of the stack after evaluation
rpn() receive in entry a scalar of one or more elements coma separated and evaluate as an RPN (Reverse Polish Notation) command. The function split all elements and put in the stack. The operator are case sensitive. The operator are detect as is, if they are alone in the element of the stack. Extra space before or after are allowed (e.g "3,4,ADD" here ADD is an opeartor but it is not the case in "3,4,ADD 1") If element is not part of the predefined operator (dictionary), the element is push as a litteral.
If you would like to put a string which is part of the dictionary, put it between quote or double-quote (e.g "3,4,ADD" here ADD is a literal and the evaluation reurn ADD and a warning because the stack is not empty) If the string contain a coma, you need also to quote or double-quote the string. (be care to close your quoted or double-quoted string)
The evaluation follow the rule of RPN or FORTH or POSTCRIPT or pockect calcutor HP. Look on web for documentation about the use of RPN notation.
I use this module in a application where the final user need to create an maintain a configuration file with the possibility to do calculation on variable returned from application.
The idea of this module is comming from Math::RPN of Owen DeLong, owen@delong.com that I used for more then a year before some of my customer would like more ... I correct a bug (interversion of > and >=), add the STRING function, pattern search and some STACK functions.
rpn_error() return the last error from the evaluation (illegal division by 0, error from the PERL function execution...) each time that rpn() is call the rpn_error() is reinitianised.
<<lessSYNOPSIS
use Parse::RPN;
$result=rpn(string ...);
@results=rpn(string ...);
$error=rpn_error();
string... is a list of RPN operator and value separated by a coma in scalar mode RPN return the result of the calculation (If the stack contain more then one element, you receive a warning and the top value on the stack) in array mode, you receive the content of the stack after evaluation
rpn() receive in entry a scalar of one or more elements coma separated and evaluate as an RPN (Reverse Polish Notation) command. The function split all elements and put in the stack. The operator are case sensitive. The operator are detect as is, if they are alone in the element of the stack. Extra space before or after are allowed (e.g "3,4,ADD" here ADD is an opeartor but it is not the case in "3,4,ADD 1") If element is not part of the predefined operator (dictionary), the element is push as a litteral.
If you would like to put a string which is part of the dictionary, put it between quote or double-quote (e.g "3,4,ADD" here ADD is a literal and the evaluation reurn ADD and a warning because the stack is not empty) If the string contain a coma, you need also to quote or double-quote the string. (be care to close your quoted or double-quoted string)
The evaluation follow the rule of RPN or FORTH or POSTCRIPT or pockect calcutor HP. Look on web for documentation about the use of RPN notation.
I use this module in a application where the final user need to create an maintain a configuration file with the possibility to do calculation on variable returned from application.
The idea of this module is comming from Math::RPN of Owen DeLong, owen@delong.com that I used for more then a year before some of my customer would like more ... I correct a bug (interversion of > and >=), add the STRING function, pattern search and some STACK functions.
rpn_error() return the last error from the evaluation (illegal division by 0, error from the PERL function execution...) each time that rpn() is call the rpn_error() is reinitianised.
Download (0.025MB)
Added: 2007-06-27 License: Perl Artistic License Price:
851 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
mp3asm 0.1.3
mp3asm is an mpeg 1/2/2.5 audio layer 1/2/3 (cbr/vbr) frame level editor. more>>
mp3asm is an mpeg 1/2/2.5 audio layer 1/2/3 (cbr/vbr) frame level editor. The current textmode version allows cutting, copying, and pasting of frames while never violating the mpeg audio standard.
Well, most ppl probably prefer decoding, wav editing, reencoding, but that has consequences. Encoders use advanced filtering to create audio data thats easy to compress so that ppl can hardly tell the difference (depending on BR offcourse) and then they compress that filtered audiodata. Now filtering once from original full range unfiltered audio will provide the nicest result.
And offcourse, u dont have to waste precious cycles on the whole lengthy process.
Yes indeed, with wavediting programs u can edit right up to the millisecond, or even better. But to be honest, an 128kbps mpeg 1 layer 3file has 25 frames per second, which means u can cut right down to 40ms. If u dont mind the quality of a 128kbps file, how can u mind a few millisecs?Every subsequent filtering will result in more loss of data, because the only real difference between encoders is the filterbanks.
So when this app is up and running theres no more reason to waste a perfectly good rip cos of a few bad starting frames or a long lead out. At this point i even believe it should be possible to provide for fading in/out, i aint certain yet actually. I have no clue whatsoever on why Olli fromme halted development back in 97.Maybe cos mp3s were a rarity back then? Maybe some personal reason. I will prolly never know. What I do know is that he had an unbelievable idea and he wrote a program that did the job very well.
Enhancements:
- fixed parsing sideinfo (off by 1 bit) for mpeg 1 layer 3 mono (found by Alain Daurat (alain.daurat@libertysurf.fr))
<<lessWell, most ppl probably prefer decoding, wav editing, reencoding, but that has consequences. Encoders use advanced filtering to create audio data thats easy to compress so that ppl can hardly tell the difference (depending on BR offcourse) and then they compress that filtered audiodata. Now filtering once from original full range unfiltered audio will provide the nicest result.
And offcourse, u dont have to waste precious cycles on the whole lengthy process.
Yes indeed, with wavediting programs u can edit right up to the millisecond, or even better. But to be honest, an 128kbps mpeg 1 layer 3file has 25 frames per second, which means u can cut right down to 40ms. If u dont mind the quality of a 128kbps file, how can u mind a few millisecs?Every subsequent filtering will result in more loss of data, because the only real difference between encoders is the filterbanks.
So when this app is up and running theres no more reason to waste a perfectly good rip cos of a few bad starting frames or a long lead out. At this point i even believe it should be possible to provide for fading in/out, i aint certain yet actually. I have no clue whatsoever on why Olli fromme halted development back in 97.Maybe cos mp3s were a rarity back then? Maybe some personal reason. I will prolly never know. What I do know is that he had an unbelievable idea and he wrote a program that did the job very well.
Enhancements:
- fixed parsing sideinfo (off by 1 bit) for mpeg 1 layer 3 mono (found by Alain Daurat (alain.daurat@libertysurf.fr))
Download (0.045MB)
Added: 2006-07-21 License: GPL (GNU General Public License) Price:
1192 downloads
spConfig 0.1.3
spConfig is a C library for parsing configuration files with a syntax similar to XML. more>>
spConfig is a C library made for parsing configuration files with a syntax similar to XML.
spConfig is a configuration file parsing library intended to allow one to add configuration file functionality to an application with relative ease. Configuration files use an XML-like syntax with some additional preprocessor-style commands.
Installation:
unpack the archive, cd to spconfig-0.1.3
./configure
make
make install
After installation, youll need to run ldconfig before you start linking to it. You probably need to be root to run it.
Enhancements:
- new build system
- [else] directive
- bugfixes
<<lessspConfig is a configuration file parsing library intended to allow one to add configuration file functionality to an application with relative ease. Configuration files use an XML-like syntax with some additional preprocessor-style commands.
Installation:
unpack the archive, cd to spconfig-0.1.3
./configure
make
make install
After installation, youll need to run ldconfig before you start linking to it. You probably need to be root to run it.
Enhancements:
- new build system
- [else] directive
- bugfixes
Download (0.057MB)
Added: 2006-03-22 License: BSD License Price:
1313 downloads
TDA 1.3
TDA goal is to provide a small utility helping offline analysis of production enviroments like application servers. more>>
TDA goal is to provide a small utility helping offline analysis of production enviroments like application servers.
There is a quite nice Thread Dump Analysis Tool for Websphere environments but which only works with IBM JDKs. Motivation for this little tool was to have something similar for Sun JDKs.
The TDA Thread Dump Analyzer is a small Swing GUI for analyzing Thread Dumps generated by the Sun Java VM (currently tested with 1.4.x releases). It parses the thread dumps from a provided log file.
It provides statistics informations about the found thread dumps, gives information about locked monitors and waiting threads. It can diff between threads to look for similarities and has a "long-running-thread" detection.
Main features:
- parsing all thread dumps of a log file, using a specified regular expression for log file time stamps (thread dumps dont have any date information by default), displaying them in a tree.
- Display of statistic data about the found thread dumps, display of monitors, waiting, sleeping and locking threads,
- integrated class histogram analysis for a specific thread dump (using the -XX:+PrintClassHistogram option of the VM), can also be parsed from a second file, if loggc-Option was used (to log to a different VM).
- parser interface for integrating dump parser for other VMs
- displays deadlock information from the thread dump.
<<lessThere is a quite nice Thread Dump Analysis Tool for Websphere environments but which only works with IBM JDKs. Motivation for this little tool was to have something similar for Sun JDKs.
The TDA Thread Dump Analyzer is a small Swing GUI for analyzing Thread Dumps generated by the Sun Java VM (currently tested with 1.4.x releases). It parses the thread dumps from a provided log file.
It provides statistics informations about the found thread dumps, gives information about locked monitors and waiting threads. It can diff between threads to look for similarities and has a "long-running-thread" detection.
Main features:
- parsing all thread dumps of a log file, using a specified regular expression for log file time stamps (thread dumps dont have any date information by default), displaying them in a tree.
- Display of statistic data about the found thread dumps, display of monitors, waiting, sleeping and locking threads,
- integrated class histogram analysis for a specific thread dump (using the -XX:+PrintClassHistogram option of the VM), can also be parsed from a second file, if loggc-Option was used (to log to a different VM).
- parser interface for integrating dump parser for other VMs
- displays deadlock information from the thread dump.
Download (0.79MB)
Added: 2007-06-06 License: LGPL (GNU Lesser General Public License) Price:
879 downloads
Parse::Nibbler 1.10
Parse::Nibbler is Perl module to parse huge files using grammars written in pure perl. more>>
Parse::Nibbler is Perl module to parse huge files using grammars written in pure perl.
Create a parser object using the ->new method. This method is provided by the Parse::Nibbler module and should not be overridden.
The main functionality of the Parse::Nibbler module is the Register subroutine. This subroutine is used to define the rules of your grammar. The Register subroutine takes two parameters: A string and a code reference.
The string is the name of the rule (i.e. the name of the subroutine/method)
The code reference is a reference to the code to execute for this rule.
The Register subroutine will take the code reference, wrap it up in another subroutine that acts as a closure, and then installs that code reference as a subroutine with the name matching the given string.
The wrapper code (the closure) is the same for every rule. The wrapper code handles quantifiers, calls the rule, and decides what to do based on the rule passing or failing.
A rule is a code reference with a given string name that have been passed to Register. Here is an example of a rule:
Register ( Name, sub { my $p = shift; $p->AlternateValues( Jim, Scotty, Spock );
}
);
The parser object will always be passed in as the first parameter to your rule. You must pass this into any further rules or any Parse::Nibbler methods.
In the above example, the rule, "Name" is Registered. "Name" calls one of the builtin methods, AlternateValues, defined below. Once a rule is Registered, other rules can call it:
Register ( MedicalDiagnosis, sub { my $p = shift; $p->AlternateValues("Hes", "Shes"); $p->ValueIs("dead"); $p->ValueIs(","); $p->Name; $p->ValueIs("!"); } );
This code registers a rule called "MedicalDiagnosis". It uses some builtin methods, but it also calls the rule just registered, "Name".
Once a user defines a rule, they can use it in other rules by simply calling it as they would call a method.
Rules registered with the Parse::Nibbler module can be called with quantifiers. Quantifiers are passed into the Rule when you call it in your grammar by passing in a string that matches the format described here.
Quantifiers allow you to specify the quantity of rules present. Quantifiers also allow you to specify whether multiple rules have separators.
Quantifiers are specified using the following string format:
{quantifier}
This indicates that there are zero or one Name rules expected: $p->Name({?});
This indicates that there are zero or more Name rules expected: $p->Name({*});
This indicates that there are one or more Name rules expected: $p->Name({+});
This indicates that there are exactly three Name rules expected: $p->Name({3});
This indicates there are 1 to 3 Name rules expected: $p->Name({1:3});
This indicates there are at least 2 Name rules expected: $p->Name({2:);
Separators are specified using the following string format:
/separator/
This indicates 1 or more Name rules, each separated by a comma:
$p->Name({1:}/,/);
It is the job of the Register function to make sure this additional functionality is provided transparently and automagically to you.
If you call a rule with no quantifier and no separator, the rule will assume the quantifier is 1 and there is no separator.
Additional Parse::Nibbler methods are provided to simplify rule definition and to provide smart, automatic error handling, etc. You grammars should only call other rules that you defined, or these methods explained below.
(Note: these methods do not take quantifiers)
############### Method: ValueIs ###############
Parameters: One parameter, required. A string containing the expected value.
Example: $p->ValueIs( stringvalue );
Description:
This method will look at the next lexical and determine if its value matches that of the stringvalue given as a parameter. If it does not match, an exception is raised and the rule fails.
If the values do match, then the parser stores the lexical, and the rule continues.
####################### Method: AlternateValues #######################
Parameters: A list of string parameters, at least two values.
Example: $p-AlternateValues( value1, value2 );
Description:
This method behaves like the ValueIs method, except that it will recieve a list of allowed alternate expected values. The first match that succeeds causes the rule to pass and return.
If no match occurs, then an exception is raised and the rule aborts.
If a match does occur, the parser stores the lexical, and the rule continues.
############## Method: TypeIs ##############
Parameters: One parameter, required. A string containing the expected type.
Description:
This method will look at the next lexical item, and determine if the lexical type matches the type given as a parameter.
Valid type values depend on the Lexer that you use, but possible values may include "Identifier" and "Number", etc.
Use this in a case where your rule requires an identifier type, for example, but it does not care what the name of the identifier is for the rule.
If a match occurs, the parser stores the lexical and the rule continues.
If a match does not occur, an exception is raised, and the rule aborts.
###################### Method: AlternateRules ######################
Parameters: A list of string parameters, at least two.
Example: $p->AlternateRules( Rule1, Rule2 );
Description:
You can describe rule alternation in your rule by calling this method. The method takes a list of strings whose string values match the names of the valid alternate rule names.
In the above example, the McCoy rule is either a declaration of profession or a medical diagnosis. These are two rules that are defined in the same package. The AlternateRules method allows you to define multiple rules that may be valid at the same point in the text.
If a rule in the parameter list succeeds, the AlternateRule method succeeds, and returns immediately.
If no rule succeeds, an exception is thrown, and the rule aborts.
This rule expects either a "DeclareProfession" rule or a "MedicalDiagnosis" rule to be present.
Register ( McCoy, sub { my $p = shift; $p->AlternateRules( DeclareProfession, MedicalDiagnosis ); } );
You can specify quantifiers as part of the alternate rule strings.
$p->AlternateRules( DeclareProfession({+}), MedicalDiagnosis );
The above example indicates that you can have one or more DeclareProfession rules OR ALTERNATELY you can have exactly one MedicalDiagnosis rule.
EXPORT
Register, used to register the rules in your grammar.
<<lessCreate a parser object using the ->new method. This method is provided by the Parse::Nibbler module and should not be overridden.
The main functionality of the Parse::Nibbler module is the Register subroutine. This subroutine is used to define the rules of your grammar. The Register subroutine takes two parameters: A string and a code reference.
The string is the name of the rule (i.e. the name of the subroutine/method)
The code reference is a reference to the code to execute for this rule.
The Register subroutine will take the code reference, wrap it up in another subroutine that acts as a closure, and then installs that code reference as a subroutine with the name matching the given string.
The wrapper code (the closure) is the same for every rule. The wrapper code handles quantifiers, calls the rule, and decides what to do based on the rule passing or failing.
A rule is a code reference with a given string name that have been passed to Register. Here is an example of a rule:
Register ( Name, sub { my $p = shift; $p->AlternateValues( Jim, Scotty, Spock );
}
);
The parser object will always be passed in as the first parameter to your rule. You must pass this into any further rules or any Parse::Nibbler methods.
In the above example, the rule, "Name" is Registered. "Name" calls one of the builtin methods, AlternateValues, defined below. Once a rule is Registered, other rules can call it:
Register ( MedicalDiagnosis, sub { my $p = shift; $p->AlternateValues("Hes", "Shes"); $p->ValueIs("dead"); $p->ValueIs(","); $p->Name; $p->ValueIs("!"); } );
This code registers a rule called "MedicalDiagnosis". It uses some builtin methods, but it also calls the rule just registered, "Name".
Once a user defines a rule, they can use it in other rules by simply calling it as they would call a method.
Rules registered with the Parse::Nibbler module can be called with quantifiers. Quantifiers are passed into the Rule when you call it in your grammar by passing in a string that matches the format described here.
Quantifiers allow you to specify the quantity of rules present. Quantifiers also allow you to specify whether multiple rules have separators.
Quantifiers are specified using the following string format:
{quantifier}
This indicates that there are zero or one Name rules expected: $p->Name({?});
This indicates that there are zero or more Name rules expected: $p->Name({*});
This indicates that there are one or more Name rules expected: $p->Name({+});
This indicates that there are exactly three Name rules expected: $p->Name({3});
This indicates there are 1 to 3 Name rules expected: $p->Name({1:3});
This indicates there are at least 2 Name rules expected: $p->Name({2:);
Separators are specified using the following string format:
/separator/
This indicates 1 or more Name rules, each separated by a comma:
$p->Name({1:}/,/);
It is the job of the Register function to make sure this additional functionality is provided transparently and automagically to you.
If you call a rule with no quantifier and no separator, the rule will assume the quantifier is 1 and there is no separator.
Additional Parse::Nibbler methods are provided to simplify rule definition and to provide smart, automatic error handling, etc. You grammars should only call other rules that you defined, or these methods explained below.
(Note: these methods do not take quantifiers)
############### Method: ValueIs ###############
Parameters: One parameter, required. A string containing the expected value.
Example: $p->ValueIs( stringvalue );
Description:
This method will look at the next lexical and determine if its value matches that of the stringvalue given as a parameter. If it does not match, an exception is raised and the rule fails.
If the values do match, then the parser stores the lexical, and the rule continues.
####################### Method: AlternateValues #######################
Parameters: A list of string parameters, at least two values.
Example: $p-AlternateValues( value1, value2 );
Description:
This method behaves like the ValueIs method, except that it will recieve a list of allowed alternate expected values. The first match that succeeds causes the rule to pass and return.
If no match occurs, then an exception is raised and the rule aborts.
If a match does occur, the parser stores the lexical, and the rule continues.
############## Method: TypeIs ##############
Parameters: One parameter, required. A string containing the expected type.
Description:
This method will look at the next lexical item, and determine if the lexical type matches the type given as a parameter.
Valid type values depend on the Lexer that you use, but possible values may include "Identifier" and "Number", etc.
Use this in a case where your rule requires an identifier type, for example, but it does not care what the name of the identifier is for the rule.
If a match occurs, the parser stores the lexical and the rule continues.
If a match does not occur, an exception is raised, and the rule aborts.
###################### Method: AlternateRules ######################
Parameters: A list of string parameters, at least two.
Example: $p->AlternateRules( Rule1, Rule2 );
Description:
You can describe rule alternation in your rule by calling this method. The method takes a list of strings whose string values match the names of the valid alternate rule names.
In the above example, the McCoy rule is either a declaration of profession or a medical diagnosis. These are two rules that are defined in the same package. The AlternateRules method allows you to define multiple rules that may be valid at the same point in the text.
If a rule in the parameter list succeeds, the AlternateRule method succeeds, and returns immediately.
If no rule succeeds, an exception is thrown, and the rule aborts.
This rule expects either a "DeclareProfession" rule or a "MedicalDiagnosis" rule to be present.
Register ( McCoy, sub { my $p = shift; $p->AlternateRules( DeclareProfession, MedicalDiagnosis ); } );
You can specify quantifiers as part of the alternate rule strings.
$p->AlternateRules( DeclareProfession({+}), MedicalDiagnosis );
The above example indicates that you can have one or more DeclareProfession rules OR ALTERNATELY you can have exactly one MedicalDiagnosis rule.
EXPORT
Register, used to register the rules in your grammar.
Download (0.033MB)
Added: 2007-02-22 License: Perl Artistic License Price:
974 downloads
MRTG::Parse 0.03
MRTG::Parse is a Perl extension for parsing and utilizing the logfiles generated by the famous MRTG Tool. more>>
MRTG::Parse is a Perl extension for parsing and utilizing the logfiles generated by the famous MRTG Tool.
SYNOPSIS
use strict;
use MRTG::Parse;
my $mrtg_logfile = "/var/www/htdocs/mrtg/eth0.log";
my $period = "day";
my $desired_unit = "GB";
my ($traffic_incoming, $traffic_outgoing, $traffic_sum) = mrtg_parse($mrtg_logfile, $period, $desired_unit);
print "Incoming Traffic: $traffic_incomingn";
print "Outgoing Traffic: $traffic_outgoingn";
print "= Sum $traffic_sumn";
This perl extension enables its users to parse and utilize the logfiles that are generated by the famous MRTG (Multi Router Traffic Grapher) tool.
mrtg_parse() takes three argument:
1st: filename of the mrtg logfile
2nd: time period to genereate the output for
valid values are:
- individual time periods like: 20040821-20050130 (ISO 8601)
- static values: day, month, year
3rd: the desired unit (optional)
valid values are:
- B, KB, MB, GB, TB
- if missing mrtg_parse will chose an adequate one for you
mrtg_parse() returns three values:
1st: Incoming traffic
2nd: Outgoing traffic
3rd: Sum of incoming and outgoing
<<lessSYNOPSIS
use strict;
use MRTG::Parse;
my $mrtg_logfile = "/var/www/htdocs/mrtg/eth0.log";
my $period = "day";
my $desired_unit = "GB";
my ($traffic_incoming, $traffic_outgoing, $traffic_sum) = mrtg_parse($mrtg_logfile, $period, $desired_unit);
print "Incoming Traffic: $traffic_incomingn";
print "Outgoing Traffic: $traffic_outgoingn";
print "= Sum $traffic_sumn";
This perl extension enables its users to parse and utilize the logfiles that are generated by the famous MRTG (Multi Router Traffic Grapher) tool.
mrtg_parse() takes three argument:
1st: filename of the mrtg logfile
2nd: time period to genereate the output for
valid values are:
- individual time periods like: 20040821-20050130 (ISO 8601)
- static values: day, month, year
3rd: the desired unit (optional)
valid values are:
- B, KB, MB, GB, TB
- if missing mrtg_parse will chose an adequate one for you
mrtg_parse() returns three values:
1st: Incoming traffic
2nd: Outgoing traffic
3rd: Sum of incoming and outgoing
Download (0.005MB)
Added: 2007-04-03 License: Perl Artistic License Price:
938 downloads
c-ares 1.4.0
c-ares is a C library that resolves names asynchronously. more>>
c-ares project is a C library that resolves names asynchronously.
Enhancements:
- ares_save_options, ares_destroy_options, ares_process_fd, and ares_parse_ns_reply were added.
- The transaction IDs were made "secure".
- A few parsing issues and minor bugs were fixed.
<<lessEnhancements:
- ares_save_options, ares_destroy_options, ares_process_fd, and ares_parse_ns_reply were added.
- The transaction IDs were made "secure".
- A few parsing issues and minor bugs were fixed.
Download (0.42MB)
Added: 2007-06-08 License: MIT/X Consortium License Price:
876 downloads
Alice ML 1.3
Alice ML is a functional, concurrent, distributed programming language based on Standard ML. more>>
Alice is a functional programming language based on Standard ML, extended with rich support for concurrent, distributed, and constraint programming.
Main features:
- Futures: laziness and light-weight concurrency with data-flow synchronisation
- Higher-order modules: higher-order functors and abstract signatures
- Packages: integrating static with dynamic typing and first class modules
- Pickling: higher-order type-safe, generic & platform-independent persistence
- Components: platform-independence and type-safe dynamic loading of modules
- Distribution: type-safe cross-platform remote functions and network mobility
- Constraints: solving combinatorical problems using constraint propagation and programmable search
The Alice System is a rich open-source programming system featuring the following tools:
- Virtual machine: a portable VM with support for just-in-time compilation
- Interactive system: an interpreter-like interactive toplevel
- Batch compiler: separate compilation
- Static linker: type-safe bundling of components
- Inspector: a tool for interactively inspecting data structures
- Explorer: a tool for interactively investigating search problems
- Gtk+: a binding for the Gnome toolkit GUI library
- SQL: a library for accessing SQL databases
- XML: a simple library for parsing XML documents
Enhancements:
- Alice now incorporates some of the proposed extensions for Successor ML.
- The bytecode jitter is now the default execution unit.
- The documentation includes a constraint programming tutorial, and the constraint library now uses the current stable version of Gecode.
<<lessMain features:
- Futures: laziness and light-weight concurrency with data-flow synchronisation
- Higher-order modules: higher-order functors and abstract signatures
- Packages: integrating static with dynamic typing and first class modules
- Pickling: higher-order type-safe, generic & platform-independent persistence
- Components: platform-independence and type-safe dynamic loading of modules
- Distribution: type-safe cross-platform remote functions and network mobility
- Constraints: solving combinatorical problems using constraint propagation and programmable search
The Alice System is a rich open-source programming system featuring the following tools:
- Virtual machine: a portable VM with support for just-in-time compilation
- Interactive system: an interpreter-like interactive toplevel
- Batch compiler: separate compilation
- Static linker: type-safe bundling of components
- Inspector: a tool for interactively inspecting data structures
- Explorer: a tool for interactively investigating search problems
- Gtk+: a binding for the Gnome toolkit GUI library
- SQL: a library for accessing SQL databases
- XML: a simple library for parsing XML documents
Enhancements:
- Alice now incorporates some of the proposed extensions for Successor ML.
- The bytecode jitter is now the default execution unit.
- The documentation includes a constraint programming tutorial, and the constraint library now uses the current stable version of Gecode.
Download (0.28MB)
Added: 2006-09-18 License: BSD License Price:
1133 downloads
HORRORss 1.3
HORRORss is a set of Java classes to parse RSS files. more>>
HORRORss is a set of Java classes to parse RSS files. It works with simple objects (POJOs) which represents the main items of RSS files like "image", "channel", and "item".
The main features are ease of use, compatibility with all RSS/RDF specifications, and compatibility with GNU Classpath.
Compatible with:
- RSS 0.9x
- RSS 1.0
- RSS 2.0
- Atom 0.3
- GNU Classpath
Enhancements:
- The most important features in this release are a cache system to store the RSS feeds and the ability to define the charset.
- It also fixes an error when using the method "parse(String URL)".
<<lessThe main features are ease of use, compatibility with all RSS/RDF specifications, and compatibility with GNU Classpath.
Compatible with:
- RSS 0.9x
- RSS 1.0
- RSS 2.0
- Atom 0.3
- GNU Classpath
Enhancements:
- The most important features in this release are a cache system to store the RSS feeds and the ability to define the charset.
- It also fixes an error when using the method "parse(String URL)".
Download (0.13MB)
Added: 2006-12-18 License: Public Domain Price:
1040 downloads
DTDParse 2.00
DTDParse project is a tool for parsing SGML and XML DTDs. more>>
DTDParse project is a tool for parsing SGML and XML DTDs.
The primary motivation for writing it was to provide a framework for building documentation for DTDs, but other applications are easy to imagine.
<<lessThe primary motivation for writing it was to provide a framework for building documentation for DTDs, but other applications are easy to imagine.
Download (0.056MB)
Added: 2006-10-05 License: GPL (GNU General Public License) Price:
1114 downloads
Alana 1.0
Alana is a Turing Machine simulator. more>>
A highly responsive Turing machine simulator written in Tcl/Tk. Contains many examples (unary and binary addition, subtraction, multiplication, a 5-state busy beaver, 2 string parsing examples, divisibility test, primality test), a theoretical introduction to Turing machines, a proof of the undecidability of the halting problem and pointers to further literature.
<<less Download (0.025MB)
Added: 2005-06-06 License: GPL (GNU General Public License) Price:
1601 downloads
libconfigduo 1.1.3
Libconfig is a simple library for parsing structured configuration files, like this one: test.cfg. more>>
Libconfig is a simple library for parsing structured configuration files, like this one: test.cfg.
This file format is more compact and more readable than XML. And unlike XML, it is type-aware, so it is not necessary to do string parsing in application code.
libconfigduo library includes bindings for both the C and C++ languages.
<<lessThis file format is more compact and more readable than XML. And unlike XML, it is type-aware, so it is not necessary to do string parsing in application code.
libconfigduo library includes bindings for both the C and C++ languages.
Download (0.43MB)
Added: 2007-08-04 License: LGPL (GNU Lesser General Public License) Price:
814 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 parsing 1.3 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