File Coverage

blib/lib/PerlPoint/Constants.pm
Criterion Covered Total %
statement 204 204 100.0
branch n/a
condition n/a
subroutine 67 67 100.0
pod n/a
total 271 271 100.0


line stmt bran cond sub pod time code
1            
2            
3             # = HISTORY SECTION =====================================================================
4            
5             # ---------------------------------------------------------------------------------------
6             # version | date | author | changes
7             # ---------------------------------------------------------------------------------------
8             # 0.19 |07.03.2006| JSTENZEL | added DUMMY_TOKEN;
9             # 0.18 |15.12.2005| JSTENZEL | internal helper routine name now begins with underscore;
10             # 0.17 |15.06.2003| JSTENZEL | added DIRECTIVE_EVERY constant;
11             # |10.09.2003| JSTENZEL | added DIRECTIVE_DPOINT_TEXT constant;
12             # |08.07.2004| JSTENZEL | added TEMPLATE_ACTION_... constants;
13             # 0.16 |< 02.03.02| JSTENZEL | added DIRECTIVE_DSTREAM_ENTRYPOINT constant;
14             # |02.03.2002| JSTENZEL | added DSTREAM_... constants;
15             # |29.09.2002| JSTENZEL | added STREAM_DOCSTREAMS;
16             # |02.01.2003| JSTENZEL | added TRACE_TMPFILES;
17             # 0.15 |10.08.2001| JSTENZEL | added STREAM_... constants;
18             # | | JSTENZEL | reorganized POD slightly;
19             # |14.08.2001| JSTENZEL | added missed doc of TAG_... constants;
20             # |29.09.2001| JSTENZEL | removed STREAM_CONTROL;
21             # |13.11.2001| JSTENZEL | added PARSING_IGNORE and PARSING_ERASE;
22             # |14.11.2001| JSTENZEL | added STREAM_DIR_ index constants;
23             # 0.14 |28.05.2001| JSTENZEL | added DIRECTIVE_VARRESET;
24             # |12.06.2001| JSTENZEL | added PARSING_... constants;
25             # 0.13 |18.03.2001| JSTENZEL | added tag constants;
26             # 0.12 |14.03.2001| JSTENZEL | added mailing list hint to POD;
27             # 0.11 |20.01.2001| JSTENZEL | added new constant DIRECTIVE_VARSET;
28             # 0.10 |07.12.2000| JSTENZEL | new namespace PerlPoint;
29             # 0.09 |18.11.2000| JSTENZEL | added new CACHE constants;
30             # 0.08 |28.10.2000| JSTENZEL | added new constant TRACE_ACTIVE;
31             # 0.07 |07.10.2000| JSTENZEL | added new constant DIRECTIVE_NEW_LINE;
32             # | | JSTENZEL | sligthly improved POD;
33             # 0.06 |27.05.2000| JSTENZEL | updated POD;
34             # 0.05 |11.04.2000| JSTENZEL | added new paragraph constants: xxx_DPOINT;
35             # 0.04 |07.04.2000| JSTENZEL | added new paragraph constants: xxx_UPOINT, xxx_OPOINT;
36             # |08.04.2000| JSTENZEL | added new paragraph constants: xxx_xSHIFT;
37             # |09.04.2000| JSTENZEL | START/STOP constants are now in the same range as
38             # | | | directives to avoid comparison trouble in tests;
39             # |14.04.2000| JSTENZEL | new directives: list envelopes;
40             # 0.03 |13.10.1999| JSTENZEL | updated POD;
41             # 0.02 |11.10.1999| JSTENZEL | renamed into PP::Constants;
42             # | | JSTENZEL | adapted POD to pod2text (needs more blank lines);
43             # | | JSTENZEL | added backend constants;
44             # 0.01 |09.10.1999| JSTENZEL | derived from the PP::Parser draft.
45             # ---------------------------------------------------------------------------------------
46            
47             # = POD SECTION =========================================================================
48            
49             =head1 NAME
50            
51             B - public PerlPoint module constants
52            
53             =head1 VERSION
54            
55             This manual describes version B<0.19>.
56            
57             =head1 DESCRIPTION
58            
59             The module declares a number of constants shared between other
60             B modules.
61            
62             =head1 SYNOPSIS
63            
64             The I of the provided constants is described in the manuals
65             of the using modules B and B.
66            
67             =head1 CONSTANTS
68            
69             =cut
70            
71             # declare package
72             package PerlPoint::Constants;
73            
74             # declare version
75             $VERSION=$VERSION=0.19;
76            
77             # startup actions
78             BEGIN
79             {
80             # declare startup helper function
81             sub _startupGenerateConstants
82             {
83             # init counter
84             my $c=0;
85            
86             # and generate constants
87 34     34   243 foreach my $constant (@_)
  34     34   78  
  34     34   2423  
  34     34   199  
  34     34   73  
  34     34   1588  
  34     34   209  
  34     34   84  
  34     34   1242  
  34     34   598  
  34     34   78  
  34     34   1100  
  34     34   204  
  34     34   83  
  34     34   1313  
  34     34   183  
  34     34   79  
  34     34   1535  
  34     34   185  
  34     34   73  
  34     34   1178  
  34     34   198  
  34     34   160  
  34     34   1072  
  34     34   183  
  34     34   186  
  34     34   1259  
  34     34   262  
  34     34   72  
  34     34   1120  
  34     34   178  
  34     34   78  
  34     34   1470  
  34     34   178  
  34     34   64  
  34     34   2958  
  34     34   177  
  34     34   105  
  34     34   1144  
  34     34   176  
  34     34   71  
  34     34   1102  
  34     34   178  
  34     34   62  
  34     34   1155  
  34     34   182  
  34     34   57  
  34     34   16816  
  34     34   190  
  34     34   70  
  34         9712  
  34         180  
  34         62  
  34         1116  
  34         179  
  34         72  
  34         1224  
  34         224  
  34         61  
  34         1247  
  34         199  
  34         62  
  34         1035  
  34         178  
  34         60  
  34         1210  
  34         178  
  34         61  
  34         5294  
  34         206  
  34         88  
  34         1200  
  34         180  
  34         438  
  34         1145  
  34         198  
  34         69  
  34         1503  
  34         176  
  34         62  
  34         1203  
  34         223  
  34         63  
  34         1299  
  34         258  
  34         255  
  34         1171  
  34         180  
  34         61  
  34         1195  
  34         181  
  34         63  
  34         1220  
  34         179  
  34         84  
  34         1088  
  34         174  
  34         60  
  34         1069  
  34         179  
  34         64  
  34         1361  
  34         186  
  34         66  
  34         1234  
  34         179  
  34         126  
  34         1227  
  34         239  
  34         63  
  34         1078  
  34         8773  
  34         75  
  34         1245  
  34         189  
  34         60  
  34         1062  
  34         177  
  34         84  
  34         1783  
  34         213  
  34         71  
  34         1161  
  34         197  
  34         89  
  34         1089  
  34         190  
  34         61  
  34         1296  
  34         186  
  34         135  
  34         1108  
  34         186  
  34         66  
  34         1075  
  34         218  
  34         92  
  34         1413  
  34         190  
  34         86  
  34         1384  
  34         190  
  34         61  
  34         1036  
  34         181  
  34         60  
  34         1767  
  34         201  
  34         60  
  34         1191  
88             {eval "use constant $constant => $c"; $c++;}
89             }
90            
91             =pod
92            
93             =head2 Stream directive constants
94            
95             These constants are built into I which the parser produces
96             in its output (that is, the representation format it translates an ASCII
97             text in to be subsequently processed by a backend).
98            
99             =over 4
100            
101             =item DIRECTIVE_BLOCK
102            
103             flags a block paragraph;
104            
105             =item DIRECTIVE_COMMENT
106            
107             flags a comment;
108            
109             =item DIRECTIVE_COMPLETE
110            
111             a format entity is completed;
112            
113             =item DIRECTIVE_DOCUMENT
114            
115             flags a complete document (made from one ASCII file);
116            
117             =item DIRECTIVE_DLIST
118            
119             flags a "definition list";
120            
121             =item DIRECTIVE_DPOINT
122            
123             flags a "definition point" paragraph;
124            
125             =item DIRECTIVE_DPOINT_ITEM
126            
127             flags a "definition point" item (the stuff to be defined);
128            
129             =item DIRECTIVE_DPOINT_TEXT
130            
131             flags a "definition point" text (the definition part);
132            
133             =item DIRECTIVE_DSTREAM_ENTRYPOINT
134            
135             flags the switch into another document stream;
136            
137             =item DIRECTIVE_HEADLINE
138            
139             flags a headline;
140            
141             =item DIRECTIVE_LIST_LSHIFT
142            
143             control directive, shift a list left;
144            
145             =item DIRECTIVE_LIST_RSHIFT
146            
147             control directive, shift a list right;
148            
149             =item DIRECTIVE_NEW_LINE
150            
151             a backend hint to inform about a new source line;
152            
153             =item DIRECTIVE_OLIST
154            
155             flags an "ordered list";
156            
157             =item DIRECTIVE_OPOINT
158            
159             flags an "ordered point" paragraph;
160            
161             =item DIRECTIVE_SIMLPE
162            
163             a pseudo directive, used to flag simple strings in backends;
164            
165             =item DIRECTIVE_START
166            
167             a format entity starts;
168            
169             =item DIRECTIVE_TAG
170            
171             flags a tag;
172            
173             =item DIRECTIVE_TEXT
174            
175             flags a text paragraph;
176            
177             =item DIRECTIVE_ULIST
178            
179             flags an "unordered list";
180            
181             =item DIRECTIVE_UPOINT
182            
183             flags an "unordered point" paragraph;
184            
185             =item DIRECTIVE_VARRESET
186            
187             a backend hint flagging that I variables are deleted;
188            
189             =item DIRECTIVE_VARSET
190            
191             a backend hint propagating a variable setting;
192            
193             =item DIRECTIVE_VERBATIM
194            
195             flags a verbatim block paragraph;
196            
197             =back
198            
199             =cut
200            
201             # directive constants
202 34     34   371733 _startupGenerateConstants(
203             'DIRECTIVE_EVERY', # pseudo_directive used in backend;
204            
205             'DIRECTIVE_START', # entity start;
206             'DIRECTIVE_COMPLETE', # entity complete;
207            
208             'DIRECTIVE_BLOCK', # block;
209             'DIRECTIVE_COMMENT', # comment;
210             'DIRECTIVE_DLIST', # definition list;
211             'DIRECTIVE_DOCUMENT', # document;
212             'DIRECTIVE_DPOINT', # definition list point;
213             'DIRECTIVE_DPOINT_ITEM', # defined item;
214             'DIRECTIVE_DPOINT_TEXT', # definition text;
215             'DIRECTIVE_HEADLINE', # headline;
216             'DIRECTIVE_LIST_LSHIFT', # shift list left;
217             'DIRECTIVE_LIST_RSHIFT', # shift list right;
218             'DIRECTIVE_NEW_LINE', # backend line hint;
219             'DIRECTIVE_OLIST', # ordered list;
220             'DIRECTIVE_OPOINT', # ordered list point;
221             'DIRECTIVE_TAG', # tag;
222             'DIRECTIVE_TEXT', # text;
223             'DIRECTIVE_ULIST', # unordered list;
224             'DIRECTIVE_UPOINT', # unordered list point;
225             'DIRECTIVE_VARSET', # backend hint: variable setting;
226             'DIRECTIVE_VARRESET', # backend hint: reset *all* variables;
227             'DIRECTIVE_VERBATIM', # verbatim;
228             'DIRECTIVE_DSTREAM_ENTRYPOINT', # document stream entry point;
229            
230             'DIRECTIVE_SIMPLE', # a pseudo directive (never used directly - MUST be the last here!);
231             );
232            
233             =pod
234            
235             =head2 Parser constants
236            
237             control how the parser continues processing, usually used by tag hooks.
238            
239             =over 4
240            
241             =item PARSING_COMPLETED
242            
243             We read all we need. Stop parsing successfully.
244            
245             =item PARSING_ERASE
246            
247             Ignore the tag I (which means its body).
248            
249             =item PARSING_ERROR
250            
251             A semantic error occurred. Parsing will usually be continued
252             to possibly detect even more errors.
253            
254             =item PARSING_FAILED
255            
256             A syntactic error occured. Parsing will be stopped immediately.
257            
258             =item PARSING_IGNORE
259            
260             Ignore the tag as if it was not written.
261            
262             =item PARSING_OK
263            
264             Input ok, parsing can be continued.
265            
266             =back
267            
268             =cut
269            
270             # parser constants
271 34         110 _startupGenerateConstants(
272             'PARSING_OK', # all right, proceed;
273             'PARSING_COMPLETED', # we know without further parsing that the input was perfect;
274             'PARSING_ERROR', # a semantic error occured;
275             'PARSING_FAILED', # a syntactical error occured;
276             'PARSING_IGNORE', # ignore the tag;
277             'PARSING_ERASE', # ignore the tag *and all its content*;
278             );
279            
280            
281             =pod
282            
283             =head2 Tag definition constants
284            
285             flagging mode of tag components.
286            
287             =over 4
288            
289             =item TAGS_OPTIONAL
290            
291             the item can be used but is not required.
292            
293             =item TAGS_MANDATORY
294            
295             the item is an essential tag part.
296            
297             =item TAGS_DISABLED
298            
299             the item must not be used.
300            
301             =back
302            
303             =cut
304            
305            
306             # tag constants
307 34         111 _startupGenerateConstants(
308             'TAGS_OPTIONAL', # something is optional;
309             'TAGS_MANDATORY', # something is mandatory;
310             'TAGS_DISABLED', # something is disabled (not necessary);
311             );
312            
313            
314            
315             =pod
316            
317             =head2 Stream data structure part constants
318            
319             index constants to access parts of the intermediate data structure produced
320             by the parser and processed by backends. Intended to be used by C
321             and C.
322            
323             =over 4
324            
325             =item STREAM_IDENT
326            
327             stream data identifier - a string identifying the data structure as a PerlPoint stream.
328            
329             =item STREAM_DOCSTREAMS
330            
331             a list of all detected document stream identifiers.
332            
333             =item STREAM_TOKENS
334            
335             token stream.
336            
337             =item STREAM_HEADLINES
338            
339             headline stream.
340            
341             =back
342            
343             =cut
344            
345            
346             # stream data structure part constants
347 34         108 _startupGenerateConstants(
348             'STREAM_IDENT', # stream data identifier;
349             'STREAM_DOCSTREAMS', # list of document streams (hash);
350             'STREAM_TOKENS', # token stream;
351             'STREAM_HEADLINES', # headline stream;
352             );
353            
354            
355             =pod
356            
357             =head2 Stream directive data structure index constants
358            
359             index constants to access parts of a stream directive.
360            
361             =over 4
362            
363             =item STREAM_DIR_HINTS
364            
365             a hash filled by the parser to control backend behaviour.
366            
367             =item STREAM_DIR_TYPE
368            
369             directive type constant (C, C etc.)
370            
371             =item STREAM_DIR_STATE
372            
373             start/completion flag (C, C).
374            
375             =item STREAM_DIR_DATA
376            
377             beginning of the data part, depends on directive type.
378            
379            
380             =back
381            
382             =cut
383            
384            
385             # stream directive data structure index constants
386 34         112 _startupGenerateConstants(
387             'STREAM_DIR_HINTS', # backend hints stored by the parser;
388             'STREAM_DIR_TYPE', # directive type;
389             'STREAM_DIR_STATE', # directive state (starting, complete);
390             'STREAM_DIR_DATA', # data part (index of first element);
391             );
392            
393            
394             =pod
395            
396             =head2 Document stream handling constants
397            
398             declare how document streams should be handled by the parser.
399            
400             =over 4
401            
402             =item DSTREAM_DEFAULT
403            
404             Document stream entry points are streamed directly - so the backend
405             can handle them.
406            
407             =item DSTREAM_IGNORE
408            
409             Document streams (except of the main stream) are completely ignored.
410            
411             =item DSTREAM_HEADLINES
412            
413             Document stream entry points are streamed as headlines.
414            
415             =back
416            
417             =cut
418            
419             # declare display constants
420 34         118 _startupGenerateConstants(
421             'DSTREAM_DEFAULT', # just stream them;
422             'DSTREAM_IGNORE', # ignore all streams except of "main";
423             'DSTREAM_HEADLINES', # stream entry points as headlines;
424             );
425             }
426            
427            
428            
429            
430             =pod
431            
432             =head2 Trace constants
433            
434             They activate trace code.
435            
436             =over 4
437            
438             =item TRACE_ACTIVE
439            
440             activates the traces of active contents evaluation.
441            
442             =item TRACE_BACKEND
443            
444             activates backend traces;
445            
446             =item TRACE_LEXER
447            
448             activates the traces of the lexical analysis.
449            
450             =item TRACE_NOTHING
451            
452             deactivates all trace codes. (In fact, it I any trace.
453             If you decide to combine it with other trace constants, it will cause nothing.)
454            
455             =item TRACE_PARAGRAPHS
456            
457             activates traces which show the paragraphs recognized when they are entered
458             or completed.
459            
460             =item TRACE_PARSER
461            
462             activates the traces of the syntactical analysis.
463            
464             =item TRACE_SEMANTIC
465            
466             activates the traces of the semantic analysis.
467            
468             =item TRACE_TMPFILES
469            
470             deactivates the removal of temporary files.
471            
472             =back
473            
474             =cut
475            
476             # declare trace constants (take care of correct values)
477 34     34   179 use constant 'TRACE_NOTHING' => 0; # MUST be 0!
  34         100  
  34         1499  
478 34     34   179 use constant 'TRACE_PARAGRAPHS' => 1;
  34         59  
  34         1493  
479 34     34   188 use constant 'TRACE_LEXER' => 2;
  34         57  
  34         1431  
480 34     34   180 use constant 'TRACE_PARSER' => 4;
  34         86  
  34         2025  
481 34     34   216 use constant 'TRACE_SEMANTIC' => 8;
  34         62  
  34         1501  
482 34     34   171 use constant 'TRACE_ACTIVE' => 16;
  34         71  
  34         1488  
483 34     34   169 use constant 'TRACE_BACKEND' => 32;
  34         64  
  34         1459  
484 34     34   161 use constant 'TRACE_TMPFILES' => 64;
  34         57  
  34         1627  
485            
486             =pod
487            
488             =head2 Display constants
489            
490             determine if information messages should be suppressed.
491            
492             =over 4
493            
494             =item DISPLAY_ALL
495            
496             all messages are displayed. (More correctly, no message is suppressed.
497             If you combine this constant with other display constants, it will take
498             no effect.)
499            
500             =item DISPLAY_NOINFO
501            
502             suppresses information messages;
503            
504             =item DISPLAY_NOWARN
505            
506             suppresses warnings;
507            
508             =back
509            
510             =cut
511            
512             # declare display constants
513 34     34   162 use constant 'DISPLAY_ALL' => 0; # MUST be 0!
  34         58  
  34         1641  
514 34     34   165 use constant 'DISPLAY_NOINFO' => 1; # suppress informations;
  34         58  
  34         1626  
515 34     34   166 use constant 'DISPLAY_NOWARN' => 2; # suppress warnings;
  34         62  
  34         1817  
516            
517            
518             =pod
519            
520             =head2 Cache constants
521            
522             specify how presentation files shall be cached.
523            
524             =over 4
525            
526             =item CACHE_OFF
527            
528             Files are reparsed completely regardless of cache data. Existing cache data
529             remain untouched.
530            
531             =item CACHE_ON
532            
533             While reading the presentation descriptions, cached and unchanged paragraphs
534             are reloaded from the cache if possible. New or modified paragraphs are stored
535             to accelerate repeated reading.
536            
537             Please note that this will not overwrite or remove previously stored cache data for modified
538             or deleted paragraphs. Old cache data remains in the cache, while new data is added - the
539             cache size continously grows.
540            
541             =item CACHE_CLEANUP
542            
543             Cleans up an existing cache before the parser starts (and possibly rebuilds it).
544            
545             =back
546            
547             =cut
548            
549             # declare cache constants
550 34     34   172 use constant 'CACHE_OFF' => 0; # MUST be 0! Deactivates the cache.
  34         76  
  34         1809  
551 34     34   168 use constant 'CACHE_ON' => 1; # activates the cache;
  34         60  
  34         1785  
552 34     34   169 use constant 'CACHE_CLEANUP' => 2; # cache cleanup;
  34         78  
  34         3938  
553            
554            
555             =pod
556            
557             =head2 Template action constants
558            
559             flag which way a template engine should perform an action.
560            
561             =over 4
562            
563             =item TEMPLATE_ACTION_DOC
564            
565             Produce files which are needed I (per document).
566            
567             =item TEMPLATE_ACTION_INDEX
568            
569             Processes the index page.
570            
571             =item TEMPLATE_ACTION_PAGE
572            
573             Produce a page.
574            
575             =item TEMPLATE_ACTION_PAGE_SUPPLEMENTS
576            
577             Produce additional files belonging to a page.
578            
579             =item TEMPLATE_ACTION_TOC
580            
581             Processes the table of contents page.
582            
583             =back
584            
585             =cut
586            
587             # template action constants
588             _startupGenerateConstants(
589             'TEMPLATE_ACTION_DOC', # process doc data;
590             'TEMPLATE_ACTION_INDEX', # process index;
591             'TEMPLATE_ACTION_PAGE', # process page data;
592             'TEMPLATE_ACTION_PAGE_SUPPLEMENTS', # process page supplement files;
593             'TEMPLATE_ACTION_TOC', # process TOC template;
594             );
595            
596            
597             =pod
598            
599             =head2 String constants
600            
601             used for various purposes.
602            
603             =over 4
604            
605             =item DUMMY_TOKEN
606            
607             a pseudo token added for reasons of parsing, which the backend can delete from the stream.
608            
609             =back
610            
611             =cut
612            
613 34     34   190 use constant DUMMY_TOKEN => '__DUMMY__TOKEN__';
  34         94  
  34         1795  
