Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
guile /
3.0 /
system /
base /
Delete
Unzip
Name
Size
Permission
Date
Action
types
[ DIR ]
drwxr-xr-x
2025-03-06 19:41
ck.scm
2.15
KB
-rw-r--r--
2021-05-10 17:28
compile.scm
13.79
KB
-rw-r--r--
2021-05-10 17:28
lalr.scm
2
KB
-rw-r--r--
2021-05-10 17:28
lalr.upstream.scm
60.26
KB
-rw-r--r--
2021-05-10 17:28
language.scm
3.33
KB
-rw-r--r--
2021-05-10 17:28
message.scm
9.86
KB
-rw-r--r--
2021-05-10 17:28
optimize.scm
2.34
KB
-rw-r--r--
2021-05-10 17:28
pmatch.scm
2.51
KB
-rw-r--r--
2021-05-10 17:28
syntax.scm
12.81
KB
-rw-r--r--
2021-05-10 17:28
target.scm
6.73
KB
-rw-r--r--
2021-05-10 17:28
types.scm
19.38
KB
-rw-r--r--
2021-05-10 17:28
Save
Rename
;;; Multi-language support ;; Copyright (C) 2001,2005,2008-2011,2013,2020 Free Software Foundation, Inc. ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public ;; License as published by the Free Software Foundation; either ;; version 3 of the License, or (at your option) any later version. ;; ;; This library is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; Lesser General Public License for more details. ;; ;; You should have received a copy of the GNU Lesser General Public ;; License along with this library; if not, write to the Free Software ;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ;; 02110-1301 USA ;;; Code: (define-module (system base language) #:use-module (system base syntax) #:export (define-language language? lookup-language make-language language-name language-title language-reader language-printer language-parser language-compilers language-decompilers language-evaluator language-joiner language-for-humans? language-make-default-environment language-lowerer language-analyzer language-compiler-chooser lookup-compilation-order lookup-decompilation-order default-environment) #:re-export (current-language)) ;;; ;;; Language class ;;; (define-record/keywords <language> name title reader printer (parser #f) (compilers '()) (decompilers '()) (evaluator #f) (joiner #f) (for-humans? #t) (make-default-environment make-fresh-user-module) (lowerer #f) (analyzer #f) (compiler-chooser #f)) (define-syntax-rule (define-language name . spec) (define name (make-language #:name 'name . spec))) (define (lookup-language name) (let ((m (resolve-module `(language ,name spec)))) (if (module-bound? m name) (module-ref m name) (error "no such language" name)))) (begin-deprecated (define-public (invalidate-compilation-cache!) (issue-deprecation-warning "invalidate-compilation-cache is deprecated; recompile your modules") (values))) (define (compute-translation-order from to language-translators) (cond ((not (language? to)) (compute-translation-order from (lookup-language to) language-translators)) (else (let lp ((from from) (seen '())) (cond ((not (language? from)) (lp (lookup-language from) seen)) ((eq? from to) (reverse! seen)) ((memq from seen) #f) (else (or-map (lambda (pair) (lp (car pair) (acons from (cdr pair) seen))) (language-translators from)))))))) (define (lookup-compilation-order from to) (compute-translation-order from to language-compilers)) (define (lookup-decompilation-order from to) (and=> (compute-translation-order to from language-decompilers) reverse!)) (define (default-environment lang) "Return the default compilation environment for source language LANG." ((language-make-default-environment (if (language? lang) lang (lookup-language lang))))) ;;; ;;; Current language ;;; ;; Deprecated; use current-language instead. (begin-deprecated (define-public *current-language* (parameter-fluid current-language)))