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 29.892.998 Times

Text::CPP 0.12

  Date Added: April 18, 2010  |  Visits: 774


Report Broken Link
Printer Friendly Version

Product Homepage
Download (75 downloads)

Text::CPP is a full C Preprocessor in XS. SYNOPSIS use Text::CPP; my $reader = new Text::CPP( Language => CLK_GNUC99, Options => { ... }, Builtins => { foo => this, bar => that, }, ); $reader->read("file.c"); while (my $token = $reader->token) { print "Token: $tokenn"; } $reader->data->{MyKey} = $MyData; A fast C preprocessor in XS. This does not require an external C preprocessor, and will not fork() or exec() any external process. USAGE The following methods have been implemented, allowing the use of this module as a pure C preprocessor, or as a lexer for a C, C++ or Assembler-like language. new Text::CPP(...) Takes a hash or hashref with the following possible keys: Language Defines the source language to preprocess and/or tokenise. It may be any of: CLK_GNUC89 - GNU C89 CLK_GNUC99 - GNU C99 CLK_STDC89 - Standard C89 CLK_STDC94 - Standard C94 CLK_STDC99 - Standard C99 CLK_GNUCXX - GNU C++ CLK_CXX98 - Standard C++ 98 CLK_ASM - Assembler Options A hashref of options for the preprocessor. Valid entries are given with alternative forms (from GNU cpp) in brackets. Define (-D): array of strings or hash Strings should be of the form NAME=VALUE. Undef (-U): array of strings DiscardComments (-C): boolean DiscardCommentsInMacroExp (-CC): boolean PrintIncludeNames (-H): boolean NoLineCommands (-P): boolean WarnComments (-Wcomment -Wcomments): boolean WarnDeprecated (-Wdeprecated): boolean WarningsAreErrors (-Werror): boolean WarnImport (-Wimport): boolean WarnMultichar (-Wmultichar): boolean WarnSystemHeaders (-Wsystem-headers): boolean Ignore errors in system header files. WarnTraditional (-Wtraditional): boolean WarnTrigraphs (-Wtrigraphs): boolean WarnUnusedMacros (-Wunused-macros): boolean Pedantic (-pedantic): boolean PedanticErrors (-pedantic-errors): boolean Implies, and overrides, Pedantic. Remap (-remap): boolean Deal with some brokennesses of MSDOS. Untested. Trigraphs (-trigraphs): boolean Traditional (-traditional): boolean NoWarnings (-w): boolean IncludePrefix (-iprefix): string SystemRoot (-isysroot): string Include (-include): array of strings Include the specified files before reading the main file to be processed. IncludeMacros (-imacros): array of strings Include the specified files before reading the main file to be processed. Output from preprocessing these files is discarded. Files specified by IncludeMacros are processed before files specified by Include. IncludePath (-I): array of strings This include path is searched first. SystemIncludePath (-isystem): array of strings Specify the standard system include path, searched second. AfterIncludePath (-idirafter): array of strings This include path is searched after the system include path. Builtins A hashref of predefined macros. The values must be strings or integers. Macros in this hash will be defined before preprocessing starts. These correspond to true "builtin" macros. You should probably prefer to use the Define option. $text = $reader->token ($text, $type, $flags) = $reader->token Return the next available preprocessed token. Some tokens are not stringifiable. These include tokens of type CPP_MACRO_ARG, CPP_PADDING and CPP_EOF. Text::CPP returns a dummy string in the text field for these tokens. Tokens of type CPP_EOF should never actually be returned. @tokens = $reader->tokens Preprocess and return a list of tokens. This is approximately equivalent to: push(@tokens, $_) while ($_ = $reader->token); $reader->type($type) Return a human readable name for a token type, as returned by $reader->token. $reader->data Returns a hashref in which user data may be stored by subclasses. This hashref is created with a new Text::CPP object, and is ignored for all functional purposes. The user may do with it as he wishes. $reader->errors In scalar context, returns the fatal error count. In list context, returns a list of warnings and errors encountered by the preprocessor. Thus scalar(@errors) >= $errors, since @errors will also contain the warnings..

Requirements: No special requirements
Platforms: Linux
Keyword: Boolean C Preprocessor Clk Cpp Gnu Include Libraries Preprocessor Programming Strings Textcpp Tokens Xs
Users rating: 0/10

License: Freeware Size: 174.08 KB
More Reviews or Write Review

Libraries  -  LibsX 2004-01-23
LibsX (formerly LibSpeedX) is a C++ multi-platform set of basic libraries (like strings, ini files, etc) optimized for speed and made from scratch. LibsXs goal is to make programs like games with basic libraries highly optimized for speed and...
27.65 KB  
Libraries  -  Devel::Depend::Cpp 0.08
Devel::Depend::Cpp is a Perl module that can extract dependency trees from c files. SYNOPSIS use Devel::Depend::Cpp; my ($success, $includ_levels, $included_files) = Devel::Depend::Cpp::Depend ( undef, # use default cpp command...
20.48 KB  
Libraries  -  CPP Socket library 0.8.4
CPP Socket library is a small Classlibrary for C++ that supports a easy usage of socket-programming for networking-software. It provides a simple object-oriented interface to the classic C library calls. With CPPSocket supports the following...
Libraries  -  Filter::cpp 1.33
Filter::cpp is a cpp source filter. SYNOPSIS use Filter::cpp ; This source filter pipes the current source file through the C pre-processor (cpp) if it is available. As with all source filters its scope is limited to the current source...
40.96 KB  
Development Tools  -  Argtable 2.6
Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss. It enables a program's command line syntax to be defined in the source code as an array of argtable structs. The command line is then parsed according...
Programming  -  JLRFractal: Mandelbrot/Julia Generator 1.0
JLRFractal is a Mandelbrot/Julia generator written in C++ using Trolltech's Qt graphics libraries. It features an easy-to-use zoom feature and a speed-up technique that is visible to the user. Color cycling features as well as saving to file are also
2.86 MB  
Libraries  -  DateTime::Cron::Simple 0.2
DateTime::Cron::Simple is a Perl module that can parse a cron entry and check against current time. SYNOPSIS use DateTime::Cron::Simple; $c = DateTime::Cron::Simple->new($cron); $boolean = $c->validate_time; $c->new_cron($cron); This...
3.07 KB  
Network & Internet  -  gCvs 1.0
gCvs is a set of GUI front-end for CVS written in C++ and distributed under GNU General Public License (GPL)..
675.84 KB  
Libraries  -  libcommoncpp 0.0.1
libcommoncpp is a library of commonly used C++ classes. For example memory management, threading, time, sockets, strings, etc..
32.77 KB  
Programming  -  GCC toolchain for MSP430 20120406
This is a port of the GNU C Compiler (GCC) and GNU Binutils (as, ld) for the embedded processor MSP430. Tools for debugging and download are provided (GDB, JTAG and BSL)
407.84 KB  
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, 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.11.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