fix: README -> README.md
This commit is contained in:
parent
43e68af625
commit
99b0a6292c
756 changed files with 323753 additions and 71 deletions
114
ta6ob/s/expand-lang.ss
Normal file
114
ta6ob/s/expand-lang.ss
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
;;; expand-lang.ss
|
||||
;;; Copyright 1984-2017 Cisco Systems, Inc.
|
||||
;;;
|
||||
;;; Licensed under the Apache License, Version 2.0 (the "License");
|
||||
;;; you may not use this file except in compliance with the License.
|
||||
;;; You may obtain a copy of the License at
|
||||
;;;
|
||||
;;; http://www.apache.org/licenses/LICENSE-2.0
|
||||
;;;
|
||||
;;; Unless required by applicable law or agreed to in writing, software
|
||||
;;; distributed under the License is distributed on an "AS IS" BASIS,
|
||||
;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
;;; See the License for the specific language governing permissions and
|
||||
;;; limitations under the License.
|
||||
|
||||
(define-record-type libreq
|
||||
(fields
|
||||
(immutable path)
|
||||
(immutable version)
|
||||
(immutable uid))
|
||||
(nongenerative #{libreq fnuxvkuvs8x0xbc68h3hm6-0})
|
||||
(sealed #t))
|
||||
|
||||
(define-record-type recompile-info
|
||||
(fields
|
||||
(immutable import-req*)
|
||||
(immutable include-req*))
|
||||
(nongenerative #{recompile-info fnuxvkuvs8x0xbc68h3hm6-1})
|
||||
(sealed #t))
|
||||
|
||||
(define-record-type library-info
|
||||
(nongenerative #{library-info e10vy7tci6bqz6pmnxgvlq-3})
|
||||
(fields
|
||||
(immutable path)
|
||||
(immutable version)
|
||||
(immutable uid)
|
||||
(immutable visible?)))
|
||||
|
||||
(define-record-type library/ct-info
|
||||
(parent library-info)
|
||||
(fields
|
||||
(immutable import-req*)
|
||||
(immutable visit-visit-req*)
|
||||
(immutable visit-req*))
|
||||
(nongenerative #{library/ct-info fgf0koeh2zn6ajlujfyoyf-4})
|
||||
(sealed #t))
|
||||
|
||||
(define-record-type library/rt-info
|
||||
(parent library-info)
|
||||
(fields
|
||||
(immutable invoke-req*))
|
||||
(nongenerative #{library/rt-info ff86rtm7efmvxcvrmh7t0b-3})
|
||||
(sealed #t))
|
||||
|
||||
(define-record-type program-info
|
||||
(fields (immutable uid) (immutable invoke-req*))
|
||||
(nongenerative #{program-info fgc8ptwnu9i5gfqz3s85mr-0})
|
||||
(sealed #t))
|
||||
|
||||
(module (Lexpand Lexpand?)
|
||||
(define library-path?
|
||||
(lambda (x)
|
||||
(and (list? x) (andmap symbol? x))))
|
||||
|
||||
(define library-version?
|
||||
(lambda (x)
|
||||
(and (list? x)
|
||||
(andmap (lambda (x) (and (integer? x) (exact? x) (>= x 0))) x))))
|
||||
|
||||
(define maybe-optimization-loc? (lambda (x) (or (not x) (box? x)))) ; should be a record
|
||||
|
||||
(define maybe-label? (lambda (x) (or (not x) (gensym? x))))
|
||||
|
||||
(define-language Lexpand
|
||||
(nongenerative-id #{Lexpand fgy7v2wrvj0so4ro8kvhqo-3})
|
||||
(terminals
|
||||
(maybe-label (dl))
|
||||
(gensym (uid export-id))
|
||||
(library-path (path))
|
||||
(library-version (version))
|
||||
(maybe-optimization-loc (db))
|
||||
(prelex (dv))
|
||||
(libreq (import-req visit-req visit-visit-req invoke-req))
|
||||
(string (include-req))
|
||||
(Lsrc (lsrc body init visit-code import-code de)) => unparse-Lsrc
|
||||
(recompile-info (rcinfo))
|
||||
(library/ct-info (linfo/ct))
|
||||
(library/rt-info (linfo/rt))
|
||||
(program-info (pinfo)))
|
||||
(Outer (outer)
|
||||
(recompile-info rcinfo)
|
||||
(group outer1 outer2)
|
||||
(visit-only inner)
|
||||
(revisit-only inner)
|
||||
inner)
|
||||
(Inner (inner)
|
||||
(library/ct-info linfo/ct)
|
||||
ctlib
|
||||
(library/rt-info linfo/rt)
|
||||
rtlib
|
||||
(program-info pinfo)
|
||||
prog
|
||||
lsrc)
|
||||
(ctLibrary (ctlib)
|
||||
(library/ct uid (export-id* ...) import-code visit-code))
|
||||
(rtLibrary (rtlib)
|
||||
(library/rt uid
|
||||
(dl* ...)
|
||||
(db* ...)
|
||||
(dv* ...)
|
||||
(de* ...)
|
||||
body))
|
||||
(Program (prog)
|
||||
(program uid body))))
|
||||
Reference in a new issue