aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/Makefile.in3
-rw-r--r--src/interp/i-output.boot68
-rw-r--r--src/interp/parsing.lisp2
-rw-r--r--src/interp/property.lisp128
5 files changed, 76 insertions, 130 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0762948a..b1c04f2e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2011-10-19 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/property.lisp: Move output-related content to i-output.boo.
+ Remove.
+
2011-10-18 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/postpar.boot (displayPreCompilationErrors): Dot not check
diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in
index 964d7914..2157553b 100644
--- a/src/interp/Makefile.in
+++ b/src/interp/Makefile.in
@@ -95,7 +95,7 @@ OBJS= boot-pkg.$(FASLEXT) types.$(FASLEXT) \
nrunfast.$(FASLEXT) osyscmd.$(FASLEXT) \
packtran.$(FASLEXT) pf2sex.$(FASLEXT) \
scan.$(FASLEXT) pile.$(FASLEXT) \
- property.$(FASLEXT) postpar.$(FASLEXT) \
+ postpar.$(FASLEXT) \
parse.$(FASLEXT) spad-parser.$(FASLEXT) \
record.$(FASLEXT) rulesets.$(FASLEXT) \
server.$(FASLEXT) setvars.$(FASLEXT) \
@@ -363,7 +363,6 @@ spaderror.$(FASLEXT): macros.$(FASLEXT)
debug.$(FASLEXT): macros.$(FASLEXT) parsing.$(FASLEXT)
spad.$(FASLEXT): bootlex.$(FASLEXT) postpar.$(FASLEXT) debug.$(FASLEXT)
monitor.$(FASLEXT): macros.$(FASLEXT)
-property.$(FASLEXT): sys-macros.$(FASLEXT)
sfsfun-l.$(FASLEXT): sys-macros.$(FASLEXT)
trace.$(FASLEXT): debug.$(FASLEXT)
termrw.$(FASLEXT): macros.$(FASLEXT)
diff --git a/src/interp/i-output.boot b/src/interp/i-output.boot
index ccb6fcf7..01af6206 100644
--- a/src/interp/i-output.boot
+++ b/src/interp/i-output.boot
@@ -381,6 +381,74 @@ for x in '((+ APP plusApp)
repeat
property(first x, second x) := third x
+for x in ["*","+","AND","OR","PROGN"] repeat
+ property(x,'NARY) := true
+
+for x in '((_= "=")
+ (_: ":")
+ (_not "not ")
+ (_| " | ")
+ (_SEGMENT ".."))
+ repeat
+ property(first x,'PREFIXOP) := second x
+
+for x in '((_:_= " := ")
+ (_/ "/")
+ (_+ "+")
+ (_* "*")
+ (_*_* "**")
+ (_^ "^")
+ (_: ":")
+ (_:_: "::")
+ (_@ "@")
+ (SEL ".")
+ (_exquo " exquo ")
+ (_div " div ")
+ (_quo " quo ")
+ (_rem " rem ")
+ (_case " case ")
+ (_and " and ")
+ (_/_\ " /\ ")
+ (_or " or ")
+ (_\_/ " \/ ")
+ (TAG ": ")
+ (_+_-_> " +-> ")
+ (RARROW " -> ")
+ (SEGMENT "..")
+ (_in " in ")
+ (EL* ":")
+ (JOIN " JOIN ")
+ (EQUATNUM " ")
+ (IQUOTIENT "//")
+ (_= "= ")
+ (_>_= " >= ")
+ (_> " > ")
+ (_<_= " <= ")
+ (_< " < ")
+ (_| " | ")
+ (_+ " + ")
+ (_- " - ")
+ (MEMBER " in ")
+ (NMEMBER " nin ")
+ (WHERE " WHERE ")
+ (AT " AT ")
+ (MAX " MAX ")
+ (MIN " MIN "))
+ repeat
+ property(first x,'INFIXOP) := second x
+
+property('TAG,'Led) := '(TAG TAG 122 121)
+property('EQUATNUM,'Nud) := '(dummy dummy 0 0)
+property('EQUATNUM,'Led) := '(dummy dummy 10000 0)
+property('%LET,'Led) := '(_:_= %LET 125 124)
+property('RARROW,'Led) := '(_=_= DEF 122 121)
+property('SEGMENT,'Led) := '(_._. SEGMENT 401 699 (P_:Seg))
+property('SEGMENT,'isSuffix) := true
+property('EQUAL1,'CHRYBNAM) := 'EQ
+property('COND,'Nud) := '(_if _if 130 0)
+property('CONS,'Led) := '(CONS CONS 1000 1000)
+property('APPEND,'Led) := '(APPEND APPEND 1000 1000)
+
--%
$collectOutput := false
diff --git a/src/interp/parsing.lisp b/src/interp/parsing.lisp
index 565fce93..509c6a14 100644
--- a/src/interp/parsing.lisp
+++ b/src/interp/parsing.lisp
@@ -71,6 +71,8 @@
; 0. Current I/O Stream definition
+(MAKEPROP 'END_UNIT 'KEY 'T)
+
(defparameter out-stream t "Current output stream.")
(defparameter File-Closed nil "Way to stop EOF tests for console input.")
diff --git a/src/interp/property.lisp b/src/interp/property.lisp
deleted file mode 100644
index 94163971..00000000
--- a/src/interp/property.lisp
+++ /dev/null
@@ -1,128 +0,0 @@
-;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-;; All rights reserved.
-;; Copyright (C) 2007-2011, Gabriel Dos Reis.
-;; All rights reserved.
-;;
-;; Redistribution and use in source and binary forms, with or without
-;; modification, are permitted provided that the following conditions are
-;; met:
-;;
-;; - Redistributions of source code must retain the above copyright
-;; notice, this list of conditions and the following disclaimer.
-;;
-;; - Redistributions in binary form must reproduce the above copyright
-;; notice, this list of conditions and the following disclaimer in
-;; the documentation and/or other materials provided with the
-;; distribution.
-;;
-;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-;; names of its contributors may be used to endorse or promote products
-;; derived from this software without specific prior written permission.
-;;
-;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-;; This file contains most of the code that puts properties on
-;; identifiers in the Scratchpad II system. If it was not possible
-;; to actually put the code here, we have pointers to where such
-;; property list manipulation is being done.
-
-;; Pointers:
-;; o see NEWAUX LISP for some code that puts GENERIC and RENAMETOK
-;; properties on identifiers for the parser
-;; o coerceIntCommute puts the "commute" property on constructors.
-;; o coerceRetract puts the "retract" property on constructors.
-;; o there is some code at the end of SPECEVAL BOOT that puts "up"
-;; properties on some special handlers.
-
-
-(import-module "sys-macros")
-(in-package "BOOT")
-
-;; following was in NEWSPAD LISP
-
-(MAKEPROP 'END_UNIT 'KEY 'T)
-
-;; following was in OUTINIT LISP
-
-(MAKEPROP 'TAG 'Led '(TAG TAG 122 121))
-(MAKEPROP 'EQUATNUM '|Nud| '(|dummy| |dummy| 0 0))
-(MAKEPROP 'EQUATNUM '|Led| '(|dummy| |dummy| 10000 0))
-(MAKEPROP '%LET '|Led| '(|:=| %LET 125 124))
-(MAKEPROP 'RARROW '|Led| '(== DEF 122 121))
-(MAKEPROP 'SEGMENT '|Led| '(|..| SEGMENT 401 699 (|P:Seg|)))
-(MAKEPROP 'SEGMENT '|isSuffix| 'T)
-(MAKEPROP 'EQUAL1 'CHRYBNAM 'EQ)
-(MAKEPROP 'COND '|Nud| '(|if| |if| 130 0))
-(MAKEPROP 'CONS '|Led| '(CONS CONS 1000 1000))
-(MAKEPROP 'APPEND '|Led| '(APPEND APPEND 1000 1000))
-
-(REPEAT (IN X '(
- (|:=| " := ")
- (= "=")
- (|/| "/")
- (+ "+")
- (* "*")
- (** "**")
- (^ "^")
- (|:| ":")
- (|::| "::")
- (|@| "@")
- (SEL ".")
- (|exquo| " exquo ")
- (|div| " div ")
- (|quo| " quo ")
- (|rem| " rem ")
- (|case| " case ")
- (|and| " and ")
- (|/\\| " /\\ ")
- (|or| " or ")
- (|\\/| " \\/ ")
- (TAG ": ")
- (|+->| " +-> ")
- (RARROW " -> ")
- (SEGMENT "..")
- (in " in ")
- (|^=| "^=")
- (EL* ":")
- (JOIN " JOIN ")
- (EQUATNUM " ")
- (IQUOTIENT "//")
- (= "= ")
- (|>=| " >= ")
- (|>| " > ")
- (|<=| " <= ")
- (|<| " < ")
- (\| " \| ")
- (+ " + ")
- (- " - ")
- (MEMBER " in ")
- (NMEMBER " nin ")
- (WHERE " WHERE ")
- (AT " AT ")
- (MAX " MAX ")
- (MIN " MIN ")
- )) (MAKEPROP (CAR X) 'INFIXOP (CADR X)))
-
-(REPEAT (IN X '(
- (= "=")
- (|:| ":")
- (|not| "not ")
- (\| " \| ")
- (SEGMENT "..") ;" 0.. is represented by (SEGMENT 0)"
- )) (MAKEPROP (CAR X) 'PREFIXOP (CADR X)))
-
-
-;; following was in INIT LISP
-
-(FLAG '(* + AND OR PROGN) 'NARY)