-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparse.ss
More file actions
38 lines (32 loc) · 1.21 KB
/
parse.ss
File metadata and controls
38 lines (32 loc) · 1.21 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
#lang scheme/base
(require (planet cobbe/contract-utils:1/contract-utils)
scheme/contract
scheme/class
"private/syntax/ast-core.ss"
"private/syntax/ast-utils.ss"
"private/syntax/parse.ss"
"private/syntax/exceptions.ss"
"private/syntax/token.ss"
"private/syntax/lex.ss"
"private/syntax/input.ss")
(provide/contract
[input-source? predicate/c]
[input-source->input-port (input-source? . -> . input-port?)])
(provide (struct-out exn:fail:syntax))
(provide (struct-out token)
(struct-out position)
(struct-out regexp-contents)
(struct-out region))
(provide/contract
[lexer<%> interface?]
[lexer% (implementation?/c lexer<%>)]
[lex (input-source? . -> . (-> token?))]
[region->string (region? . -> . string?)])
(provide/contract
[parser<%> interface?]
[parser% (implementation?/c parser<%>)]
[input-source->parser (input-source? . -> . (is-a?/c parser<%>))]
[parse-program-unit (input-source? . -> . (listof SourceElement?))]
[parse-expression (input-source? . -> . Expression?)]
[parse-function-constructor (string? string? . -> . FunctionExpression?)]
[parse-source-element (input-source? . -> . SourceElement?)])