conditional discharge
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 85
Rational PIC Assembler 2.0
Rational PIC Assembler is a mid-range PIC assembler with Intel style syntax. more>>
Rational PIC Assembler is an assembler for the mid-range microcontrollers from Microchip. The project uses Intel style mnemonics and target-first operand ordering. Designed to feel comfortable to PC assembly programmers.
This assembler generates code compatible with Microchips midline microcontrollers but is incompatible with their assembler. It should feel familiar to any PC assembly programmer. The instruction mnemonics and operand order are Intel style ( i.e. right, as opposed to wrong ).
Command Line Syntax
pic-asm [ -c ] [ -l filename ] [ -o filename ] input_file
-c -- console mode
an assembly source is accepted from stdin. binary code is
output on stdout. errors are output to stderr
-l filename -- specify listing file
-o filename -- specify object file
Input
The input is a sequence of line each of which contains one or more of the following fields
label instruction operands ; comment
The label and comment are optional. The operands required depend on the instruction.
The assembler is case sensitive, even for instructions.
Constants
Hex values can be specified with C-style 0x[:xdigit:]+. Binary values can be specified with 0b[01]+. Decimal values require no prefix as decimal is the default base.
Character constants are specified by enclosing a single character or escaped character within single quotes. String constants are specified by enclosing zero or more characters and escaped characters within double quotes. String constants generate one character constant for each character in the string. There is no trailing zero stored. For example:
db "Hello worldn", 0, a, b, r, n, t
Labels
A label is a sequence of alphanumeric characters ( including underbar ) that starts a line. Labels do not have colons. Labels local to the last nonlocal label can be defined by prefixing the name with a dot. For instance
; example from example-1.asm
foo call .1
.1 jmp .2
.2 jmp .1
bar call .1
.1 jmp .2
.2 jmp .1
In this example, the labels defined are foo, foo.1, foo.2, bar, bar.1, and bar.2. The first call branches to foo.1. The second call branches to bar.1. The labels local to foo can not be referenced before foo has been declared nor after bar has been declared.
Directives
Data can be declared. The declarator takes the place of the instruction and is followed by one or more expressions separated by commas. Each expression corresponds to one word in the output code regardless of the declarator type.
db - each operand is AND-ed with 0xff before being stored
dw - full 14 bit word definition
dt - each operand is AND-ed with 0xff and OR-ed with 0x3400 ( the return-with-value opcode ). This allows generation of case tables. You can add the accumulator ( w ) to the offset of the table. The processor will branch to the location in the table and return with an eight bit result
For instance:
db 1,2,3
dw 0x3fff, 0x3ff * 16 + 15, -1
dt 0b001, 0b010, 0b100
Equates are a named sequence of tokens. They can be defined with equ. For instance:
led_1 equ 0x100 | 1
led_2 equ 0x100 | 2
combo equ ( led_1 ) | ( led_2 )
The org position can be changed with org. For instance
org 0x10o
Enhancements:
- This release adds support for sophisticated macros, include files, conditional compilation, and compatibility with Microchip headers.
<<lessThis assembler generates code compatible with Microchips midline microcontrollers but is incompatible with their assembler. It should feel familiar to any PC assembly programmer. The instruction mnemonics and operand order are Intel style ( i.e. right, as opposed to wrong ).
Command Line Syntax
pic-asm [ -c ] [ -l filename ] [ -o filename ] input_file
-c -- console mode
an assembly source is accepted from stdin. binary code is
output on stdout. errors are output to stderr
-l filename -- specify listing file
-o filename -- specify object file
Input
The input is a sequence of line each of which contains one or more of the following fields
label instruction operands ; comment
The label and comment are optional. The operands required depend on the instruction.
The assembler is case sensitive, even for instructions.
Constants
Hex values can be specified with C-style 0x[:xdigit:]+. Binary values can be specified with 0b[01]+. Decimal values require no prefix as decimal is the default base.
Character constants are specified by enclosing a single character or escaped character within single quotes. String constants are specified by enclosing zero or more characters and escaped characters within double quotes. String constants generate one character constant for each character in the string. There is no trailing zero stored. For example:
db "Hello worldn", 0, a, b, r, n, t
Labels
A label is a sequence of alphanumeric characters ( including underbar ) that starts a line. Labels do not have colons. Labels local to the last nonlocal label can be defined by prefixing the name with a dot. For instance
; example from example-1.asm
foo call .1
.1 jmp .2
.2 jmp .1
bar call .1
.1 jmp .2
.2 jmp .1
In this example, the labels defined are foo, foo.1, foo.2, bar, bar.1, and bar.2. The first call branches to foo.1. The second call branches to bar.1. The labels local to foo can not be referenced before foo has been declared nor after bar has been declared.
Directives
Data can be declared. The declarator takes the place of the instruction and is followed by one or more expressions separated by commas. Each expression corresponds to one word in the output code regardless of the declarator type.
db - each operand is AND-ed with 0xff before being stored
dw - full 14 bit word definition
dt - each operand is AND-ed with 0xff and OR-ed with 0x3400 ( the return-with-value opcode ). This allows generation of case tables. You can add the accumulator ( w ) to the offset of the table. The processor will branch to the location in the table and return with an eight bit result
For instance:
db 1,2,3
dw 0x3fff, 0x3ff * 16 + 15, -1
dt 0b001, 0b010, 0b100
Equates are a named sequence of tokens. They can be defined with equ. For instance:
led_1 equ 0x100 | 1
led_2 equ 0x100 | 2
combo equ ( led_1 ) | ( led_2 )
The org position can be changed with org. For instance
org 0x10o
Enhancements:
- This release adds support for sophisticated macros, include files, conditional compilation, and compatibility with Microchip headers.
Download (0.040MB)
Added: 2006-10-31 License: GPL (GNU General Public License) Price:
1090 downloads
File Selection Language 0.5.1
File Selection Language is a descriptive language for file selection. more>>
File Selection Language (FSL) is a descriptive language for file selection. File Selection Language is used to selectively pick files from a directory structure.
FSL is useful for selective backups, for instance. FSL uses glob patterns as the basic building block.
For fine-tuning the selection, inclusion/exclusion rule combinations and conditional expressions are available. File size and modification date can be used in expressions.
Main features:
- FSL can be used with a command line tool (fsltool) or, for Python programmers, with a programmable interface. For the Python interface, see the documentation of Interpreter.py.
- Several FSL rule files can be combined in a cascading manner similar to CSS. The effect is the same as if the rule files were pasted into a single file.
- Support for both Windows-like and Unix-like paths.
- Strict parse-time type checking to catch as many errors as possible before run-time. For example, you cant say EACH f IF size(5) > 1000 because function size expects filename argument.
<<lessFSL is useful for selective backups, for instance. FSL uses glob patterns as the basic building block.
For fine-tuning the selection, inclusion/exclusion rule combinations and conditional expressions are available. File size and modification date can be used in expressions.
Main features:
- FSL can be used with a command line tool (fsltool) or, for Python programmers, with a programmable interface. For the Python interface, see the documentation of Interpreter.py.
- Several FSL rule files can be combined in a cascading manner similar to CSS. The effect is the same as if the rule files were pasted into a single file.
- Support for both Windows-like and Unix-like paths.
- Strict parse-time type checking to catch as many errors as possible before run-time. For example, you cant say EACH f IF size(5) > 1000 because function size expects filename argument.
Download (0.071MB)
Added: 2005-12-07 License: BSD License Price:
1416 downloads
Video Disk Recorder 1.4.4
Video Disk Recorder is a digital satellite receiver program using Linux and DVB technologies. more>>
Video Disk Recorder (VDR) is a digital satellite receiver program using Linux and DVB technologies. Video Disk Recorder can record MPEG2 streams, as well as output the stream to TV. It also supports plugins for DVD, DivX, or MP3 playback and more.
Main features:
- Operation entirely via DVB cards On Screen Display and infrared control (LIRC/RCU) or keyboard
- Support for multiple DVB cards (up to four, at least one full featured card with video out required) and "conditional access" (CICAM)
- Channel groups
- EPG display by channel or by time ("Whats on now/next")
- Timers: Programming via EPG or manually, priority/lifetime model, single-shot or repeating timers which use EPG subtitle info as recordings title additionally
- Recording storage on disk: Automatically splitting of recording into files (<<less
Main features:
- Operation entirely via DVB cards On Screen Display and infrared control (LIRC/RCU) or keyboard
- Support for multiple DVB cards (up to four, at least one full featured card with video out required) and "conditional access" (CICAM)
- Channel groups
- EPG display by channel or by time ("Whats on now/next")
- Timers: Programming via EPG or manually, priority/lifetime model, single-shot or repeating timers which use EPG subtitle info as recordings title additionally
- Recording storage on disk: Automatically splitting of recording into files (<<less
Download (0.47MB)
Added: 2006-11-12 License: GPL (GNU General Public License) Price:
1093 downloads
deb-install 0.6.1
deb-install it installs packages and archives and shows information about them. more>>
deb-install is a (big) shellskript, that works on top of the package management tools provided by the debian project.
The goal is to create one command that installs any package into your system, or provides information about any package, without the user having to know all the different tools there are.
Version restrictions:
- On some systems bash reports deb-install as culprit if one of its configuration files contains an invalid command. Other then a slightly misleading error message, this doesnt have bad consequences.
Enhancements:
- Made deb-install able to recover from error when working with local files (more exactly: When working with a local file, deb-install remembers the state it is in. After it aborted, you can restart it in such a way, that it enters into that same state again [preferably after you removed the reason for the error].)
- Added option --abort-on , which lets you stop deb-install partway, when working with local files.
- Added option --dpkg-buildpackage, which lets you pass through options to that tool (used to build the .deb file if you compile from source).
- Changed location of user specific configuration files (to ~/.deb-install/deb-install.conf).
- Improved tab completion: It is faster, can expand the tilde (~), and now also works for files and directories containing spaces.
- Changed temp deletion behaviour. Now deb-install only deletes a left over temp directory if you tell it to work with a local file. That means you can install missing packages using apt-get via deb-install when a compile aborts, and resume the compile afterwards.
- Removed tracking of changes to the temp directory. The code was complicated, and now that the temp directory isnt deleted as often, I think the ability is not very useful.
- deb-install doesnt switch into searchmode anymore, if it cant find a file or package. After all, we now have tab completion, and search mode does take quite some time. Who says the user wants to do that?
- Added support for slackware packages.
- Changed interpretation of configuration files: Until now, they were read in by a simple text parser. Now they are executed by bash. This gives the user much more possibilities of how to define the variables (.e.g. conditional defines). Furthermore, all program constants are now redefineable in the conf files.
- Important: Old configuration files are NOT compatible (They contain spaces around "=", were there should be none).
- Added option --, which works just as you probably expect: No more options after this one. This allows for filenames starting with a dash.
- Expanded the documentation.
<<lessThe goal is to create one command that installs any package into your system, or provides information about any package, without the user having to know all the different tools there are.
Version restrictions:
- On some systems bash reports deb-install as culprit if one of its configuration files contains an invalid command. Other then a slightly misleading error message, this doesnt have bad consequences.
Enhancements:
- Made deb-install able to recover from error when working with local files (more exactly: When working with a local file, deb-install remembers the state it is in. After it aborted, you can restart it in such a way, that it enters into that same state again [preferably after you removed the reason for the error].)
- Added option --abort-on , which lets you stop deb-install partway, when working with local files.
- Added option --dpkg-buildpackage, which lets you pass through options to that tool (used to build the .deb file if you compile from source).
- Changed location of user specific configuration files (to ~/.deb-install/deb-install.conf).
- Improved tab completion: It is faster, can expand the tilde (~), and now also works for files and directories containing spaces.
- Changed temp deletion behaviour. Now deb-install only deletes a left over temp directory if you tell it to work with a local file. That means you can install missing packages using apt-get via deb-install when a compile aborts, and resume the compile afterwards.
- Removed tracking of changes to the temp directory. The code was complicated, and now that the temp directory isnt deleted as often, I think the ability is not very useful.
- deb-install doesnt switch into searchmode anymore, if it cant find a file or package. After all, we now have tab completion, and search mode does take quite some time. Who says the user wants to do that?
- Added support for slackware packages.
- Changed interpretation of configuration files: Until now, they were read in by a simple text parser. Now they are executed by bash. This gives the user much more possibilities of how to define the variables (.e.g. conditional defines). Furthermore, all program constants are now redefineable in the conf files.
- Important: Old configuration files are NOT compatible (They contain spaces around "=", were there should be none).
- Added option --, which works just as you probably expect: No more options after this one. This allows for filenames starting with a dash.
- Expanded the documentation.
Download (0.045MB)
Added: 2005-04-07 License: GPL (GNU General Public License) Price:
1701 downloads
Performance Application Programming Interface 3.9.0
Performance Application Programming Interface is an API for a CPU performance counter. more>>
PAPI aims to provide the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors.
PAPI enables software engineers to see, in near real time, the relation between software performance and processor events.
The Performance API (PAPI) project specifies a standard application programming interface (API) for accessing hardware performance counters available on most modern microprocessors.
These counters exist as a small set of registers that count Events, occurrences of specific signals related to the processors function. Monitoring these events facilitates correlation between the structure of source/object code and the efficiency of the mapping of that code to the underlying architecture.
This correlation has a variety of uses in performance analysis including hand tuning, compiler optimization, debugging, benchmarking, monitoring and performance modeling. In addition, it is hoped that this information will prove useful in the development of new compilation technology as well as in steering architectural development towards alleviating commonly occurring bottlenecks in high performance computing.
PAPI provides two interfaces to the underlying counter hardware; a simple, high level interface for the acquisition of simple measurements and a fully programmable, low level interface directed towards users with more sophisticated needs.
The low level PAPI interface deals with hardware events in groups called EventSets. EventSets reflect how the counters are most frequently used, such as taking simultaneous measurements of different hardware events and relating them to one another.
For example, relating cycles to memory references or flops to level 1 cache misses can indicate poor locality and memory management. In addition, EventSets allow a highly efficient implementation which translates to more detailed and accurate measurements.
EventSets are fully programmable and have features such as guaranteed thread safety, writing of counter values, multiplexing and notification on threshold crossing, as well as processor specific features. The high level interface simply provides the ability to start, stop and read specific events, one at a time.
PAPI provides portability across different platforms. It uses the same routines with similar argument lists to control and access the counters for every architecture. As part of PAPI, we have predefined a set of events that we feel represents the lowest common denominator of every good counter implementation.
Our intent is that the same source code will count similar and possibly comparable events when run on different platforms. If the programmer chooses to use this set of standardized events, then the source code need not be changed and only a fresh compilation and link is necessary. However, should the developer wish to access machine specific events, the low level API provides access to all available events and counting modes.
If an event or feature does not exist on the current platform, PAPI returns an appropriate error code. This significantly reduces the porting effort of code using PAPI because the semantics of each call to PAPI remains the same, just the argument lists need updating. In addition to the standard set, each PAPI implementation supports all native events through the ability to directly accept platform specific counter numbers. Definitions for most, if not all of these, are included as conditional macros in the header file. In this way, PAPI avoids having inefficient code to translate all events for all platforms into a uniform representation and back again.
This translation is only done for the relatively few events defined in the standardized set. Some processors like those in the POWER series have counter groups. They enable access to specific groups of counters, instead of individual events. This presents a serious portability problem, thus PAPI abstracts hardware counters from their groups with a packed naming scheme. Each counter control value or event is made up of the counter group number and the number of the specific counter in that group.
PAPI can be divided into two layers of software. The upper layer consists of the API and machine independent support functions. The lower layer defines and exports a machine independent interface to machine dependent functions and data structures. These functions access the substrate, which may consist of the operating system, a kernel extension or assembly functions to directly access the processors registers.
PAPI tries to use the most efficient and flexible of the three, depending on what is available. Naturally, the functionality of the upper layers heavily depends on that provided by the substrate. In cases where the substrates do not provide highly desirable features, PAPI attempts to emulate them as described below.
PAPI makes sure the underlying operating system or library guards against overflow of counter values.
Each counter can potentially be incremented multiple times in a single clock cycle. This combined with increasing clock speeds and the small precision of some of the physical counters means that overflow is likely to occur.
One of the more advanced features of PAPI is to provide a portable implementation of asynchronous notification when counters exceed a user specified value.
This functionality provides the basis for PAPIs SVR4 compatible profiling calls, that generate an accurate histogram of performance interrupts based on hardware metrics, not on time. Such functionality provides the basis for all line level performance analysis software, from the antiquated days of AT&Ts prof to SGIs SpeedShop. Thus for any architecture with even the most rudimentary access to hardware performance counters, PAPI provides the foundation for a truly portable, source level, performance analysis tool based on real processor statistics.
Enhancements:
- The API was extended to decouple abstraction layers from hardware support and to provide initial support for different types of performance counters.
<<lessPAPI enables software engineers to see, in near real time, the relation between software performance and processor events.
The Performance API (PAPI) project specifies a standard application programming interface (API) for accessing hardware performance counters available on most modern microprocessors.
These counters exist as a small set of registers that count Events, occurrences of specific signals related to the processors function. Monitoring these events facilitates correlation between the structure of source/object code and the efficiency of the mapping of that code to the underlying architecture.
This correlation has a variety of uses in performance analysis including hand tuning, compiler optimization, debugging, benchmarking, monitoring and performance modeling. In addition, it is hoped that this information will prove useful in the development of new compilation technology as well as in steering architectural development towards alleviating commonly occurring bottlenecks in high performance computing.
PAPI provides two interfaces to the underlying counter hardware; a simple, high level interface for the acquisition of simple measurements and a fully programmable, low level interface directed towards users with more sophisticated needs.
The low level PAPI interface deals with hardware events in groups called EventSets. EventSets reflect how the counters are most frequently used, such as taking simultaneous measurements of different hardware events and relating them to one another.
For example, relating cycles to memory references or flops to level 1 cache misses can indicate poor locality and memory management. In addition, EventSets allow a highly efficient implementation which translates to more detailed and accurate measurements.
EventSets are fully programmable and have features such as guaranteed thread safety, writing of counter values, multiplexing and notification on threshold crossing, as well as processor specific features. The high level interface simply provides the ability to start, stop and read specific events, one at a time.
PAPI provides portability across different platforms. It uses the same routines with similar argument lists to control and access the counters for every architecture. As part of PAPI, we have predefined a set of events that we feel represents the lowest common denominator of every good counter implementation.
Our intent is that the same source code will count similar and possibly comparable events when run on different platforms. If the programmer chooses to use this set of standardized events, then the source code need not be changed and only a fresh compilation and link is necessary. However, should the developer wish to access machine specific events, the low level API provides access to all available events and counting modes.
If an event or feature does not exist on the current platform, PAPI returns an appropriate error code. This significantly reduces the porting effort of code using PAPI because the semantics of each call to PAPI remains the same, just the argument lists need updating. In addition to the standard set, each PAPI implementation supports all native events through the ability to directly accept platform specific counter numbers. Definitions for most, if not all of these, are included as conditional macros in the header file. In this way, PAPI avoids having inefficient code to translate all events for all platforms into a uniform representation and back again.
This translation is only done for the relatively few events defined in the standardized set. Some processors like those in the POWER series have counter groups. They enable access to specific groups of counters, instead of individual events. This presents a serious portability problem, thus PAPI abstracts hardware counters from their groups with a packed naming scheme. Each counter control value or event is made up of the counter group number and the number of the specific counter in that group.
PAPI can be divided into two layers of software. The upper layer consists of the API and machine independent support functions. The lower layer defines and exports a machine independent interface to machine dependent functions and data structures. These functions access the substrate, which may consist of the operating system, a kernel extension or assembly functions to directly access the processors registers.
PAPI tries to use the most efficient and flexible of the three, depending on what is available. Naturally, the functionality of the upper layers heavily depends on that provided by the substrate. In cases where the substrates do not provide highly desirable features, PAPI attempts to emulate them as described below.
PAPI makes sure the underlying operating system or library guards against overflow of counter values.
Each counter can potentially be incremented multiple times in a single clock cycle. This combined with increasing clock speeds and the small precision of some of the physical counters means that overflow is likely to occur.
One of the more advanced features of PAPI is to provide a portable implementation of asynchronous notification when counters exceed a user specified value.
This functionality provides the basis for PAPIs SVR4 compatible profiling calls, that generate an accurate histogram of performance interrupts based on hardware metrics, not on time. Such functionality provides the basis for all line level performance analysis software, from the antiquated days of AT&Ts prof to SGIs SpeedShop. Thus for any architecture with even the most rudimentary access to hardware performance counters, PAPI provides the foundation for a truly portable, source level, performance analysis tool based on real processor statistics.
Enhancements:
- The API was extended to decouple abstraction layers from hardware support and to provide initial support for different types of performance counters.
Download (2.9MB)
Added: 2007-04-23 License: BSD License Price:
925 downloads
mod_tee
mod_tee serves to clone an document as it is served. more>>
mod_tee serves to "clone" an document as it is served. mod_tee was hacked up as a quick-and-dirty fix when a Site Valet user complained of problems saving a Valet report: mod_tee now serves to enable registered users to request email copies of any report generated.
The current status is "works for us", but it is not of release quality. It is less-than-complete in several respects. Its probably not a good idea to use it operationally unless youre prepared to get your hands dirty fixing any problems, or pay for support.
Configuration
TeeType FILE|PIPE|SMTP [Destination]
Where to send the cloned output:
FILE - save to a destination file. For testing only!
PIPE - pipes output to a destination program with popen.
SMTP - sends cloned output directly to email at a destination mailserver. Implements SMTP handshake with no error checking - so its a dangerous option!
TeeCondition query|cookie|path|header|env|true|false [key] [val]
Defines a condition for mod_tee to be activated for a request. Values true and false are unconditional, while the others define a QUERY_STRING key, a Cookie, a PATH_INFO component, a request header or an environment variable to trigger the tee. Conditional values require a key. If val is defined then key must match it; otherwise any value of key will activate the tee.
TeeHeader key value
Defines an RFC822-style header to be inserted in front of the body of the page.
<<lessThe current status is "works for us", but it is not of release quality. It is less-than-complete in several respects. Its probably not a good idea to use it operationally unless youre prepared to get your hands dirty fixing any problems, or pay for support.
Configuration
TeeType FILE|PIPE|SMTP [Destination]
Where to send the cloned output:
FILE - save to a destination file. For testing only!
PIPE - pipes output to a destination program with popen.
SMTP - sends cloned output directly to email at a destination mailserver. Implements SMTP handshake with no error checking - so its a dangerous option!
TeeCondition query|cookie|path|header|env|true|false [key] [val]
Defines a condition for mod_tee to be activated for a request. Values true and false are unconditional, while the others define a QUERY_STRING key, a Cookie, a PATH_INFO component, a request header or an environment variable to trigger the tee. Conditional values require a key. If val is defined then key must match it; otherwise any value of key will activate the tee.
TeeHeader key value
Defines an RFC822-style header to be inserted in front of the body of the page.
Download (0.012MB)
Added: 2006-04-20 License: GPL (GNU General Public License) Price:
1285 downloads
Graph::Flowchart 0.10
Graph::Flowchart is a Perl module that can generate easily flowcharts as Graph::Easy objects. more>>
Graph::Flowchart is a Perl module that can generate easily flowcharts as Graph::Easy objects.
SYNOPSIS
use Graph::Flowchart;
my $flow = Graph::Flowchart->new();
print $flow->as_ascii();
This module lets you easily create flowcharts as Graph::Easy objects. This means you can output your flowchart as HTML, ASCII, Boxart (unicode drawing) or SVG.
Classes
The nodes constructed by the various add_* methods will set the subclass of the node according to the following list:
start
The start block.
end
The end block, created by finish().
block
Orindary code blocks, f.i. from $b = 9;.
if, for, while, until
Blocks for the various constructs for conditional and loop constructs.
sub
For sub routine declarations.
use
For use, no and require statements.
goto, break, return, next, last, continue
Blocks for the various constructs for jumps/returns.
true, false, goto, call, return, break, next, continue
Classes for edges of the true and false if-branches, and for goto, as well as sub routine calls.
Each class will get some default attributes, like if constructs having a diamond-shape.
You can override the graph appearance most easily by changing the (sub)-class attributes:
my $chart = Graph::Flowchart->new();
$chart->add_block($a = 9;);
$chart->add_if_then($a == 9;, $b = 1;);
$chart->finish();
my $graph = $chart->as_graph();
Now $graph is a Graph::Easy object and you can manipulate the class attributes like so:
$graph->set_attribute(node.if, fill, red);
$graph->set_attribute(edge.true, color, green);
print $graph->as_html_file();
This will color all conditional blocks red, and edges that represent the true branch green.
<<lessSYNOPSIS
use Graph::Flowchart;
my $flow = Graph::Flowchart->new();
print $flow->as_ascii();
This module lets you easily create flowcharts as Graph::Easy objects. This means you can output your flowchart as HTML, ASCII, Boxart (unicode drawing) or SVG.
Classes
The nodes constructed by the various add_* methods will set the subclass of the node according to the following list:
start
The start block.
end
The end block, created by finish().
block
Orindary code blocks, f.i. from $b = 9;.
if, for, while, until
Blocks for the various constructs for conditional and loop constructs.
sub
For sub routine declarations.
use
For use, no and require statements.
goto, break, return, next, last, continue
Blocks for the various constructs for jumps/returns.
true, false, goto, call, return, break, next, continue
Classes for edges of the true and false if-branches, and for goto, as well as sub routine calls.
Each class will get some default attributes, like if constructs having a diamond-shape.
You can override the graph appearance most easily by changing the (sub)-class attributes:
my $chart = Graph::Flowchart->new();
$chart->add_block($a = 9;);
$chart->add_if_then($a == 9;, $b = 1;);
$chart->finish();
my $graph = $chart->as_graph();
Now $graph is a Graph::Easy object and you can manipulate the class attributes like so:
$graph->set_attribute(node.if, fill, red);
$graph->set_attribute(edge.true, color, green);
print $graph->as_html_file();
This will color all conditional blocks red, and edges that represent the true branch green.
Download (0.034MB)
Added: 2007-07-06 License: Perl Artistic License Price:
845 downloads
LocalCaml 0.2.0
LocalCaml is a library for producing localized text from message catalogs. more>>
LocalCaml is an Objective Caml library that facilitates software internationalisation by producing localised text from message catalogs.
Main features:
- Translations are written using CamlTemplate, a general-purpose templating language; they can therefore use conditional logic to adapt sentence structure and morphology to the parameters they are given.
Translators can write template macros to simplify the handling of grammatical agreement.
- Since parameters passed to templates are named, the order of parameters in a translation can be different from the order used in the original text.
- Since message text is stored in XML files instead of in source code, it can contain the full range of Unicode characters, rather than the subset allowed in OCaml source code (ISO-8859-1). It should also be easy to make catalog editing tools for translators.
<<lessMain features:
- Translations are written using CamlTemplate, a general-purpose templating language; they can therefore use conditional logic to adapt sentence structure and morphology to the parameters they are given.
Translators can write template macros to simplify the handling of grammatical agreement.
- Since parameters passed to templates are named, the order of parameters in a translation can be different from the order used in the original text.
- Since message text is stored in XML files instead of in source code, it can contain the full range of Unicode characters, rather than the subset allowed in OCaml source code (ISO-8859-1). It should also be easy to make catalog editing tools for translators.
Download (0.060MB)
Added: 2005-10-07 License: GPL (GNU General Public License) Price:
1478 downloads
XINA 0.7
XINA provides a Web database and content management system. more>>
XINA provides a Web database and content management system.
For Web database functions such as membership databases, job posting databases, and client databases, as well as simple or complex content management functions, it has the functionality to be a complete Web site solution.
It is weighed heavily in the direction of creating strong relational database management facilities in an integrated package that also includes authentication and authorization, Web logging, messaging, content and information management, data analysis, and import/export facilities.
Main features:
- 1) Basic Web database
- a. table creation
- b. table deletion
- c. table editing (structure)
- d. table report design
- e. calendar output for dates
- f. simple, multi-table, and advanced search
- g. record entry, deletion and editing
- h. use pre-designed forms for data entry
- i. create multi-page form applications with conditional movement and confirmation pages
- j. entry form generation dynamically by database structure
- k. relational database: lookups for form generation, linked tables, detail tables
- l. two types of value lists for menus, radio buttons and checkboxes, dynamic (based on table records) or static (defined in configuration).
- 2) Authentication and authorization
- a. password protected back-end interface
- b. password protect whole site if wanted
- c. authenticated data access and editing (a link will bring up the users data automatically)
- d. Different user types (superuser,editor,user)
- e. access to specific applications (like table editing) determined by authorization
- f. Access to specific tables also controlled by authorization
- 3) Document management features
- a. fields for holding files
- b. upload files from input form
- c. search contents of linked files (even binary files such as .doc,.xls or .pdf)
- 4) Web content management features
- a. sections and subsections that can be added and deleted at will
- b. dynamic navigation bar on side and cookie crumbs
- c. news article format
- d. discussions off of articles
- e. articles can be discussable or not
- f. full page format - like a basic web page
- g. full index mode
- h. link web content articles to database records
- i. Wiki mode for pages is an option
- 5) Logging
- a. actions (login, entry,edit) can be logged
- 6) Messaging
- a. actions (login, entry,edit) can be linked to e-mail message to a specified recipient
- 7) Style features
- a. Template driven (create HTML templates that are called by all XINA programs)
- b. All web content and database output generated with configurable stylesheets
- 8) Interoperability features
- a. easy table data import and export (delimited format)
<<lessFor Web database functions such as membership databases, job posting databases, and client databases, as well as simple or complex content management functions, it has the functionality to be a complete Web site solution.
It is weighed heavily in the direction of creating strong relational database management facilities in an integrated package that also includes authentication and authorization, Web logging, messaging, content and information management, data analysis, and import/export facilities.
Main features:
- 1) Basic Web database
- a. table creation
- b. table deletion
- c. table editing (structure)
- d. table report design
- e. calendar output for dates
- f. simple, multi-table, and advanced search
- g. record entry, deletion and editing
- h. use pre-designed forms for data entry
- i. create multi-page form applications with conditional movement and confirmation pages
- j. entry form generation dynamically by database structure
- k. relational database: lookups for form generation, linked tables, detail tables
- l. two types of value lists for menus, radio buttons and checkboxes, dynamic (based on table records) or static (defined in configuration).
- 2) Authentication and authorization
- a. password protected back-end interface
- b. password protect whole site if wanted
- c. authenticated data access and editing (a link will bring up the users data automatically)
- d. Different user types (superuser,editor,user)
- e. access to specific applications (like table editing) determined by authorization
- f. Access to specific tables also controlled by authorization
- 3) Document management features
- a. fields for holding files
- b. upload files from input form
- c. search contents of linked files (even binary files such as .doc,.xls or .pdf)
- 4) Web content management features
- a. sections and subsections that can be added and deleted at will
- b. dynamic navigation bar on side and cookie crumbs
- c. news article format
- d. discussions off of articles
- e. articles can be discussable or not
- f. full page format - like a basic web page
- g. full index mode
- h. link web content articles to database records
- i. Wiki mode for pages is an option
- 5) Logging
- a. actions (login, entry,edit) can be logged
- 6) Messaging
- a. actions (login, entry,edit) can be linked to e-mail message to a specified recipient
- 7) Style features
- a. Template driven (create HTML templates that are called by all XINA programs)
- b. All web content and database output generated with configurable stylesheets
- 8) Interoperability features
- a. easy table data import and export (delimited format)
Download (0.85MB)
Added: 2007-02-07 License: GPL (GNU General Public License) Price:
990 downloads
Undisposable Clients 0.3
Undisposable Clients provides easy-to-use API kits for using Undisposable.org in various programming languages. more>>
Undisposable Clients project provides easy-to-use API kits for using Undisposable.org in various programming languages.
Main features:
- Protects site owners biggest assets; userbase and emails
- Prevents userbase contamination by fake accounts
- As critical as email validity check
- Stops people registering your services with disposable email accounts like jetable.org, pookmail
- Detects public accounts (spread from sites like bugmenot.com) and bans them
- Working principle is similar to spam blacklists like spamhaus.org; power of masses
- Totally free, your donations are welcome
How to use it
Check if there is an API kit for your programming language, if there isnt, connect to our servers manually.
Add a few extra lines to your email validation function which is called from your member registration page. The following is an example in PHP language:
..
function checkEmail($email) {
include_once("undorg/php/rest/undisposable.inc.php"); // include the API kit
if(!undorg_isDisposableEmail($email)) { // check if disposable email
.. // old procedures remain here
} // add this line to close the conditional statement
}
..
?>
Thats all. Very simple...
API kits:
PHP
Supports XML-RPC, REST and PHP serialiation. Stable
@TODO: make it object oriented, test PHP5
Python
Supports XML-RPC. Stable
@TODO: make it object oriented, more protocols
Perl
Supports XML-RPC. Beta
@TODO: test it, make it object oriented, more protocols
Java
Supports XML-RPC. Alpha
@TODO: test it, make it object oriented, more protocols
We need your support for clients in other languages.
Enhancements:
- The isValidEmail function was added for PHP and Python.
- Valid RFC and TLD checks are made in real time, as well blacklist queries against disposable email addressing and public accounts from sites similar to bugmenot.com.
<<lessMain features:
- Protects site owners biggest assets; userbase and emails
- Prevents userbase contamination by fake accounts
- As critical as email validity check
- Stops people registering your services with disposable email accounts like jetable.org, pookmail
- Detects public accounts (spread from sites like bugmenot.com) and bans them
- Working principle is similar to spam blacklists like spamhaus.org; power of masses
- Totally free, your donations are welcome
How to use it
Check if there is an API kit for your programming language, if there isnt, connect to our servers manually.
Add a few extra lines to your email validation function which is called from your member registration page. The following is an example in PHP language:
..
function checkEmail($email) {
include_once("undorg/php/rest/undisposable.inc.php"); // include the API kit
if(!undorg_isDisposableEmail($email)) { // check if disposable email
.. // old procedures remain here
} // add this line to close the conditional statement
}
..
?>
Thats all. Very simple...
API kits:
PHP
Supports XML-RPC, REST and PHP serialiation. Stable
@TODO: make it object oriented, test PHP5
Python
Supports XML-RPC. Stable
@TODO: make it object oriented, more protocols
Perl
Supports XML-RPC. Beta
@TODO: test it, make it object oriented, more protocols
Java
Supports XML-RPC. Alpha
@TODO: test it, make it object oriented, more protocols
We need your support for clients in other languages.
Enhancements:
- The isValidEmail function was added for PHP and Python.
- Valid RFC and TLD checks are made in real time, as well blacklist queries against disposable email addressing and public accounts from sites similar to bugmenot.com.
Download (0.004MB)
Added: 2007-01-23 License: MIT/X Consortium License Price:
1006 downloads
4tH compiler 3.5b
4tH is a Forth compiler with a little difference. more>>
4tH is a Forth compiler with a little difference. Instead of the standard Forth engine it features a conventional compiler.
4tH is a very small compiler that can create bytecode, C-embeddable bytecode, standalone executables, but also works fine as a scripting language. It supports over 85% of the ANS Forth CORE wordset and features conditional compilation, pipes, files, assertions, forward declarations, recursion, include files, etc.
It comes with an RPN calculator, line editor, compiler, decompiler, C-source generators, and a virtual machine.
Enhancements:
- More CORE words and most of the DOUBLE wordset are supported.
- Output buffers can be flushed.
- An experimental multitasking environment was added.
<<less4tH is a very small compiler that can create bytecode, C-embeddable bytecode, standalone executables, but also works fine as a scripting language. It supports over 85% of the ANS Forth CORE wordset and features conditional compilation, pipes, files, assertions, forward declarations, recursion, include files, etc.
It comes with an RPN calculator, line editor, compiler, decompiler, C-source generators, and a virtual machine.
Enhancements:
- More CORE words and most of the DOUBLE wordset are supported.
- Output buffers can be flushed.
- An experimental multitasking environment was added.
Download (0.18MB)
Added: 2007-05-20 License: LGPL (GNU Lesser General Public License) Price:
889 downloads
mod_ifexists 0.10
mod_ifexists module provides Apache conditional configuration process by the existence of the file. more>>
mod_ifexists module provides Apache conditional configuration process by the existence of the file.
<<less Download (0.003MB)
Added: 2006-04-12 License: The Apache License Price:
1291 downloads
FancyLauncher 0.10
FancyLauncher is a program launcher with an integrated clock and a POP3 mail checker. more>>
FancyLauncher is basically a program launcher with many customizable features. The snapshot shows how it looks like with the default configuration. The rxvt button is focused and the associated tooltip is displayed.
The license is GPL. This is the new version of the former E-FancyLauncher, written for enlightenment as an epplet. For people migrating to FancyLauncher the utility EF2F is provided to translate the E-FancyLauncher configuration file to the FancyLauncher configuration file. If you use it, you should have a look at the default configuration and the plugins directory to see the new features.
The configuration directory is located in your home directory and is named .FancyLauncher. There you will find the configuration file config and you should copy the plugins with the command cp -r /usr/local/FancyLauncher/plugins ~/.FancyLauncher/.
The configuration file works by definitions.
- common defines common options that are inherited by all the buttons. These options can be redefined.
- button defines a button launcher.
- digital_clock defines a digital clock.
Enhancements:
- Suggestions: adding dir asked by dmitry kirsanov and appending files by Marc A. Tamsky,
- pretty printing of played time asked by Chris Bidmead, and printing of songs length asked by Draco Paladin.
- Added +file to add files or directories.
- Added -file to remove files or directories.
- Added color printing (use more or less -Rf to view HELP).
- Added an emacs transcriber from Chris Bidmead.
- Added print, a general printing function (deprecates all other printing commands).
- Fixed memory leaks.
- Renamed sample scripts with the .sh suffix.
- Added conditional print (eq,neq).
- Added uniq command to remove duplicates from the playlist.
- Added the sample script playlist2html.sh to demonstrate the print command.
- Added clear to clear the playlist.
<<lessThe license is GPL. This is the new version of the former E-FancyLauncher, written for enlightenment as an epplet. For people migrating to FancyLauncher the utility EF2F is provided to translate the E-FancyLauncher configuration file to the FancyLauncher configuration file. If you use it, you should have a look at the default configuration and the plugins directory to see the new features.
The configuration directory is located in your home directory and is named .FancyLauncher. There you will find the configuration file config and you should copy the plugins with the command cp -r /usr/local/FancyLauncher/plugins ~/.FancyLauncher/.
The configuration file works by definitions.
- common defines common options that are inherited by all the buttons. These options can be redefined.
- button defines a button launcher.
- digital_clock defines a digital clock.
Enhancements:
- Suggestions: adding dir asked by dmitry kirsanov and appending files by Marc A. Tamsky,
- pretty printing of played time asked by Chris Bidmead, and printing of songs length asked by Draco Paladin.
- Added +file to add files or directories.
- Added -file to remove files or directories.
- Added color printing (use more or less -Rf to view HELP).
- Added an emacs transcriber from Chris Bidmead.
- Added print, a general printing function (deprecates all other printing commands).
- Fixed memory leaks.
- Renamed sample scripts with the .sh suffix.
- Added conditional print (eq,neq).
- Added uniq command to remove duplicates from the playlist.
- Added the sample script playlist2html.sh to demonstrate the print command.
- Added clear to clear the playlist.
Download (0.23MB)
Added: 2005-04-27 License: GPL (GNU General Public License) Price:
1640 downloads
HTML Sucks Completely 1.0b
HTML Sucks Completely is a developer tool for HTML projects. more>>
HTML Sucks Completely is a developer tool for HTML projects. HTML Sucks Completely is mainly intended for creating and maintaining larger Web sites, with a focus on compact and standards-conforming code.
Its source texts are HTML files that use an extended syntax allowing for macros, conditionals, variables, expressions, etc. These sources are transformed into static (X)HTML pages. HSC checks the result for many common errors such as missing end tags and nesting mistakes, both in the markup and, to a limited extent, in CSS.
As a commandline tool, it can be used together with "make", and a dependency generator is included. The macro library features things like navigation menus, LaTeX-style sections, footnotes and bibliographies, semiautomatic table-based layout, and database/scripting interfaces.
Enhancements:
- Various compilation problems on the Win32 platform were fixed, and the build environment was changed to MinGW.
- Current Win32 binaries are available from the homepage again.
<<lessIts source texts are HTML files that use an extended syntax allowing for macros, conditionals, variables, expressions, etc. These sources are transformed into static (X)HTML pages. HSC checks the result for many common errors such as missing end tags and nesting mistakes, both in the markup and, to a limited extent, in CSS.
As a commandline tool, it can be used together with "make", and a dependency generator is included. The macro library features things like navigation menus, LaTeX-style sections, footnotes and bibliographies, semiautomatic table-based layout, and database/scripting interfaces.
Enhancements:
- Various compilation problems on the Win32 platform were fixed, and the build environment was changed to MinGW.
- Current Win32 binaries are available from the homepage again.
Download (0.60MB)
Added: 2006-04-11 License: GPL (GNU General Public License) Price:
1291 downloads
TinyButStrong 3.2.0
TinyButStrong is a template class for PHP that allows you to generate HTML pages using MySQL, PostgreSQL. more>>
TinyButStrong is a template class for PHP that allows you to generate HTML pages using a database like PostgreSQL, MySQL, SQLite in native, and any other databases.
It is possible to design templates using any visual HTML editor (like Dreamweaver or FrontPage).
It features simple block management, useful display formats, conditional displaying for blocks and locators, a cache system, and the ability to include other HTML pages and execute associated scripts.
Main features:
- an connect to any database type (in native: MySql, SQLite, PostgreSQL),
- easy date-time and numeric formats,
- blocks with alternated display,
- multi-columns display,
- conditional display,
- event functions,
- file inclusion and other scripts execution,
- cache system.
Enhancements:
- This is a major version.
- The source is optimized, it is smaller, and it merges faster.
- There are 5 bugs fixed and 7 new features.
- It includes Onload Var fields that can be automatically merged when the template is loaded.
- There are new formats for time without leading zeros.
- The parameter ope can support several operations.
- There are special Var fields to merge PHP constants and to display TBS detailed information.
<<lessIt is possible to design templates using any visual HTML editor (like Dreamweaver or FrontPage).
It features simple block management, useful display formats, conditional displaying for blocks and locators, a cache system, and the ability to include other HTML pages and execute associated scripts.
Main features:
- an connect to any database type (in native: MySql, SQLite, PostgreSQL),
- easy date-time and numeric formats,
- blocks with alternated display,
- multi-columns display,
- conditional display,
- event functions,
- file inclusion and other scripts execution,
- cache system.
Enhancements:
- This is a major version.
- The source is optimized, it is smaller, and it merges faster.
- There are 5 bugs fixed and 7 new features.
- It includes Onload Var fields that can be automatically merged when the template is loaded.
- There are new formats for time without leading zeros.
- The parameter ope can support several operations.
- There are special Var fields to merge PHP constants and to display TBS detailed information.
Download (0.11MB)
Added: 2006-12-05 License: LGPL (GNU Lesser General Public License) Price:
1053 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 conditional discharge 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