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.865.608 Times

B::Concise 5.8.8

  Date Added: January 07, 2010  |  Visits: 522

B::Concise

Report Broken Link
Printer Friendly Version


Product Homepage
Download (71 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  -  Syntax::Highlight::Engine::Kate::Java 0.02
Syntax::Highlight::Engine::Kate::Java is a Perl plugin for Java syntax highlighting. SYNOPSIS require Syntax::Highlight::Engine::Kate::Java; my $sh = new Syntax::Highlight::Engine::Kate::Java([ ]); Syntax::Highlight::Engine::Kate::Java is...
348.16 KB  
Libraries  -  B::XPath 0.01
B::XPath class can search Perl optrees with XPath syntax. SYNOPSIS Perl represents programs internally as a tree of opcodes. To execute a program, it walks this tree, performing each operation as it encounters it. The B family of modules...
7.17 KB  
Libraries  -  ClearCase::SyncTree 0.39
ClearCase::SyncTree is a Perl module that can synchronize a tree of files with a tree of elements. SYNOPSIS # Create a synctree object. my $sync = ClearCase::SyncTree->new; # Tell it where the files are coming from ......
32.77 KB  
Libraries  -  File::Find 5.8.8
File::Find is a Perl module to traverse a directory tree. SYNOPSIS use File::Find; find(&wanted, @directories_to_search); sub wanted { ... } use File::Find; finddepth(&wanted, @directories_to_search); sub wanted { ... } use File::Find;...
12.2 MB  
Libraries  -  Regexp::Parser::Handlers 0.20
Regexp::Parser::Handlers is a Perl module with handlers for Perl 5 regexes. This module holds the init() method for the Regexp::Parser class, which installs all the handlers for standard Perl 5 regexes. This documentation contains a sub-classing...
40.96 KB  
Libraries  -  Pod::HTML_Elements 0.05
Pod::HTML_Elements is a Perl module to convert POD to tree of LWPs HTML::Element and hence HTML or PostScript. SYNOPSIS use Pod::HTML_Elements; my $parser = new Pod::HTML_Elements; $parser->parse_from_file($pod,foo.html); my $parser = new...
9.22 KB  
Libraries  -  perlfaq3 5.8.8
perlfaq3 Perl module contains programming tools. How do I do (anything)? Have you looked at CPAN (see perlfaq2)? The chances are that someone has already written a module that can solve your problem. Have you read the appropriate manpages?...
12.2 MB  
Development Editors  -  Syn2 2.5.838
Syn2 is a handy, easy to use text editor designed to edit programs source codes with such features as syntax highlighting, code folding, tree structure etc. It also offers support for many encodings. Give Syn2 a try to see how useful it can be...
2.1 MB  
Code Management Tools  -  X Language 0.7.1
X Language is a new multi-syntax programming including a portable set of APIs to create console or graphical applications runnable on many platforms (UNIX/X11, Win32, ...). X Language comes with an interpreter, a compiler and a debugger. X...
358.4 KB  
Utilities  -  Stanis Python Editor 0.8.3.c
Stanis Python Editor is a python IDE with auto-indentation, auto completion, call tips, syntax coloring, syntax highlighting, uml viewer, class explorer, source index, auto todo list, sticky notes, integrated pycrust shell, python file browser,...
11.7 MB  
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.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