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

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

Serving Software Downloads in 956 Categories, Downloaded 50.049.787 Times

B::Concise 5.8.8

  Date Added: January 07, 2010  |  Visits: 734

B::Concise

Report Broken Link
Printer Friendly Version


Product Homepage
Download (89 downloads)



B::Concise is a Perl syntax tree, printing concise info about ops. SYNOPSIS perl -MO=Concise[,OPTIONS] foo.pl use B::Concise qw(set_style add_callback); This compiler backend prints the internal OPs of a Perl programs syntax tree in one of several space-efficient text formats suitable for debugging the inner workings of perl or other compiler backends. It can print OPs in the order they appear in the OP tree, in the order they will execute, or in a text approximation to their tree structure, and the format of the information displayed is customizable. Its function is similar to that of perls -Dx debugging flag or the B::Terse module, but it is more sophisticated and flexible. EXAMPLE Heres an example of 2 outputs (aka renderings), using the -exec and -basic (i.e. default) formatting conventions on the same code snippet. % perl -MO=Concise,-exec -e $a = $b + 42 1 <0> enter 2 <;> nextstate(main 1 -e:1) v 3 <#> gvsv[*b] s 4 <$> const[IV 42] s * 5 <2> add[t3] sK/2 6 <#> gvsv[*a] s 7 <2> sassign vKS/2 8 <@> leave[1 ref] vKP/REFC Each line corresponds to an opcode. The opcode marked with * is used in a few examples below. The 1st column is the ops sequence number, starting at 1, and is displayed in base 36 by default. This rendering is in -exec (i.e. execution) order. The symbol between angle brackets indicates the ops type, for example; < 2 > is a BINOP, < @ > a LISTOP, and < # > is a PADOP, which is used in threaded perls. (see "OP class abbreviations"). The opname, as in add[t1], which may be followed by op-specific information in parentheses or brackets (ex [t1]). The op-flags (ex sK/2) follow, and are described in ("OP flags abbreviations"). % perl -MO=Concise -e $a = $b + 42 8 <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 1 -e:1) v ->3 7 <2> sassign vKS/2 ->8 * 5 <2> add[t1] sK/2 ->6 - <1> ex-rv2sv sK/1 ->4 3 <$> gvsv(*b) s ->4 4 <$> const(IV 42) s ->5 - <1> ex-rv2sv sKRM*/1 ->7 6 <$> gvsv(*a) s ->7 The default rendering is top-down, so theyre not in execution order. This form reflects the way the stack is used to parse and evaluate expressions; the add operates on the two terms below it in the tree. Nullops appear as ex-opname, where opname is an op that has been optimized away by perl. Theyre displayed with a sequence-number of -, because they are not executed (they dont appear in previous example), theyre printed here because they reflect the parse. The arrow points to the sequence number of the next op; theyre not displayed in -exec mode, for obvious reasons. Note that because this rendering was done on a non-threaded perl, the PADOPs in the previous examples are now SVOPs, and some (but not all) of the square brackets have been replaced by round ones. This is a subtle feature to provide some visual distinction between renderings on threaded and un-threaded perls..

Requirements: No special requirements
Platforms: Linux
Keyword: Bconcise Concise Libraries Mo Op Perl Perl Syntax Programming Syntax Tree Tree
Users rating: 0/10

License: Freeware Size: 12.2 MB
USER REVIEWS
More Reviews or Write Review


B::CONCISE RELATED
Libraries  -  B::Terse 5.8.8
B::Terse - Walk Perl syntax tree, printing terse info about ops. SYNOPSIS perl -MO=Terse[,OPTIONS] foo.pl This version of B::Terse is really just a wrapper that calls B::Concise with the -terse option. It is provided for compatibility with...
12.2 MB  
Text Editors  -  a2pdf 1.13
a2pdf project converts ASCII text to PDF format, with optional line/page numbering and Perl syntax highlighting. Usage: a2pdf [options] input.txt >output.pdf Options: a2pdf recognises the following command line options: --help Prints...
2.7 MB  
Libraries  -  HTML::TreeBuilder 3.23
HTML::TreeBuilder is a parser that builds a HTML syntax tree. SYNOPSIS foreach my $file_name (@ARGV) { my $tree = HTML::TreeBuilder->new; # empty tree $tree->parse_file($file_name); print "Hey, heres a dump of the parse tree of...
122.88 KB  
Libraries  -  Code::Perl 0.03
Code::Perl is a Perl module to produce Perl code from a tree. SYNOPSIS use Code::Perl::Expr qw( :easy ); my $c = derefh(scal(hash), calls(getkey)); print $c->perl; # ($hash)->{getkey()} Code::Perl allows you to build chunks of Perl code...
17.41 KB  
Libraries  -  Modwheel 0.3.3
Modwheel Perl module is a tree-based Web framework. Most web sites are pages categorized by topic. So web sites can be viewed as a tree system where every page is a sub-tree and the page elements are nodes. Page elements can be things like...
1.4 MB  
Libraries  -  Tree::Visualize 0.01
Tree::Visualize is a Perl module for visualizing Tree structures. SYNOPSIS use Tree::Visualize; use Tree::Binary; my $tree = Tree::Binary->new("*") ->setLeft( Tree::Binary->new("+") ->setLeft(Tree::Binary->new("2"))...
15.36 KB  
Libraries  -  AI::Menu 0.01
AI::Menu is a Perl object that generates Tree::Nary objects from directed graphs or a description of the function set. The algorithm is not very efficient (approximately O(F^6), F being the number of functions). It is also not quite as...
6.14 KB  
Libraries  -  Tree::Simple::View::DHTML 0.16
Tree::Simple::View::DHTML is a Perl class for viewing Tree::Simple hierarchies in DHTML. SYNOPSIS use Tree::Simple::View::DHTML; ## a simple example # use the defaults (an unordered list with no CSS) my $tree_view =...
22.53 KB  
Libraries  -  Tree::Simple::View::HTML 0.16
Tree::Simple::View::HTML is a Perl class for viewing Tree::Simple hierarchies in HTML. SYNOPSIS use Tree::Simple::View::HTML; ## a simple example # use the defaults (an unordered list with no CSS) my $tree_view =...
22.53 KB  
Libraries  -  Text::Query::BuildSQL 0.09
Text::Query::BuildSQL is a base class for SQL query builders. SYNOPSIS package Text::Query::BuildSQLsqldb; use Text::Query::BuildSQL; use vars qw(@ISA); @ISA = qw(Text::Query::BuildSQL); Defines all the build_* functions to build a...
19.46 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
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  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.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...
3.88 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