source: project/release/4/genturfahi/trunk/chicken-ext.scm @ 25672

Last change on this file since 25672 was 25672, checked in by Alan Post, 10 years ago

genturfahi: Add utf8 support.

I call string-ref, which is now o(n) rather than o(1). This needs
to be fixed by splitting the string into a list.

I would like to support UTF8 in my grammar, which will require
rebuilding the bootstrap code, now that I support UTF8 in the
parser.

File size: 4.8 KB
Line 
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(module genturfahi
21  (genturfahi
22   genturfahi*
23
24   genturfahi-version
25   genturfahi-version-major
26   genturfahi-version-minor
27   genturfahi-version-patch
28
29   ; lerfu-porsi
30   ;
31   make-lerfu-porsi-string
32   make-lerfu-porsi-port
33   lerfu-porsi-string
34
35   lerfu-porsi-fanmo?
36
37
38   ; javni-valsi
39   ;
40   make-javni-valsi
41   javni-valsi?
42   javni-valsi-cme
43   javni-valsi-val*
44
45   javni-nastura?
46
47   javni-valsi-val
48   javni-rodavalsi
49   javni-rodavalsi-je
50   javni-rodavalsi-*
51   javni-rodavalsi-samselpla
52
53   javni-valsi->string
54
55
56   ; nunjavni
57   ;
58   nunjavni-lerfu
59   nunjavni-.*
60   nunjavni-.+
61   nunjavni-.kuspe
62   nunjavni-.
63   nunjavni-e
64   nunjavni-nil
65   nunjavni-fanmo
66   nunjavni-valsi
67   nunjavni-char-set-*
68   nunjavni-char-set-+
69   nunjavni-char-set-kuspe
70   nunjavni-char-set
71   nunjavni-*
72   nunjavni-+
73   nunjavni-kuspe
74   nunjavni-?
75   nunjavni-&
76   nunjavni-!
77   nunjavni-je
78   nunjavni-jonai
79   nunjavni-porjahe
80
81   genturfahi-semorji
82   genturfahi-tolmohi
83   nunjavni-morji
84   nunjavni-samselpla
85   nunjavni-samselpla-cabna
86   nunjavni-cmene
87   nunjavni-nastura
88
89   nunjavni-secuxna
90
91   ; morji
92   ;
93   tolmohi-nunjavni
94   nunmorji-nunjavni
95
96   morji-nunjavni-lerfu
97   morji-nunjavni-.*
98   morji-nunjavni-.+
99   morji-nunjavni-.kuspe
100   morji-nunjavni-.
101   morji-nunjavni-e
102   morji-nunjavni-nil
103   morji-nunjavni-fanmo
104   morji-nunjavni-valsi
105   morji-nunjavni-char-set-*
106   morji-nunjavni-char-set-+
107   morji-nunjavni-char-set-kuspe
108   morji-nunjavni-char-set
109   morji-nunjavni-*
110   morji-nunjavni-+
111   morji-nunjavni-kuspe
112   morji-nunjavni-?
113   morji-nunjavni-&
114   morji-nunjavni-!
115   morji-nunjavni-je
116   morji-nunjavni-jonai
117   morji-nunjavni-porjahe
118
119   morji-nunjavni-samselpla
120   morji-nunjavni-samselpla-cabna
121   morji-nunjavni-cmene
122   morji-nunjavni-nastura
123
124
125   ; nunvalsi
126   ;
127   make-nunvalsi
128   make-nunvalsi-predicate
129   venunjmina-nunvalsi
130   venunjmina-rodavalsi-*
131   venunjmina-rodavalsi-je
132   novejmina-nunvalsi
133
134
135   ; cfiselsisku
136   cfisisku-datni
137   nunjavni-cfisisku
138
139   ; junla
140   junla-datni
141   nunjavni-junla
142
143
144   ; secuxna
145   secuxna-start-production
146   secuxna-define-name
147   secuxna-define-toplevel
148   secuxna-exit-status
149   secuxna-debug-file
150   secuxna-profile-file
151   secuxna-debug
152   secuxna-profile
153   secuxna-no-memoize
154   secuxna-sentinel
155   secuxna-empty-string
156   secuxna-empty-list
157   secuxna-?-default
158   secuxna-*-default
159   secuxna-nonmatch-token
160   secuxna-nastura)
161
162(import chicken)
163(import scheme)
164
165(include "chicken-declare.scm")
166
167(require-extension utf8)
168
169(require-extension srfi-1)
170;(require-extension srfi-6)         ; built-in
171;(require-extension srfi-9)         ; built-in
172(require-extension utf8-srfi-13)
173(require-extension utf8-srfi-14)
174(require-extension srfi-18)
175;(require-extension srfi-28)        ; built-in
176;(require-extension srfi-39)        ; built-in
177(require-extension srfi-69)
178;(require-extension srfi-95)
179(require-extension data-structures)
180(require-extension extras)
181(require-extension matchable)
182(require-extension ports)
183
184(import utf8)
185(import srfi-1)          ; filter
186;(import srfi-6)          ; string ports
187;(import srfi-9)          ; define-record-type
188(import utf8-srfi-13)    ; string-copy
189(import utf8-srfi-14)    ; character set library
190(import srfi-18)         ; multi-threading support
191;(import srfi-28)         ; basic format strings
192;(import srfi-39)         ; parameter objects
193(import srfi-69)         ; basic hash tables
194;(import srfi-95)         ; sorting and merging
195(import data-structures) ; should be srfi-95
196(import extras)          ; format, pretty-print
197(import matchable)
198(import ports)           ; Chicken Scheme srfi-6 and port extensions
199
200(include "chicken-platform.scm")
201
202(include "lerfu-porsi.scm")
203(include "javni-valsi.scm")
204(include "secuxna.scm")
205(include "nunjavni.scm")
206(include "morji.scm")
207(include "nunvalsi.scm")
208(include "cfisisku.scm")
209(include "junla.scm")
210(include "genturfahi.scm")
211(include "version.scm"))
Note: See TracBrowser for help on using the repository browser.