1 | ;;;; |
---|
2 | ;;;; genturfahi - lo la .ckim. ke pe'a jajgau ratcu ke'e genturfa'i |
---|
3 | ;;;; `-> A Scheme packrat parser. |
---|
4 | ;;;; |
---|
5 | ;;;; Copyright (c) 2010 ".alyn.post." <alyn.post@lodockikumazvati.org> |
---|
6 | ;;;; |
---|
7 | ;;;; Permission to use, copy, modify, and/or distribute this software for any |
---|
8 | ;;;; purpose with or without fee is hereby granted, provided that the above |
---|
9 | ;;;; copyright notice and this permission notice appear in all copies. |
---|
10 | ;;;; |
---|
11 | ;;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
---|
12 | ;;;; WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
---|
13 | ;;;; MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
---|
14 | ;;;; ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
---|
15 | ;;;; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
---|
16 | ;;;; ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
---|
17 | ;;;; OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
---|
18 | ;;;; |
---|
19 | |
---|
20 | ;; |
---|
21 | ;; A Chicken Scheme wrapper for creating the genturfahi-peg package. |
---|
22 | ;; This package includes the PEG file parser written on top of the |
---|
23 | ;; runtime library, genturfahi (in the file chicken-ext.scm) |
---|
24 | ;; |
---|
25 | |
---|
26 | (module genturfahi-peg |
---|
27 | (genturfahi-env |
---|
28 | |
---|
29 | genturfahi-peg |
---|
30 | genturfahi-peg-gerna |
---|
31 | |
---|
32 | ; samselpla |
---|
33 | samselpla-hash-table |
---|
34 | samselpla-hash-table* |
---|
35 | |
---|
36 | samselpla-cmene->symbol |
---|
37 | samselpla-cmene->symbol* |
---|
38 | |
---|
39 | samselpla-namorji |
---|
40 | samselpla-namorji? |
---|
41 | |
---|
42 | samselpla-smuni |
---|
43 | samselpla-naselci |
---|
44 | samselpla-je |
---|
45 | samselpla-nastura-javni |
---|
46 | samselpla-pajavni-cmene |
---|
47 | samselpla-jonai |
---|
48 | samselpla-.* |
---|
49 | samselpla-.+ |
---|
50 | samselpla-.kuspe |
---|
51 | samselpla-? |
---|
52 | samselpla-* |
---|
53 | samselpla-+ |
---|
54 | samselpla-kuspe |
---|
55 | samselpla-& |
---|
56 | samselpla-fanmo |
---|
57 | samselpla-! |
---|
58 | samselpla-cmene-sumti |
---|
59 | samselpla-selci-naselci |
---|
60 | samselpla-stura-lerfu-selci |
---|
61 | samselpla-lerfu-selci |
---|
62 | samselpla-lerfu-space |
---|
63 | samselpla-lerfu-linefeed |
---|
64 | samselpla-lerfu-newline |
---|
65 | samselpla-lerfu-return |
---|
66 | samselpla-lerfu-tab |
---|
67 | samselpla-lerfu-page |
---|
68 | samselpla-stura-valsi-selci |
---|
69 | samselpla-valsi-selci |
---|
70 | samselpla-valsi-newline |
---|
71 | samselpla-valsi-return |
---|
72 | samselpla-valsi-tab |
---|
73 | samselpla-valsi-page |
---|
74 | samselpla-valsi-backslash |
---|
75 | samselpla-valsi-single-quote |
---|
76 | samselpla-valsi-double-quote |
---|
77 | samselpla-valsi-lerfu |
---|
78 | samselpla-alnum |
---|
79 | samselpla-alpha |
---|
80 | samselpla-ascii |
---|
81 | samselpla-blank |
---|
82 | samselpla-cntrl |
---|
83 | samselpla-digit |
---|
84 | samselpla-graph |
---|
85 | samselpla-jbolehu |
---|
86 | samselpla-jbocahu |
---|
87 | samselpla-lower |
---|
88 | samselpla-odigit |
---|
89 | samselpla-print |
---|
90 | samselpla-punct |
---|
91 | samselpla-space |
---|
92 | samselpla-upper |
---|
93 | samselpla-xdigit |
---|
94 | samselpla-^alnum |
---|
95 | samselpla-^alpha |
---|
96 | samselpla-^ascii |
---|
97 | samselpla-^blank |
---|
98 | samselpla-^cntrl |
---|
99 | samselpla-^digit |
---|
100 | samselpla-^graph |
---|
101 | samselpla-^lower |
---|
102 | samselpla-^odigit |
---|
103 | samselpla-^print |
---|
104 | samselpla-^punct |
---|
105 | samselpla-^space |
---|
106 | samselpla-^upper |
---|
107 | samselpla-^xdigit |
---|
108 | samselpla-klesi-newline |
---|
109 | samselpla-klesi-return |
---|
110 | samselpla-klesi-tab |
---|
111 | samselpla-klesi-page |
---|
112 | samselpla-klesi-lbracket |
---|
113 | samselpla-klesi-rbracket |
---|
114 | samselpla-klesi-backslash |
---|
115 | samselpla-klesi-selci |
---|
116 | samselpla-klesi-selci-* |
---|
117 | samselpla-klesi-selci-+ |
---|
118 | samselpla-klesi-selci-kuspe |
---|
119 | samselpla-denpabu |
---|
120 | samselpla-samselpla-xadni |
---|
121 | samselpla-samselpla-cmene |
---|
122 | samselpla-samselpla-balvi |
---|
123 | samselpla-samselpla-cabna |
---|
124 | samselpla-stura-empty-string |
---|
125 | samselpla-empty-string |
---|
126 | samselpla-empty-list |
---|
127 | samselpla-girzu-javni) |
---|
128 | |
---|
129 | (import chicken) |
---|
130 | (import scheme) |
---|
131 | |
---|
132 | (include "chicken-declare.scm") |
---|
133 | |
---|
134 | (require-extension utf8) |
---|
135 | |
---|
136 | (require-extension srfi-1) |
---|
137 | (require-extension utf8-srfi-13) |
---|
138 | (require-extension utf8-srfi-14) |
---|
139 | (require-extension srfi-69) |
---|
140 | (require-extension ports) |
---|
141 | ;(require-library extras) |
---|
142 | (require-library moremacros) |
---|
143 | (require-library matchable) |
---|
144 | (require-library sandbox) |
---|
145 | (require-library genturfahi) |
---|
146 | |
---|
147 | (import utf8) |
---|
148 | (import srfi-1) ; unzip2 |
---|
149 | (import utf8-srfi-13) ; string-append, string-copy |
---|
150 | (import utf8-srfi-14) ; character set library |
---|
151 | (import srfi-69) ; basic hash tables |
---|
152 | (import ports) ; Chicken Scheme srfi-6 and port extensions |
---|
153 | ;(import extras) ; pretty-print, for debugging |
---|
154 | (import moremacros) ; type-case |
---|
155 | (import matchable) |
---|
156 | (import sandbox) |
---|
157 | (import genturfahi) |
---|
158 | |
---|
159 | (include "eval.scm") |
---|
160 | (include "samselpla.scm") |
---|
161 | (include "bootstrap.scm") |
---|
162 | (include "peg.scm")) |
---|