mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Add 'for-humans?' flag to <language> specifications.
* module/system/base/language.scm (<language>): Add 'for-humans?' field, and export new 'language-for-humans?' predicate. * doc/ref/compiler.texi (Compiler Tower): Document. * module/language/assembly/spec.scm, module/language/bytecode/spec.scm, module/language/glil/spec.scm, module/language/objcode/spec.scm, module/language/tree-il/spec.scm, module/language/value/spec.scm: Mark these languages as 'for-humans?'.
This commit is contained in:
parent
13ff681c33
commit
b34e25359a
8 changed files with 19 additions and 9 deletions
|
@ -55,7 +55,8 @@ They are registered with the @code{define-language} form.
|
|||
@deffn {Scheme Syntax} define-language @
|
||||
name title reader printer @
|
||||
[parser=#f] [compilers='()] [decompilers='()] [evaluator=#f] @
|
||||
[joiner=#f] [make-default-environment=make-fresh-user-module]
|
||||
[joiner=#f] [for-humans?=#t] @
|
||||
[make-default-environment=make-fresh-user-module]
|
||||
Define a language.
|
||||
|
||||
This syntax defines a @code{#<language>} object, bound to @var{name}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; Guile Virtual Machine Assembly
|
||||
|
||||
;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2001, 2009, 2010, 2013 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
|
||||
|
@ -31,4 +31,5 @@
|
|||
#:parser read ;; fixme: make a verifier?
|
||||
#:compilers `((bytecode . ,compile-bytecode))
|
||||
#:decompilers `((bytecode . ,decompile-bytecode))
|
||||
#:for-humans? #f
|
||||
)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; Guile Lowlevel Intermediate Language
|
||||
|
||||
;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2001, 2009, 2010, 2013 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
|
||||
|
@ -35,4 +35,5 @@
|
|||
#:printer write
|
||||
#:compilers `((objcode . ,compile-objcode))
|
||||
#:decompilers `((objcode . ,decompile-objcode))
|
||||
#:for-humans? #f
|
||||
)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; Guile Lowlevel Intermediate Language
|
||||
|
||||
;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2001, 2009, 2010, 2013 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
|
||||
|
@ -37,4 +37,6 @@
|
|||
#:printer write-glil
|
||||
#:parser parse-glil
|
||||
#:compilers `((assembly . ,compile-asm))
|
||||
#:decompilers `((assembly . ,decompile-assembly)))
|
||||
#:decompilers `((assembly . ,decompile-assembly))
|
||||
#:for-humans? #f
|
||||
)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; Guile Lowlevel Intermediate Language
|
||||
|
||||
;; Copyright (C) 2001, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2001, 2009, 2010, 2011, 2013 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
|
||||
|
@ -79,4 +79,5 @@
|
|||
#:printer write-objcode
|
||||
#:compilers `((value . ,objcode->value))
|
||||
#:decompilers `((value . ,decompile-value))
|
||||
#:for-humans? #f
|
||||
)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; Tree Intermediate Language
|
||||
|
||||
;; Copyright (C) 2009, 2010 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2009, 2010, 2013 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
|
||||
|
@ -42,4 +42,5 @@
|
|||
#:parser parse-tree-il
|
||||
#:joiner join
|
||||
#:compilers `((glil . ,compile-glil))
|
||||
#:for-humans? #f
|
||||
)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; Guile Lowlevel Intermediate Language
|
||||
|
||||
;; Copyright (C) 2001, 2010 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2001, 2010, 2013 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
|
||||
|
@ -26,4 +26,5 @@
|
|||
#:title "Values"
|
||||
#:reader #f
|
||||
#:printer write
|
||||
#:for-humans? #f
|
||||
)
|
||||
|
|
|
@ -25,7 +25,8 @@
|
|||
language-name language-title language-reader
|
||||
language-printer language-parser
|
||||
language-compilers language-decompilers language-evaluator
|
||||
language-joiner language-make-default-environment
|
||||
language-joiner language-for-humans?
|
||||
language-make-default-environment
|
||||
|
||||
lookup-compilation-order lookup-decompilation-order
|
||||
invalidate-compilation-cache! default-environment
|
||||
|
@ -49,6 +50,7 @@
|
|||
(decompilers '())
|
||||
(evaluator #f)
|
||||
(joiner #f)
|
||||
(for-humans? #t)
|
||||
(make-default-environment make-fresh-user-module))
|
||||
|
||||
(define-macro (define-language name . spec)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue