source: project/release/5/slib-prec/trunk/slib-prec.scm @ 38717

Last change on this file since 38717 was 38717, checked in by Kon Lovett, 4 months ago

move grammer record into module, remove redundant -local, add #{..} read-syntax module, grammer define not automatic w/o syntax

File size: 1.4 KB
Line 
1;;;; slib-prec.scm  -*-scheme-*-
2;;;; Kon Lovett, Apr '20
3
4;; Issues
5;;
6;; - needs a "surface notation"
7
8(module slib-prec ()
9
10(import scheme)
11(import (chicken module))
12(import (chicken base))
13
14(import slib-prec-parse)
15(reexport slib-prec-parse)
16
17(import slib-prec-grammar)
18(reexport slib-prec-grammar)
19
20;;;
21
22#|
23;;
24
25(define (make-grammar src #!optional (base '()))
26  (let* (
27    (imd (*parse-grammer-source 'make-grammar src base))
28    (grm (*eval-grammer-form 'make-grammar imd base)) )
29    (syntax-begin! base)
30    (apply prec:define-grammar grm)
31    (syntax-current) ) )
32
33; tok <kind> <args>...
34;
35; <kind>
36;
37; _f                              delim
38;
39; f                               nofix       : sop
40;
41; f_f                             commentfix  : stp match rule1 ...
42;
43; fx fy                           prefix      : sop bp rule1 ...
44; xf yf                           postfix     : sop bp
45; xfx xfy yfx yfy                 infix       : sop lbp bp rule1 ...
46; xfx xfy yfx yfy                 infix       : sop lbp bp rule1 ...
47;
48; xfs                             nary        : sop bp
49; fs                              prestfix    : sop bp rule1 ...
50;
51; fxf                             matchfix    :  sop sep match rule1 ...
52; fyf                             inmatchfix  :  sop sep match lbp rule1 ...
53
54(define (*parse-grammer-source loc src base)
55  (begin) )
56
57(define (*eval-grammer-form loc imd base)
58  (begin) )
59|#
60
61) ;slib-prec
Note: See TracBrowser for help on using the repository browser.