Verilog::SigParser - Signal Parsing for Verilog language files
use Verilog::SigParser; my $parser = new Verilog::SigParser; $string = $parser->unreadback (); $line = $parser->line (); $parser->parse_preproc_file ($pp);
The Verilog::SigParser package builds upon the Verilog::Parse function to provide callbacks for when a signal is declared, a module instantiated, or a module defined. For a higher level interface to this package, see Verilog::Netlist.
The external interface to Verilog::SigParser is described in the Verilog::Parser module. You will probably want to use the preprocessing option of Verilog::Parser with this package.
In order to make the parser do anything interesting, you must make a subclass where you override one or more of the following methods as appropriate:
This method is called when a module is defined.
This method is called when a module port is defined.
This method is called when a function is defined.
This method is called when a signal is declared. The first argument, $keyword is ('input', 'output', etc), the second argument is the name of the signal. The third argument is the vector bits or "". The fourth argument is the memory bits or "".
This method is called when a instantiation is defined. The first parameter is the name of the module being instantiated, and the second parameter is the name of the cell.
Scanned an attribute (future: Verilog-2001) or meta-comment. The parser inspects the first word of each comment line (//key rest to end of line) or comment block (/*key rest */). It calls $self-attribute( prev_keyword, meta_text ) if the first word has a true value in hash $self-metacomment>.
//key rest
/*key rest */). It calls $self-attribute( prev_keyword, meta_text )
$self-
This is being distributed as a baseline for future contributions. Don't expect a lot, the Parser is still naive, and there are many awkward cases that aren't covered.
The latest version is available from CPAN and from http://www.veripool.com/verilog-perl.html.
Copyright 2000-2005 by Wilson Snyder. This package is free software; you can redistribute it and/or modify it under the terms of either the GNU Lesser General Public License or the Perl Artistic License.
Wilson Snyder <wsnyder@wsnyder.org>
Verilog::Parser, Verilog::Language, Verilog::Netlist, Verilog::Getopt
To install Verilog::Parse, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Verilog::Parse
CPAN shell
perl -MCPAN -e shell install Verilog::Parse
For more information on module installation, please visit the detailed CPAN module installation guide.