-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathStructurallyRecursiveDescentParsing.agda
More file actions
44 lines (28 loc) · 1.33 KB
/
StructurallyRecursiveDescentParsing.agda
File metadata and controls
44 lines (28 loc) · 1.33 KB
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
------------------------------------------------------------------------
-- Code related to the paper draft "Structurally Recursive Descent
-- Parsing"
--
-- Nils Anders Danielsson and Ulf Norell
------------------------------------------------------------------------
module StructurallyRecursiveDescentParsing where
-- The code presented here is not identical to that in the paper; it
-- has evolved.
-- Parser type indices.
import StructurallyRecursiveDescentParsing.Index
-- Parsers containing non-terminals, and grammars using such parsers.
import StructurallyRecursiveDescentParsing.Grammar
-- A library of derived parser combinators.
import StructurallyRecursiveDescentParsing.Lib
-- Some small examples.
import StructurallyRecursiveDescentParsing.Examples
-- An example: parsing PBM image files.
import StructurallyRecursiveDescentParsing.PBM
-- A depth-first backend.
import StructurallyRecursiveDescentParsing.DepthFirst
-- The backend does not work directly on the parsers in
-- StructurallyRecursiveDescentParsing.Grammar. The following
-- simplified parsers are used instead. The function
-- StructurallyRecursiveDescentParsing.Grammar.⟦_⟧ turns parsers
-- containing non-terminals into simplified parsers.
import StructurallyRecursiveDescentParsing.Simplified
import StructurallyRecursiveDescentParsing.Simplified.Semantics