Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 30.144.859 Times

Devel::Tokenizer::C 0.05

  Date Added: June 02, 2010  |  Visits: 557

Devel::Tokenizer::C

Report Broken Link
Printer Friendly Version


Product Homepage
Download (73 downloads)

Devel::Tokenizer::C is a Perl module that can generate C source for fast keyword tokenizer. SYNOPSIS use Devel::Tokenizer::C; $t = new Devel::Tokenizer::C TokenFunc => sub { "return U$_[0];n" }; $t->add_tokens(qw( bar baz ))->add_tokens([for]); $t->add_tokens([qw( foo )], defined DIRECTIVE); print $t->generate; The Devel::Tokenizer::C module provides a small class for creating the essential ANSI C source code for a fast keyword tokenizer. The generated code is optimized for speed. On the ANSI-C keyword set, its 2-3 times faster than equivalent code generated with the gprof utility. The above example would print the following C source code: switch (tokstr[0]) { case b: switch (tokstr[1]) { case a: switch (tokstr[2]) { case r: if (tokstr[3] == ) { /* bar */ return BAR; } goto unknown; case z: if (tokstr[3] == ) { /* baz */ return BAZ; } goto unknown; default: goto unknown; } default: goto unknown; } case f: switch (tokstr[1]) { case o: switch (tokstr[2]) { #if defined DIRECTIVE case o: if (tokstr[3] == ) { /* foo */ return FOO; } goto unknown; #endif /* defined DIRECTIVE */ case r: if (tokstr[3] == ) { /* for */ return FOR; } goto unknown; default: goto unknown; } default: goto unknown; } default: goto unknown; } So the generated code only includes the main switch statement for the tokenizer. You can configure most of the generated code to fit for your application..

Requirements: No special requirements
Platforms: Linux
Keyword: C Source Case Develtokenizerc Directive Goto Keyword Libraries Perl Module Programming Source Unknown
Users rating: 0/10

License: Freeware Size: 11.26 KB
DEVEL::TOKENIZER::C RELATED
Libraries  -  Whitespace 1.02
Whitespace is a Perl module to cleanup various types of bogus whitespace in source files. SYNOPSIS use Whitespace; # Instantiate a whitespace object with # both input and output files specified $ws = new Whitespace($infile, $outfile); #...
4.1 KB  
Libraries  -  Inline::C 0.44
Inline::C is a Perl module that can Write Perl Subroutines in C. Inline::C is a module that allows you to write Perl subroutines in C. Since version 0.30 the Inline module supports multiple programming languages and each language has its own...
92.16 KB  
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  Fcntl 5.8.8
Fcntl is a Perl module to load the C Fcntl.h defines. SYNOPSIS use Fcntl; use Fcntl qw(:DEFAULT :flock); This module is just a translation of the C fcntl.h file. Unlike the old mechanism of requiring a translated fcntl.ph file, this uses...
12.2 MB  
Libraries  -  ExtUtils::CBuilder 0.19
ExtUtils::CBuilder is a Perl module to compile and link C code for Perl modules. SYNOPSIS use ExtUtils::CBuilder; my $b = ExtUtils::CBuilder->new(%options); $obj_file = $b->compile(source => MyModule.c); $lib_file = $b->link(objects =>...
19.46 KB  
Libraries  -  Mail::Box::Parser::C 3.006
Mail::Box::Parser::C is a Perl module that can parse folders for MailBox with C routines. This is an optional module for MailBox, and will (once installed) automatically be used by MailBox to parse e-mail message content when the message is...
15.36 KB  
Libraries  -  C::Scan 0.74
C::Scan is a Perl module that can scan C language files for easily recognized constructs. SYNOPSIS $c = new C::Scan filename => $filename, filename_filter => $filter, add_cppflags => $addflags; $c->set(includeDirs =>...
14.34 KB  
Libraries  -  Inline::Filters 0.12
Inline::Filters Perl module contains common source code filters for Inline Modules. Inline::Filters provides common source code filters to Inline Language Modules. Unless youre an Inline module developer, you can just read the next section....
5.12 KB  
Libraries  -  Filter::decrypt 1.33
Filter::decrypt Perl module contains a template for a decrypt source filter. SYNOPSIS use Filter::decrypt ; This is a sample decrypting source filter. Although this is a fully functional source filter and it does implement a very simple...
40.96 KB  
Libraries  -  ExtUtils::Embed 1.14
ExtUtils::Embed is a Perl module with utilities for embedding Perl in C/C++ applications. SYNOPSIS perl -MExtUtils::Embed -e xsinit perl -MExtUtils::Embed -e ldopts ExtUtils::Embed provides utility functions for embedding a Perl interpreter...
19.46 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB