summaryrefslogtreecommitdiff
path: root/doc/src_overview.html
blob: a0f4341abd678a758cbb268da4c2d40d5311b56a (plain)
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

<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>/src Overview - Packrat Docs</title>
    <link href="default.css" rel="stylesheet">
  </head>

  <body>


  <h2>/src Overview</h2>

  <a href="index.html">Return to Contents</a>


  <table>
    <tr>
      <td>packrat.adb<br>packrat.ads</td>
      <td>The main Packrat package.</td>
    </tr>
    <tr>
      <td>packrat-errors.adb<br>packrat-errors.ads<br>packrat-errors-parts.adb</td>
      <td>Error handling functionality. Use this if you need to handle <em>Lexer_Error</em> or
      <em>Parser_Error</em> exception messages.</td>
    </tr>
    <tr>
      <td>packrat-lexers.adb<br>packrat-lexers.ads</td>
      <td>Scanner functions, lexer components and combinators.</td>
    </tr>
    <tr>
      <td>packrat-no_lex.ads</td>
      <td>Convenience package to allow use of parser combinators and related functionality without
      having to <em>with</em> and instantiate a long list of packages.</td>
    </tr>
    <tr>
      <td>packrat-parse_graphs.adb<br>packrat-parse_graphs.ads</td>
      <td>The data structure that parse results end up in. Externally it gives the appearance
      of a directed acyclic graph with several root nodes. Internally a lot of deduplication is
      done by labeling the nodes with starting points and the edges with finishing points then
      keeping track of what edges are valid to go down given the current position.</td>
    </tr>
    <tr>
      <td>packrat-parsers.adb<br>packrat-parsers.ads</td>
      <td>Parser functions and combinators. More flexible and extensive than <em>Packrat.Lexers</em>.</td>
    </tr>
    <tr>
      <td>packrat-standard.ads</td>
      <td>Convenience package to allow use of both lexer and parser combinators as well as related
      functionality without having to <em>with</em> and instantiate a long list of packages.</td>
    </tr>
    <tr>
      <td>packrat-tokens.adb<br>packrat-tokens.ads</td>
      <td>Handles the individual tokens that lexers give as output and that form the nodes
      of a parse graph.</td>
    </tr>
    <tr>
      <td>packrat-traits.adb<br>packrat-traits.ads</td>
      <td>Convenience package to collect the various other things necessary to instantiate
      a lot of the other packages.</td>
    </tr>
    <tr>
      <td>packrat-utilities.adb<br>packrat-utilities.ads</td>
      <td>Convenience predicates for use with <em>Satisfy</em> combinators and the like when
      lexing or parsing standard strings.</td>
    </tr>
  </table>


  </body>
</html>