English     Español
[Main Index] : Programming : Languages : Perl : CPAN Modules : Language Interfaces : SystemC
 SystemC::Parser CPAN (Perl) Module 

Search

 

Documents

SystemC::Parser - Parse SystemC Files (Displayed)

SystemC::Parser - Parse SystemC Files



NAME

SystemC::Parser - Parse SystemC Files


SYNOPSIS

    package Trialparser;
    @ISA = qw(SystemC::Parser);
    sub module {
        my $self = shift;
        my $module = shift;
        print $self->filename.":".$self->lineno().": ";
        print "Contains the module declaration for $module\n";
    }
    package main;
    my $sp = Trialparser->new();
    $sp->read ("test.sp");


DESCRIPTION

SystemC::Parser reads SystemC files, and parses out the netlist interconnectivity and other information. As the tokens are recognized, callbacks are invoked. Note that the parser is designed to work on UNPREPROCESSED files.


MEMBER FUNCTIONS

$self->new()
Creates a new parser element.

$self->read(filename)
Reads the filename and invokes necessary callbacks.

$self->read_include(filename)
When called from inside a read() callback function, switches to the specified include file. The EOF of the include file will automatically switch back to the original file.


ACCESSOR FUNCTIONS

$self->filename()
Returns the filename of the most recently returned object. May not match the filename passed on the command line, as #line directives are honored.

$self->lineno()
Returns the line number at the beginning of the most recently returned object.

$self->symbols()
Returns hash reference to list of all symbols with line number the symbol first was encountered on. (The hash is created instead of invoking a callback on each symbol for speed reasons.) Keywords may also be placed into the symbol table, this behavior may change.


CALLBACKS

$self->auto (text)
Auto is called with the text matching /*AUTOINST*/, etc.

$self->cell (instance, type)
Cell is called when SP_CELL is recognized. Parameters are the instance and type of the cell.

$self->cell_decl (type, instances)
Cell_decl is called when SP_CELL_DECL is recognized. Parameters are the type and instances of the cell. (Note the parameter order is opposite that of cell().)

$self->ctor (modulename)
Ctor is called when CP_CTOR is recognized. Parameter is the modulename.

$self->enum_value (enum_type, enum_name)
Enum value is called with the enum type and name for a enumeration value.

$self->error (error_text, token)
Error is called when the parser hits a error. Token is the last unparsed token, which often gives a good indication of the error position.

$self->module (modulename)
Module is called when SC_MODULE is recognized.

$self->pin (cell, pin, pin_bus, signal, signal_bus)
Pin is called when SP_PIN is recognized.

$self->preproc_sp (text)
Preproc is called when a #sp line is recognized.

$self->signal (type, type_bus,name,name_bus)
Signal is called on port declarations or sc_signal declarations. The busses are any [] subscripts after the type names.

$self->text (text)
Text is called for all text not otherwise recognized. Dumping all text to a file will produce the original file, minus any #sp and stripped // Auto inserted comments.


SEE ALSO

SystemC::Netlist


DISTRIBUTION

The latest version is available from CPAN and from http://veripool.com/.


AUTHORS

Wilson Snyder <wsnyder@wsnyder.org>

Information

This site is currently in testing, it is not yet operating using the full database. Until it is officially launched you may wish to visit Help-Site Computer Manuals. After launch, this site (HelpSpy) will replace Help-Site. Information about the spider which is currently trawling the Internet looking for links to add to this directory can be found here.
   

©Copyright Nicholas Reynolds 2004