File: README

package info (click to toggle)
libparse-recdescent-perl 1.70-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 440 kB
  • ctags: 511
  • sloc: perl: 5,167; makefile: 59
file content (109 lines) | stat: -rwxr-xr-x 3,010 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
==============================================================================
                 Release of version 1.70 of Parse::RecDescent
==============================================================================

DESCRIPTION

NAME

    Parse::RecDescent - generate recursive-descent parsers


DESCRIPTION

    RecDescent incrementally generates top-down recursive-descent text
    parsers from simple yacc-like grammar specifications. It provides:

        * Regular expressions or literal strings as terminals (tokens),

        * Multiple (non-contiguous) productions for any rule,

        * Repeated, optional and alternate subrules within productions,

	* Late-bound (run-time dispatched) subrules

        * Full access to Perl within actions specified as part of the grammar,

        * Simple automated error reporting during parser generation and parsing,

        * The ability to commit to, uncommit to, or reject particular
          productions during a parse,

        * Incremental extension of the parsing grammar (even during a parse),

    See the file "RecDescent.pod" for excruciating detail on all of this.


LIMITATIONS

    * There's no support for parsing directly from an input stream.

    * The generator doesn't handle left-recursion.


PREREQUISITES

    Parse::RecDescent requires Text::Balanced, which is included in the
    distribution.


INSTALLATION

    It's all pure Perl, so just put the .pm files in their appropriate
    local Perl subdirectories.


CHANGES AND FUTURE DEVELOPMENT

    This readme refers to versions 1.XX.
    For details of changes, refer to the file Changes.

    Version 2.00 will provide an optional parser compiler to generate
    separate parsing modules with no construction run-time overhead.


AUTHOR

    Damian Conway (damian@cs.monash.edu.au)


COPYRIGHT

     Copyright (c) 1997-1998, Damian Conway. All Rights Reserved.
     This module is free software. It may be used, redistributed
     and/or modified under the terms of the Perl Artistic License
          (see http://www.perl.com/perl/misc/Artistic.html)


==============================================================================

CHANGES IN VERSION 1.70


	- Clarified use of "eofile" idiom in POD file
	  Clarified meaning of "free-form" in description of grammars
	  Fixed <resync> examples, which were invalidated by 
	  earlier change in semantics of <error>. (Thanks Knut).

	- Added grammar precompiler (see documentation)

	- Tweaked message for <reject> optimization.

	- Fixed bug when using '@' as a terminal (thanks Abigail)

	- Fixed nasty bug when $return set to zero

	- Added <score> and <autoscore> directives (see documentation)



==============================================================================

AVAILABILITY

Parse::RecDescent has been uploaded to the CPAN
and is also available from:

	http://www.csse.monash.edu.au/~damian/CPAN/Parse-RecDescent.tar.gz

==============================================================================