GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PARSE::LEXEVENT (3)

.ds Aq ’

NAME

"Parse::LexEvent" - Generator of event-oriented lexical analyzers (1.00 ALPHA)

CONTENTS

SYNOPSIS



  use Parse::LexEvent;

  sub string {
    print $_[0]->name, ": $_[1]\n";
  }
  sub comment {
    print $_[0]->name, ": $_[1]\n";
  }
  sub remainder {
    print $_[0]->name, ": $_[1]\n";
  }

  $lexer = Parse::LexEvent->new()->configure(
       From => \*DATA,
       Tokens =>
         [
          Type => Simple, Name => ccomment, Handler => comment,
               Regex => //.*\n,
          Type => Delimited, Name => comment, Handler => comment,
               Start => /[*], End => [*]/,
          Type => Quoted, Name => squotes, Handler => string, Quote => qq!\!,
          Type => Quoted, Name => dquotes, Handler => string, Quote => qq!\"!,
          Type => Simple, Name => remainder,
               Regex => (?s:[^/\\"]+), ReadMore => 1,
         ]
      )->parse();
  __END__
  /*
    C comment
  */
  // C++ comment
  var d = "string in double quotes";
  var s = string in single quotes;
  var i = 10;
  var y = 100;



DESCRIPTION

Parse::LexEvent generates lexical analyzers in the fashion of Parse::Lex, but the generated analyzers emit an event at the finish of recognition of each token. This event corresponds to the call of a procedure whose name is that of the token. It is possible to give a different name to this procedure by making use of the Handler parameter when defining a token.

An application using Parse::LexEvent must define the required procedures. These procedures take the token object as first argument and the recognized character string as the second.

Parse::LexEvent inherits from Parse::ALex and possesses all the methods described in the documentation of the Parse::Lex class, except for the methods analyze(), every() next(), and nextis().

    Methods

parse() This method runs the analysis of data specified by from().

EXAMPLES

cparser.pl - This analyzer recognizes three types of structures: C ou C++ comments, strings within quotation marks, and the rest. It emits an event specific to each. You can use it, for example, to analyze C, C++ or Javascript programs.

SEE ALSO

Parse::Lex, Parse::Token.

AUTHOR

Philippe Verdret.

COPYRIGHT

Copyright (c) 1999 Philippe Verdret. All rights reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 PARSE::LEXEVENT (3) 2011-12-31

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.