614            
615             # release memory
616             undef &_startupGenerateConstants;
617            
618            
619             # modules
620 34     34   211 use Exporter;
  34         57  
  34         24705  
621             @ISA=qw(Exporter);
622            
623             # declare exports
624             @EXPORT=qw(
625             DIRECTIVE_START
626             DIRECTIVE_COMPLETE
627            
628             DIRECTIVE_BLOCK
629             DIRECTIVE_COMMENT
630             DIRECTIVE_DLIST
631             DIRECTIVE_DOCUMENT
632             DIRECTIVE_DPOINT
633             DIRECTIVE_DPOINT_ITEM
634             DIRECTIVE_DPOINT_TEXT
635             DIRECTIVE_DSTREAM_ENTRYPOINT
636             DIRECTIVE_HEADLINE
637             DIRECTIVE_LIST_LSHIFT
638             DIRECTIVE_LIST_RSHIFT
639             DIRECTIVE_NEW_LINE
640             DIRECTIVE_OLIST
641             DIRECTIVE_OPOINT
642             DIRECTIVE_VARRESET
643             DIRECTIVE_TAG
644             DIRECTIVE_TEXT
645             DIRECTIVE_ULIST
646             DIRECTIVE_UPOINT
647             DIRECTIVE_VARSET
648             DIRECTIVE_VERBATIM
649            
650             DIRECTIVE_SIMPLE
651            
652             DIRECTIVE_EVERY
653            
654             TRACE_ACTIVE
655             TRACE_BACKEND
656             TRACE_LEXER
657             TRACE_NOTHING
658             TRACE_PARAGRAPHS
659             TRACE_PARSER
660             TRACE_SEMANTIC
661             TRACE_TMPFILES
662            
663             DISPLAY_ALL
664             DISPLAY_NOINFO
665             DISPLAY_NOWARN
666            
667             CACHE_OFF
668             CACHE_ON
669             CACHE_CLEANUP
670            
671             DSTREAM_DEFAULT
672             DSTREAM_IGNORE
673             DSTREAM_HEADLINES
674            
675             DUMMY_TOKEN
676             );
677            
678             %EXPORT_TAGS=(
679             parsing => [qw(PARSING_OK PARSING_COMPLETED PARSING_ERROR PARSING_FAILED PARSING_IGNORE PARSING_ERASE)],
680             stream => [qw(
681             STREAM_IDENT STREAM_DOCSTREAMS STREAM_TOKENS STREAM_HEADLINES
682             STREAM_DIR_HINTS STREAM_DIR_TYPE STREAM_DIR_STATE STREAM_DIR_DATA
683             )],
684             tags => [qw(TAGS_OPTIONAL TAGS_MANDATORY TAGS_DISABLED)],
685             templates => [qw(
686             TEMPLATE_ACTION_DOC
687             TEMPLATE_ACTION_INDEX
688             TEMPLATE_ACTION_PAGE
689             TEMPLATE_ACTION_PAGE_SUPPLEMENTS
690             TEMPLATE_ACTION_TOC
691             )],
692             );
693            
694             Exporter::export_ok_tags(
695             qw(
696             parsing
697             stream
698             tags
699             templates
700             )
701             );
702            
703             1;
704            
705            
706             # = POD TRAILER SECTION =================================================================
707            
708             =pod
709            
710             =head1 SEE ALSO
711            
712             =over 4
713            
714             =item B
715            
716             A parser for Perl Point ASCII texts.
717            
718             =item B
719            
720             A frame class to write Perl Point backends.
721            
722             =back
723            
724            
725             =head1 SUPPORT
726            
727             A PerlPoint mailing list is set up to discuss usage, ideas,
728             bugs, suggestions and translator development. To subscribe,
729             please send an empty message to perlpoint-subscribe@perl.org.
730            
731             If you prefer, you can contact me via perl@jochen-stenzel.de
732             as well.
733            
734            
735             =head1 AUTHOR
736            
737             Copyright (c) Jochen Stenzel (perl@jochen-stenzel.de), 1999-2004.
738             All rights reserved.
739            
740             This module is free software, you can redistribute it and/or modify it
741             under the terms of the Artistic License distributed with Perl version
742             5.003 or (at your option) any later version. Please refer to the
743             Artistic License that came with your Perl distribution for more
744             details.
745            
746             The Artistic License should have been included in your distribution of
747             Perl. It resides in the file named "Artistic" at the top-level of the
748             Perl source tree (where Perl was downloaded/unpacked - ask your
749             system administrator if you dont know where this is). Alternatively,
750             the current version of the Artistic License distributed with Perl can
751             be viewed on-line on the World-Wide Web (WWW) from the following URL:
752             http://www.perl.com/perl/misc/Artistic.html
753            
754            
755             =head1 DISCLAIMER
756            
757             This software is distributed in the hope that it will be useful, but
758             is provided "AS IS" WITHOUT WARRANTY OF ANY KIND, either expressed or
759             implied, INCLUDING, without limitation, the implied warranties of
760             MERCHANTABILITY and FITNESS FOR A PARTICULAR PURPOSE.
761            
762             The ENTIRE RISK as to the quality and performance of the software
763             IS WITH YOU (the holder of the software). Should the software prove
764             defective, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
765             CORRECTION.
766            
767             IN NO EVENT WILL ANY COPYRIGHT HOLDER OR ANY OTHER PARTY WHO MAY CREATE,
768             MODIFY, OR DISTRIBUTE THE SOFTWARE BE LIABLE OR RESPONSIBLE TO YOU OR TO
769             ANY OTHER ENTITY FOR ANY KIND OF DAMAGES (no matter how awful - not even
770             if they arise from known or unknown flaws in the software).
771            
772             Please refer to the Artistic License that came with your Perl
773             distribution for more details.
774            
775             =cut