encoded data structures
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 6010
Erwin Data Structures 2.1.58633
Erwin Data Structures is a library that is meant to be the ultimate data structure library for mixed usage of C and C++. more>>
Erwin Data Structures is a library that is meant to be the ultimate data structure library for mixed usage of C and C++.
Arbitrary key and value types are implemented by template files that dont use C++ templates, but are instantiated by a Perl script.
This way, mixed usage in C and C++ is possible. However, a C++ interface is generated to support the advantages of the C++ language. No templates, no void*.
Erwin contains a number of tools, too, all of them written in Perl. The following list shows the data structures and tools, together with some typical examples.
<<lessArbitrary key and value types are implemented by template files that dont use C++ templates, but are instantiated by a Perl script.
This way, mixed usage in C and C++ is possible. However, a C++ interface is generated to support the advantages of the C++ language. No templates, no void*.
Erwin contains a number of tools, too, all of them written in Perl. The following list shows the data structures and tools, together with some typical examples.
Download (0.67MB)
Added: 2007-02-09 License: Freely Distributable Price:
997 downloads
Generic Data Structures Library 1.4-pl1
Generic Data Structures Library (GDSL) is a collection of routines for generic data structures manipulation. more>>
Generic Data Structures Library (GDSL) is a collection of routines for generic data structures manipulation.
Generic Data Structures Library is a portable and re-entrant library fully written from scratch in pure ANSI C. It is designed to offer for C programmers common data structures with powerful algorithms, and hidden implementation.
Available structures are lists, queues, stacks, hash tables, binary trees, binary search trees, red-black trees, 2D arrays, and permutations.
GDSL provides a modern Applications Programming Interface (API) for C programmers, while allowing wrappers to be written for very high level languages.
The library covers the following data structures:
- Low-level doubly-linked nodes
- Low-level doubly-linked low-level lists
- Low level binary trees
- Low level binary search trees
- Binary search trees
- Red-black trees
- 2D arrays
- Hash tables
- Lists
- Queues
- Stacks
- Permutations
Enhancements:
- A bug that was introduced in gdsl_hash_insert in the previous release was fixed.
- A missing include in gdsl.h was fixed.
<<lessGeneric Data Structures Library is a portable and re-entrant library fully written from scratch in pure ANSI C. It is designed to offer for C programmers common data structures with powerful algorithms, and hidden implementation.
Available structures are lists, queues, stacks, hash tables, binary trees, binary search trees, red-black trees, 2D arrays, and permutations.
GDSL provides a modern Applications Programming Interface (API) for C programmers, while allowing wrappers to be written for very high level languages.
The library covers the following data structures:
- Low-level doubly-linked nodes
- Low-level doubly-linked low-level lists
- Low level binary trees
- Low level binary search trees
- Binary search trees
- Red-black trees
- 2D arrays
- Hash tables
- Lists
- Queues
- Stacks
- Permutations
Enhancements:
- A bug that was introduced in gdsl_hash_insert in the previous release was fixed.
- A missing include in gdsl.h was fixed.
Download (1.3MB)
Added: 2006-07-07 License: GPL (GNU General Public License) Price:
1204 downloads
Xephyrus Data Structures Tag Library 1.5
Xephyrus Data Structures Tag Library is a tag library to provide access to common data-structures. more>>
Xephyrus Data Structures Tag Library provides an easy way to create and manipulate the contents of common Java data-structures such as maps and lists.
Enhancements:
- The library was polished up.
- Several improvements were made and a few bugs were fixed.
- This version is aimed at Java 5 and JSP 2.0.
<<lessEnhancements:
- The library was polished up.
- Several improvements were made and a few bugs were fixed.
- This version is aimed at Java 5 and JSP 2.0.
Download (0.021MB)
Added: 2005-10-13 License: BSD License Price:
1471 downloads
Memory Structures Library 4.0
Memory Structures Library (MemSL) is a complete data structures/collection classes library with memory tracing. more>>
Memory Structures Library (MemSL) is a complete data structures/collection classes library with memory tracing, memory debugging, entry/exit tracing, exception handling, definable memory handlers, built-in thread support, and much more.
The project supports single, double, and circular linked lists, AVL balanced and threaded binary trees, dynamic hashing tables, stacks, queues and dequeues (using arrays or linked lists), sets (Pascal implementation, with union, difference, intersection, etc.), bags, tables and dictionaries, priority heaps, priority search queue, and more.
<<lessThe project supports single, double, and circular linked lists, AVL balanced and threaded binary trees, dynamic hashing tables, stacks, queues and dequeues (using arrays or linked lists), sets (Pascal implementation, with union, difference, intersection, etc.), bags, tables and dictionaries, priority heaps, priority search queue, and more.
Download (0.82MB)
Added: 2007-07-04 License: GPL (GNU General Public License) Price:
846 downloads
GraphViz::Data::Structure 0.15
GraphViz::Data::Structure can visualise data structures. more>>
GraphViz::Data::Structure can visualise data structures.
SYNOPSIS
use GraphViz::Data::Structure;
my $gvds = GraphViz:Data::Structure->new($data_structure);
print $gvds->graph()->as_png;
This module makes it easy to visualise data structures, even recursive or circular ones.
It is provided as an alternative to GraphViz::Data::Grapher. Differences:
GraphViz::Data::Structure handles structures of arbitrary depth and complexity, automatically following links using a standard graph traversal algorithm.
GraphViz::Data::Grapher creates graphics of indiividual substructures (arrays, scalars, hashes) which keep the substructure type and data together; GraphViz::Data::Structure does this by shape alone.
GraphViz::Data::Structure encapsulates object info (if any) directly into the node being used to represent the class.
GraphViz::Data::Grapher colors its graphs; GraphViz::Data::Structure doesnt by default.
GraphViz::Data:Structure can parse out globs and CODE references (almost as well as the debugger does).
<<lessSYNOPSIS
use GraphViz::Data::Structure;
my $gvds = GraphViz:Data::Structure->new($data_structure);
print $gvds->graph()->as_png;
This module makes it easy to visualise data structures, even recursive or circular ones.
It is provided as an alternative to GraphViz::Data::Grapher. Differences:
GraphViz::Data::Structure handles structures of arbitrary depth and complexity, automatically following links using a standard graph traversal algorithm.
GraphViz::Data::Grapher creates graphics of indiividual substructures (arrays, scalars, hashes) which keep the substructure type and data together; GraphViz::Data::Structure does this by shape alone.
GraphViz::Data::Structure encapsulates object info (if any) directly into the node being used to represent the class.
GraphViz::Data::Grapher colors its graphs; GraphViz::Data::Structure doesnt by default.
GraphViz::Data:Structure can parse out globs and CODE references (almost as well as the debugger does).
Download (0.040MB)
Added: 2006-08-01 License: Perl Artistic License Price:
1180 downloads
Construct 2.00
Construct is a python module for defining arbitrary data structures. more>>
Construct is a python module for defining arbitrary data structures. Once a data structure (aka, "construct") is defined, it can be used to both parse raw data into an object and build an object into raw data.
Unlike most parsers, it works at the bit-level, so you dont need to worry about parsing individual bits or unaligned fields.
Construct library supports Fields, Unions, Structs and Repeaters; Adapters and Validators; Switches, Pointers and other Meta -constructs.
Main features:
- Symmetrical -- constructs can be used to parse as well as to build
- Bit-level -- can parse and build individual bits, not only bytes
- Ready -- lots of predefined primitives and common protocols definitions, which you can easily use
- Extensible -- you can easily write user-defined constructs by simply by subclassing
- Fast -- benchmarks on my machine show ~160KB/sec can be parsed, fast enough for most situations, and perhaps pysco can improve that
- Declarative -- no procedural code needed for most situations
Enhancements:
- Construct2 is a rewrite of the library, making it faster and much slimmer.
- The library is now byte-oriented instead of bit-oriented, so it uses eight times less memory.
- It can parse files directly from the disk.
- Meta constructs now use lambda instead of eval.
- Textual processing (context free grammar) was added.
- On-demand parsing was added.
- Thorough unit tests were added.
- A full online tutorial is available.
<<lessUnlike most parsers, it works at the bit-level, so you dont need to worry about parsing individual bits or unaligned fields.
Construct library supports Fields, Unions, Structs and Repeaters; Adapters and Validators; Switches, Pointers and other Meta -constructs.
Main features:
- Symmetrical -- constructs can be used to parse as well as to build
- Bit-level -- can parse and build individual bits, not only bytes
- Ready -- lots of predefined primitives and common protocols definitions, which you can easily use
- Extensible -- you can easily write user-defined constructs by simply by subclassing
- Fast -- benchmarks on my machine show ~160KB/sec can be parsed, fast enough for most situations, and perhaps pysco can improve that
- Declarative -- no procedural code needed for most situations
Enhancements:
- Construct2 is a rewrite of the library, making it faster and much slimmer.
- The library is now byte-oriented instead of bit-oriented, so it uses eight times less memory.
- It can parse files directly from the disk.
- Meta constructs now use lambda instead of eval.
- Textual processing (context free grammar) was added.
- On-demand parsing was added.
- Thorough unit tests were added.
- A full online tutorial is available.
Download (0.060MB)
Added: 2007-01-13 License: Public Domain Price:
1128 downloads
XML::Structured 1.0
XML::Structured is a simple conversion API from XML to perl structures and back. more>>
XML::Structured is a simple conversion API from XML to perl structures and back.
SYNOPSIS
use XML::Structured;
$dtd = [
element =>
attribute1,
attribute2,
[],
element1,
[ element2 ],
[ element3 =>
...
],
[[ element4 =>
...
]],
];
$hashref = XMLin($dtd, $xmlstring);
$hashref = XMLinfile($dtd, $filename_or_glob);
$xmlstring = XMLout($dtd, $hashref);
The XML::Structured module provides a way to convert xml data into a predefined perl data structure and back to xml. Unlike with modules like XML::Simple it is an error if the xml data does not match the provided skeleton (the "dtd"). Another advantage is that the order of the attributes and elements is taken from the dtd when converting back to xml.
<<lessSYNOPSIS
use XML::Structured;
$dtd = [
element =>
attribute1,
attribute2,
[],
element1,
[ element2 ],
[ element3 =>
...
],
[[ element4 =>
...
]],
];
$hashref = XMLin($dtd, $xmlstring);
$hashref = XMLinfile($dtd, $filename_or_glob);
$xmlstring = XMLout($dtd, $hashref);
The XML::Structured module provides a way to convert xml data into a predefined perl data structure and back to xml. Unlike with modules like XML::Simple it is an error if the xml data does not match the provided skeleton (the "dtd"). Another advantage is that the order of the attributes and elements is taken from the dtd when converting back to xml.
Download (0.005MB)
Added: 2006-09-07 License: Perl Artistic License Price:
1142 downloads
generateDS.py 1.10a
generateDS.py generates Python data structures (for example, class definitions) from an XML Schema document. more>>
generateDS.py generates Python data structures (for example, class definitions) from an XML Schema document. These data structures represent the elements in an XML document described by the XML Schema.
It also generates parsers that load an XML document into those data structures. In addition, a separate file containing subclasses (stubs) is optionally generated. The user can add methods to the subclasses in order to process the contents of an XML document.
The generated Python code contains:
- A class definition for each element defined in the XML Schema document.
- A main and driver function that can be used to test the generated code.
- A parser that will read an XML document which satisfies the XML Schema from which the parser was generated. The parser creates and populates a tree structure of instances of the generated Python classes.
- Methods in each class to export the instance back out to XML (method export) and to export the instance to a literal representing the Python data structure (method exportLiteral).
The generated classes contain the following:
- A constructor method (__init__), with member variable initializers.
- Methods with names getX and setX for each member variable X or, if the member variable is defined with maxOccurs="unbounded", methods with names getX, setX, addX, and insertX.
- A "build" method that can be used to populate an instance of the class from a node in a minidom tree.
- An "export" method that will write the instance (and any nested sub-instances) to a file object as XML text.
- An "exportLiteral" method that will write the instance (and any nested sub-instances) to a file object as Python literals (text).
The generated subclass file contains one (sub-)class definition for each data representation class. If the subclass file is used, then the parser creates instances of the subclasses (instead of creating instances of the superclasses). This enables the user to extend the subclasses with "tree walk" methods, for example, that process the contents of the XML file. The user can also generate and extend multiple subclass files which use a single, common superclass file, thus implementing a number of different processes on the same XML document type.
This document explains (1) how to use generateDS.py; (2) how to use the Python code and data structures that it generates; and (3) how to modify the generated code for special purposes.
<<lessIt also generates parsers that load an XML document into those data structures. In addition, a separate file containing subclasses (stubs) is optionally generated. The user can add methods to the subclasses in order to process the contents of an XML document.
The generated Python code contains:
- A class definition for each element defined in the XML Schema document.
- A main and driver function that can be used to test the generated code.
- A parser that will read an XML document which satisfies the XML Schema from which the parser was generated. The parser creates and populates a tree structure of instances of the generated Python classes.
- Methods in each class to export the instance back out to XML (method export) and to export the instance to a literal representing the Python data structure (method exportLiteral).
The generated classes contain the following:
- A constructor method (__init__), with member variable initializers.
- Methods with names getX and setX for each member variable X or, if the member variable is defined with maxOccurs="unbounded", methods with names getX, setX, addX, and insertX.
- A "build" method that can be used to populate an instance of the class from a node in a minidom tree.
- An "export" method that will write the instance (and any nested sub-instances) to a file object as XML text.
- An "exportLiteral" method that will write the instance (and any nested sub-instances) to a file object as Python literals (text).
The generated subclass file contains one (sub-)class definition for each data representation class. If the subclass file is used, then the parser creates instances of the subclasses (instead of creating instances of the superclasses). This enables the user to extend the subclasses with "tree walk" methods, for example, that process the contents of the XML file. The user can also generate and extend multiple subclass files which use a single, common superclass file, thus implementing a number of different processes on the same XML document type.
This document explains (1) how to use generateDS.py; (2) how to use the Python code and data structures that it generates; and (3) how to modify the generated code for special purposes.
Download (0.11MB)
Added: 2007-05-12 License: MIT/X Consortium License Price:
898 downloads
Data::SecsPack 0.06
Data::SecsPack is a Perl module pack and unpack numbers in accordance with SEMI E5-94. more>>
Data::SecsPack is a Perl module pack and unpack numbers in accordance with SEMI E5-94.
SYNOPSIS
#####
# Subroutine interface
#
use Data::SecsPack qw(bytes2int config float2binary
ifloat2binary int2bytes
pack_float pack_int pack_num
str2float str2int
unpack_float unpack_int unpack_num);
$big_integer = bytes2int( @bytes );
$old_value = config( $option );
$old_value = config( $option => $new_value);
($binary_magnitude, $binary_exponent) = float2binary($magnitude, $exponent, @options);
($binary_magnitude, $binary_exponent) = ifloat2binary($imagnitude, $iexponent, @options);
@bytes = int2bytes( $big_integer );
($format, $floats) = pack_float($format, @string_floats, [@options]);
($format, $integers) = pack_int($format, @string_integers, [@options]);
($format, $numbers, @string) = pack_num($format, @strings, [@options]);
$float = str2float($string, [@options]);
(@strings, @floats) = str2float(@strings, [@options]);
$integer = str2int($string, [@options]);
(@strings, @integers) = str2int(@strings, [@options]);
@ingegers = unpack_int($format, $integer_string, @options);
@floats = unpack_float($format, $float_string, @options);
@numbers = unpack_num($format, $number_string), @options;
#####
# Class, Object interface
#
# For class interface, use Data::SecsPack instead of $self
#
use Data::SecsPack;
$secspack = Data::SecsPack; # uses built-in config object
$secspack = new Data::SecsPack(@options);
$big_integer = bytes2int( @bytes );
($binary_magnitude, $binary_exponent) = $secspack->float2binary($magnitude, $exponent, @options);
($binary_magnitude, $binary_exponent) = $secspack->ifloat2binary($imagnitude, $iexponent, @options);
@bytes = $secspack->int2bytes( $big_integer );
($format, $floats) = $secspack->pack_float($format, @string_integers, [@options]);
($format, $integers) = $secspack->pack_int($format, @string_integers, [@options]);
($format, $numbers, @strings) = $secspack->pack_num($format, @strings, [@options]);
$integer = $secspack->str2int($string, [@options])
(@strings, @integers) = $secspack->str2int(@strings, [@options]);
$float = $secspack->str2float($string, [@options]);
(@strings, @floats) = $secspack->str2float(@strings, [@options]);
@ingegers = $secspack->unpack_int($format, $integer_string, @options);
@floats = $secspack->unpack_float($format, $float_string, @options);
@numbers = $secspack->unpack_num($format, $number_string, @options);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
The subroutines in the Data::SecsPack module packs and unpacks numbers in accordance with SEMI E5-94. The E5-94 establishes the standard for communication between the equipment used to fabricate semiconductors and the host computer that controls the fabrication. The equipment in a semiconductor factory (fab) or any other fab contains every conceivable known microprocessor and operating system known to man. And there are a lot of specialize real-time embedded processors and speciallize real-time embedded operating systems in addition to the those in the PC world.
The communcication between host and equipment used packed nested list data structures that include arrays of characters, integers and floats. The standard has been in place and widely used in China, Germany, Korea, Japan, France, Italy and the most remote corners on this planent for decades. The basic data structure and packed data formats have not changed for decades.
This stands in direct contradiction to the common conceptions of many in the Perl community and most other communities. The following quote is taken from page 761, Programming Perl third edition, discussing the pack subroutine:
"Floating-point numbers are in the native machine format only. Because of the variety of floating format and lack of a standard "network" represenation, no facility for interchange has been made. This means that packed floating-point data written on one machine may not be readable on another. That is a problem even when both machines use IEEE floating-point arithmetic, because the endian-ness of memory representation is not part of the IEEE spec."
There are a lot of things that go over the net that have industry or military standards but no RFCs. So unless you dig them out, you will never know they exist. While RFC and military standards may be freely copyied, industry standards are usually copyrighted. This means if you want to read the standard, you have to pay whatever the market bears. ISO standards, SEMI stardards, American National Standards, IEEE standards beside being boring are expensive. In other words, you do not see them flying out the door at the local Barnes and Nobles. In fact, you will not even find them inside the door.
It very easy to run these non RFC standard protocols over the net. Out of 64,000 ports, pick a port of opportunity (hopefully not one of those low RFC preassigned ports) and configure the equipment and host to the same IP and port. Many times the software will allow a remote console that is watch only. The watch console may even be a web server on port 80. If there is a remote soft console, you can call up or e-mail the equipment manufacturers engineer in say Glouster, MA, USA and tell him the IP and port so he can watch his manchine mangle a cassette of wafers with a potential retail value of half million dollars.
SEMI E5-94 and their precessors do standardize the endian-ness of floating point, the packing of nested data, used in many programming languages, and much, much more. The endian-ness of SEMI E5-94 is the first MSB byte, floats sign bit first. Maybe this is because it makes it easy to spot numbers in a packed data structure.
The nested data has many performance advantages over the common SQL culture of viewing and representing data as tables. The automated fabs of the world make use of SEMI E5-94 nested data not only for real-time communication (TCP/IP RS-2332 etc) between machines but also for snail-time processing as such things as logs and performance data.
Does this standard communications protocol ensure that everything goes smoothly without any glitches with this wild mixture of hardware and software talking to each other in real time? Of course not. Bytes get reverse. Data gets jumbled from point A to point B. Machine time to test software is non-existance. Big ticket, multi-million dollar fab equipment has to work to earn its keep. And, then there is the everyday business of suiting up, with humblizing hair nets, going through air and other showers with your favorite or not so favorite co-worker just to get into the clean room. And make sure not to do anything that will scatch a wafer with a lot of Intel Pentiums on them. It is totally amazing that the product does get out the door.
<<lessSYNOPSIS
#####
# Subroutine interface
#
use Data::SecsPack qw(bytes2int config float2binary
ifloat2binary int2bytes
pack_float pack_int pack_num
str2float str2int
unpack_float unpack_int unpack_num);
$big_integer = bytes2int( @bytes );
$old_value = config( $option );
$old_value = config( $option => $new_value);
($binary_magnitude, $binary_exponent) = float2binary($magnitude, $exponent, @options);
($binary_magnitude, $binary_exponent) = ifloat2binary($imagnitude, $iexponent, @options);
@bytes = int2bytes( $big_integer );
($format, $floats) = pack_float($format, @string_floats, [@options]);
($format, $integers) = pack_int($format, @string_integers, [@options]);
($format, $numbers, @string) = pack_num($format, @strings, [@options]);
$float = str2float($string, [@options]);
(@strings, @floats) = str2float(@strings, [@options]);
$integer = str2int($string, [@options]);
(@strings, @integers) = str2int(@strings, [@options]);
@ingegers = unpack_int($format, $integer_string, @options);
@floats = unpack_float($format, $float_string, @options);
@numbers = unpack_num($format, $number_string), @options;
#####
# Class, Object interface
#
# For class interface, use Data::SecsPack instead of $self
#
use Data::SecsPack;
$secspack = Data::SecsPack; # uses built-in config object
$secspack = new Data::SecsPack(@options);
$big_integer = bytes2int( @bytes );
($binary_magnitude, $binary_exponent) = $secspack->float2binary($magnitude, $exponent, @options);
($binary_magnitude, $binary_exponent) = $secspack->ifloat2binary($imagnitude, $iexponent, @options);
@bytes = $secspack->int2bytes( $big_integer );
($format, $floats) = $secspack->pack_float($format, @string_integers, [@options]);
($format, $integers) = $secspack->pack_int($format, @string_integers, [@options]);
($format, $numbers, @strings) = $secspack->pack_num($format, @strings, [@options]);
$integer = $secspack->str2int($string, [@options])
(@strings, @integers) = $secspack->str2int(@strings, [@options]);
$float = $secspack->str2float($string, [@options]);
(@strings, @floats) = $secspack->str2float(@strings, [@options]);
@ingegers = $secspack->unpack_int($format, $integer_string, @options);
@floats = $secspack->unpack_float($format, $float_string, @options);
@numbers = $secspack->unpack_num($format, $number_string, @options);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
The subroutines in the Data::SecsPack module packs and unpacks numbers in accordance with SEMI E5-94. The E5-94 establishes the standard for communication between the equipment used to fabricate semiconductors and the host computer that controls the fabrication. The equipment in a semiconductor factory (fab) or any other fab contains every conceivable known microprocessor and operating system known to man. And there are a lot of specialize real-time embedded processors and speciallize real-time embedded operating systems in addition to the those in the PC world.
The communcication between host and equipment used packed nested list data structures that include arrays of characters, integers and floats. The standard has been in place and widely used in China, Germany, Korea, Japan, France, Italy and the most remote corners on this planent for decades. The basic data structure and packed data formats have not changed for decades.
This stands in direct contradiction to the common conceptions of many in the Perl community and most other communities. The following quote is taken from page 761, Programming Perl third edition, discussing the pack subroutine:
"Floating-point numbers are in the native machine format only. Because of the variety of floating format and lack of a standard "network" represenation, no facility for interchange has been made. This means that packed floating-point data written on one machine may not be readable on another. That is a problem even when both machines use IEEE floating-point arithmetic, because the endian-ness of memory representation is not part of the IEEE spec."
There are a lot of things that go over the net that have industry or military standards but no RFCs. So unless you dig them out, you will never know they exist. While RFC and military standards may be freely copyied, industry standards are usually copyrighted. This means if you want to read the standard, you have to pay whatever the market bears. ISO standards, SEMI stardards, American National Standards, IEEE standards beside being boring are expensive. In other words, you do not see them flying out the door at the local Barnes and Nobles. In fact, you will not even find them inside the door.
It very easy to run these non RFC standard protocols over the net. Out of 64,000 ports, pick a port of opportunity (hopefully not one of those low RFC preassigned ports) and configure the equipment and host to the same IP and port. Many times the software will allow a remote console that is watch only. The watch console may even be a web server on port 80. If there is a remote soft console, you can call up or e-mail the equipment manufacturers engineer in say Glouster, MA, USA and tell him the IP and port so he can watch his manchine mangle a cassette of wafers with a potential retail value of half million dollars.
SEMI E5-94 and their precessors do standardize the endian-ness of floating point, the packing of nested data, used in many programming languages, and much, much more. The endian-ness of SEMI E5-94 is the first MSB byte, floats sign bit first. Maybe this is because it makes it easy to spot numbers in a packed data structure.
The nested data has many performance advantages over the common SQL culture of viewing and representing data as tables. The automated fabs of the world make use of SEMI E5-94 nested data not only for real-time communication (TCP/IP RS-2332 etc) between machines but also for snail-time processing as such things as logs and performance data.
Does this standard communications protocol ensure that everything goes smoothly without any glitches with this wild mixture of hardware and software talking to each other in real time? Of course not. Bytes get reverse. Data gets jumbled from point A to point B. Machine time to test software is non-existance. Big ticket, multi-million dollar fab equipment has to work to earn its keep. And, then there is the everyday business of suiting up, with humblizing hair nets, going through air and other showers with your favorite or not so favorite co-worker just to get into the clean room. And make sure not to do anything that will scatch a wafer with a lot of Intel Pentiums on them. It is totally amazing that the product does get out the door.
Download (0.10MB)
Added: 2007-01-15 License: Perl Artistic License Price:
1014 downloads
HTML::Tree::AboutTrees 3.21
HTML::Tree::AboutTrees is a article on tree-shaped data structures in Perl. more>>
HTML::Tree::AboutTrees is a article on tree-shaped data structures in Perl.
This an article, not a module.
The following article by Sean M. Burke first appeared in The Perl Journal #18 and is copyright 2000 The Perl Journal. It appears courtesy of Jon Orwant and The Perl Journal. This document may be distributed under the same terms as Perl itself.
<<lessThis an article, not a module.
The following article by Sean M. Burke first appeared in The Perl Journal #18 and is copyright 2000 The Perl Journal. It appears courtesy of Jon Orwant and The Perl Journal. This document may be distributed under the same terms as Perl itself.
Download (0.11MB)
Added: 2006-09-18 License: GPL (GNU General Public License) Price:
1132 downloads
HTML Entity Based Codepage Inference 0.01
HEBCI is a technique that allows a Web form handler to transparently detect the character set with which its data was encoded. more>> <<less
Download (0.005MB)
Added: 2005-07-05 License: GPL (GNU General Public License) Price:
1575 downloads
Structured Document Validator 0.7.9
Structured Document Validator project implements a generalized method for structured documents. more>>
Structured Document Validator project implements a generalized method for validating both the structure and content of structured documents.
Any data format that can be deterministically divided into tags and data is classed as a structured document. This definition applies to a wide array of data formats, including XML, Java properties files, and delimited value files.
The application performs validations based on user-defined Structured Document Definitions (SDDs). It provides an environment for validation, SDD development, and document editing.
<<lessAny data format that can be deterministically divided into tags and data is classed as a structured document. This definition applies to a wide array of data formats, including XML, Java properties files, and delimited value files.
The application performs validations based on user-defined Structured Document Definitions (SDDs). It provides an environment for validation, SDD development, and document editing.
Download (0.59MB)
Added: 2006-01-06 License: LGPL (GNU Lesser General Public License) Price:
1387 downloads
XML::Generator::PerlData 0.89
XML::Generator::PerlData is a Perl extension for generating SAX2 events from nested Perl data structures. more>>
XML::Generator::PerlData is a Perl extension for generating SAX2 events from nested Perl data structures.
SYNOPSIS
use XML::Generator::PerlData;
use SomeSAX2HandlerOrFilter;
## Simple style ##
# get a deeply nested Perl data structure...
my $hash_ref = $obj->getScaryNestedDataStructure();
# create an instance of a handler class to forward events to...
my $handler = SomeSAX2HandlerOrFilter->new();
# create an instance of the PerlData driver...
my $driver = XML::Generator::PerlData->new( Handler => $handler );
# generate XML from the data structure...
$driver->parse( $hash_ref );
## Or, Stream style ##
use XML::Generator::PerlData;
use SomeSAX2HandlerOrFilter;
# create an instance of a handler class to forward events to...
my $handler = SomeSAX2HandlerOrFilter->new();
# create an instance of the PerlData driver...
my $driver = XML::Generator::PerlData->new( Handler => $handler );
# start the event stream...
$driver->parse_start();
# pass the data through in chunks
# (from a database handle here)
while ( my $array_ref = $dbd_sth->fetchrow_arrayref ) {
$driver->parse_chunk( $array_ref );
}
# end the event stream...
$driver->parse_end();
and youre done...
XML::Generator::PerlData provides a simple way to generate SAX2 events from nested Perl data structures, while providing finer-grained control over the resulting document streams.
Processing comes in two flavors: Simple Style and Stream Style:
In a nutshell, simple style is best used for those cases where you have a a single Perl data structure that you want to convert to XML as quickly and painlessly as possible. Stream style is more useful for cases where you are receiving chunks of data (like from a DBI handle) and you want to process those chunks as they appear. See PROCESSING METHODS for more info about how each style works.
<<lessSYNOPSIS
use XML::Generator::PerlData;
use SomeSAX2HandlerOrFilter;
## Simple style ##
# get a deeply nested Perl data structure...
my $hash_ref = $obj->getScaryNestedDataStructure();
# create an instance of a handler class to forward events to...
my $handler = SomeSAX2HandlerOrFilter->new();
# create an instance of the PerlData driver...
my $driver = XML::Generator::PerlData->new( Handler => $handler );
# generate XML from the data structure...
$driver->parse( $hash_ref );
## Or, Stream style ##
use XML::Generator::PerlData;
use SomeSAX2HandlerOrFilter;
# create an instance of a handler class to forward events to...
my $handler = SomeSAX2HandlerOrFilter->new();
# create an instance of the PerlData driver...
my $driver = XML::Generator::PerlData->new( Handler => $handler );
# start the event stream...
$driver->parse_start();
# pass the data through in chunks
# (from a database handle here)
while ( my $array_ref = $dbd_sth->fetchrow_arrayref ) {
$driver->parse_chunk( $array_ref );
}
# end the event stream...
$driver->parse_end();
and youre done...
XML::Generator::PerlData provides a simple way to generate SAX2 events from nested Perl data structures, while providing finer-grained control over the resulting document streams.
Processing comes in two flavors: Simple Style and Stream Style:
In a nutshell, simple style is best used for those cases where you have a a single Perl data structure that you want to convert to XML as quickly and painlessly as possible. Stream style is more useful for cases where you are receiving chunks of data (like from a DBI handle) and you want to process those chunks as they appear. See PROCESSING METHODS for more info about how each style works.
Download (0.013MB)
Added: 2006-09-12 License: GPL (GNU General Public License) Price:
1137 downloads
Data::TreeDumper::Renderer::GTK 0.01
Data::TreeDumper::Renderer::GTK is a Gtk2::TreeView renderer for Data::TreeDumper. more>>
Data::TreeDumper::Renderer::GTK is a Gtk2::TreeView renderer for Data::TreeDumper.
SYNOPSIS
my $treedumper = Data::TreeDumper::Renderer::GTK->new
(
data => %data,
title => Test Data,
dumper_setup => {DISPLAY_PERL_SIZE => 1}
);
$treedumper->modify_font(Gtk2::Pango::FontDescription->from_string (monospace));
$treedumper->expand_all;
# some boilerplate to get the widget onto the screen...
my $window = Gtk2::Window->new;
my $scroller = Gtk2::ScrolledWindow->new;
$scroller->add ($treedumper);
$window->add ($scroller);
$window->show_all;
HIERARCHY
Glib::Object
+----Gtk2::Object
+----Gtk2::Widget
+----Gtk2::Container
+----Gtk2::TreeView
+----Mup::TreeDumper
GTK-perl renderer for Data::TreeDumper.
This widget is the gui equivalent of Data::TreeDumper; it will display a perl data structure in a TreeView, allowing you to fold and unfold child data structures and get a quick feel for whats where. Right-clicking anywhere in the view brings up a context menu, from which the user can choose to expand or collapse all items.
<<lessSYNOPSIS
my $treedumper = Data::TreeDumper::Renderer::GTK->new
(
data => %data,
title => Test Data,
dumper_setup => {DISPLAY_PERL_SIZE => 1}
);
$treedumper->modify_font(Gtk2::Pango::FontDescription->from_string (monospace));
$treedumper->expand_all;
# some boilerplate to get the widget onto the screen...
my $window = Gtk2::Window->new;
my $scroller = Gtk2::ScrolledWindow->new;
$scroller->add ($treedumper);
$window->add ($scroller);
$window->show_all;
HIERARCHY
Glib::Object
+----Gtk2::Object
+----Gtk2::Widget
+----Gtk2::Container
+----Gtk2::TreeView
+----Mup::TreeDumper
GTK-perl renderer for Data::TreeDumper.
This widget is the gui equivalent of Data::TreeDumper; it will display a perl data structure in a TreeView, allowing you to fold and unfold child data structures and get a quick feel for whats where. Right-clicking anywhere in the view brings up a context menu, from which the user can choose to expand or collapse all items.
Download (0.004MB)
Added: 2006-07-11 License: Perl Artistic License Price:
1200 downloads
cpp xstream 0.0.3
cpp xstream is a collection of several streambuf and iostream classes. more>>
cpp xstream is a C++ flexible stream library.
cpp xstream is a collection of several streambuf and iostream classes that allow a programmer to compress and decompress data transparently with gzip or bzip2, to serialize composite types to xdr, to encode or decode with base64, and to tee output from one channel to several others. These streams can be stacked on each other.
Main features:
- Compressing and decompressing data using zlib and bzlib
- Encode and decode base64 data
- Serialize and deserialize structures to XDR
- Calculate digests of data
- Fork data written to a stream to several others
- Use file descriptors using a iostream interface (where available)
<<lesscpp xstream is a collection of several streambuf and iostream classes that allow a programmer to compress and decompress data transparently with gzip or bzip2, to serialize composite types to xdr, to encode or decode with base64, and to tee output from one channel to several others. These streams can be stacked on each other.
Main features:
- Compressing and decompressing data using zlib and bzlib
- Encode and decode base64 data
- Serialize and deserialize structures to XDR
- Calculate digests of data
- Fork data written to a stream to several others
- Use file descriptors using a iostream interface (where available)
Download (0.11MB)
Added: 2006-03-07 License: GPL (GNU General Public License) Price:
1329 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 encoded data structures 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