Commit c2c82d49 authored by pjb's avatar pjb

Renamed unix-cli -> cli. Started to complete the server.

parent be91d45f
......@@ -2,16 +2,36 @@
--------------------------------------
EMULSE - NOTES D'IMPLEMENTATION
NASIUM LSE - NOTES D'IMPLEMENTATION
--------------------------------------
DONE
====
- In cli, allow CR to work just like C-s
TODO
====
- In unix-cli, allow CR to work just like C-s
- Make a #+clisp clisp-terminal using EXT:WITH-KEYBOARD-INPUT (and
perhaps SCREEN). Should work both on unix and MS-Windows.
- Make a windows-console-terminal class to run in MS-Windows console.
- Implement the server main program, with options.
- Revise server configuration (see SYSTEMS.TXT) and implement.
- Write server documentation chapters.
- Voir si on ajoute un token <- pour _.
- server iolib-util: the write handler should be activated only when
we have something to write, and it should be deactivated when we're
done writing, otherwise it goes CPU bound (polling).
make-writer-maker
NOTES
......@@ -304,7 +324,8 @@ LSE SYSTEM
::
emulse [configuration-file]
nasium-lse # cli
nasium-lse-server [configuration-file] # server
commands: ::
......
......@@ -32,46 +32,74 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#*****************************************************************************
BUILD_HOSTS = kuiper galatea lassell # triton
LISP=ccl --load
RMERGE=rsync -HSWacvxz --progress -e ssh
RSYNCH=rsync -HSWacvxz --progress -e ssh --force --delete --delete-after
BUILD_HOSTS = kuiper galatea lassell # triton
RMERGE = rsync -HSWacvxz --progress -e ssh
RSYNCH = rsync -HSWacvxz --progress -e ssh --force --delete --delete-after
LOGFILE = /tmp/lse-build.log
SYMLINK_CLI = awk '/Generating/{print $$2}' < $(LOGFILE) | ( read executable ; rm -f lse ; ln -sf $$executable lse )
SYMLINK_SERVER = awk '/Generating/{print $$2}' < $(LOGFILE) | ( read executable ; rm -f lse-server ; ln -sf $$executable lse-server )
CCL = ccl --load
CLISP = clisp -ansi -q
LISP = $(CCL)
help::
@printf 'make all # builds all executables on all hosts.\n'
all:ChangeLog
@for host in $(BUILD_HOSTS) ; do \
echo "// Building on $$host" ;\
ssh $$host $(MAKE) $(MFLAGS) -C $$(pwd) unix-cli ;\
ssh $$host $(MAKE) $(MFLAGS) -C $$(pwd) cli server ;\
done
$(MAKE) $(MFLAGS) html-doc
help:
@printf 'make all # builds all executables on all hosts.\n'
@printf 'make unix-cli # builds the unix cli executable on the local hosts.\n'
@printf 'make html-doc # builds the html doc directory on the local hosts.\n'
@printf 'make ChangeLog # Extracts the logs from git into the ChangeLog file.\n'
@printf 'make variables # shows the variables.\n'
help::
@printf 'make cli # builds the unix cli executable on the local hosts.\n'
cli:cli/ccl
cli/ccl:
$(CCL) generate-cli.lisp | tee $(LOGFILE)
$(SYMLINK_CLI)
cli/clisp:
$(CLISP) generate-cli.lisp | tee $(LOGFILE)
$(SYMLINK_CLI)
unix-cli:cli
help::
@printf 'make ChangeLog # Extracts the logs from git into the ChangeLog file.\n'
ChangeLog:
git log > ChangeLog
symlink:
awk '/Generating/{print $$2}' < /tmp/unix-cli.log | ( read executable ; rm -f lse ; ln -sf $$executable lse )
unix-cli:unix-cli/ccl
help::
@printf 'make server # builds the server executable on the local hosts.\n'
server:server/ccl
server/ccl:
$(CCL) generate-server.lisp | tee $(LOGFILE)
$(SYMLINK_SERVER)
server/clisp:
$(CLISP) generate-server.lisp | tee $(LOGFILE)
$(SYMLINK_SERVER)
unix-cli/ccl:
ccl --load generate-unix-cli.lisp | tee /tmp/unix-cli.log
awk '/Generating/{print $$2}' < /tmp/unix-cli.log | ( read executable ; rm -f lse ; ln -sf $$executable lse )
unix-cli/clisp:
clisp -ansi -q generate-unix-cli.lisp | tee /tmp/unix-cli.log
awk '/Generating/{print $$2}' < /tmp/unix-cli.log | ( read executable ; rm -f lse ; ln -sf $$executable lse )
help::
@printf 'make html-doc # builds the html doc directory on the local hosts.\n'
html-doc:
ccl --load generate-documentation.lisp
$(CCL) generate-documentation.lisp
# doc-unix-cli:*.lisp
# $(MAKE) $(MFLAGS) html-doc
......@@ -79,10 +107,18 @@ html-doc:
# install-doc:doc-unix-cli
# $(RSYNCH) doc-unix-cli/ ~/public_html/sites/com.ogamita.www/nasium-lse/doc-unix-cli
help::
@printf 'make variables # shows the variables.\n'
variables:
@echo pwd=$$(pwd)
@echo BUILD_HOSTS=$(BUILD_HOSTS)
@echo LISP=$(LISP)
@printf '%-20s = %s\n' pwd "$$(pwd)"
@printf '%-20s = %s\n' BUILD_HOSTS "$(BUILD_HOSTS)"
@printf '%-20s = %s\n' LISP "$(LISP)"
@printf '%-20s = %s\n' SYMLINK_SERVER "$(SYMLINK_SERVER)"
@printf '%-20s = %s\n' SYMLINK_CLI "$(SYMLINK_CLI)"
.PHONY: unix-cli html-doc
......
.. comment: -*- mode:rst; coding:utf-8 -*-
LSE-CL: An Implementation of the L.S.E. programming language written in Common Lisp
###################################################################################
NASIUM-LSE: An Implementation of the L.S.E. programming language written in Common Lisp
#######################################################################################
Compiling
......@@ -14,7 +14,7 @@ Development
A ``loader.lisp`` file is provided to easily load (and reload) the
sources. ::
(cd #P "~/src/lse-cl/src/")
(cd #P "~/src/nasium-lse/src/")
(load "loader.lisp")
It should be edited, notably there are absolute pathnames to remove
......
0.17600438
\ No newline at end of file
0.16500436
\ No newline at end of file
......@@ -309,7 +309,7 @@ INSTALLATION A PARTIR DES SOURCES
=================================
0- lire entierement ce document.
1- make unix-cli
1- make cli
2- su root
3- groupadd lse
4- adduser lse
......
;;;; -*- mode:lisp;coding:utf-8 -*-
;;;;**************************************************************************
;;;;FILE: arguments.lisp
;;;;FILE: cli-arguments.lisp
;;;;LANGUAGE: Common-Lisp
;;;;SYSTEM: Common-Lisp
;;;;USER-INTERFACE: NONE
......@@ -32,7 +32,7 @@
;;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;;;**************************************************************************
(in-package "COM.INFORMATIMAGO.LSE.UNIX-CLI")
(in-package "COM.INFORMATIMAGO.LSE.CLI")
(defstruct options
......
;;;; -*- mode:lisp;coding:utf-8 -*-
;;;;**************************************************************************
;;;;FILE: unix-cli-package.lisp
;;;;FILE: cli-package.lisp
;;;;LANGUAGE: Common-Lisp
;;;;SYSTEM: Common-Lisp
;;;;USER-INTERFACE: NONE
;;;;DESCRIPTION
;;;;
;;;; This defines the unix-cli package.
;;;; This defines the cli package.
;;;;
;;;;AUTHORS
;;;; <PJB> Pascal J. Bourguignon <pjb@informatimago.com>
......@@ -56,7 +56,7 @@
))
(defpackage "COM.INFORMATIMAGO.LSE.UNIX-CLI"
(defpackage "COM.INFORMATIMAGO.LSE.CLI"
(:nicknames "LSE-CLI")
(:use "COMMON-LISP"
"COM.INFORMATIMAGO.COMMON-LISP.CESARUM.STRING"
......
;;;; -*- mode:lisp;coding:utf-8 -*-
;;;;**************************************************************************
;;;;FILE: unix-cli.lisp
;;;;FILE: cli.lisp
;;;;LANGUAGE: Common-Lisp
;;;;SYSTEM: Common-Lisp
;;;;USER-INTERFACE: NONE
;;;;DESCRIPTION
;;;;
;;;; Unix Command Line Interface.
;;;; Command Line Interface.
;;;;
;;;;AUTHORS
;;;; <PJB> Pascal J. Bourguignon <pjb@informatimago.com>
......@@ -32,7 +32,7 @@
;;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;;;**************************************************************************
(in-package "COM.INFORMATIMAGO.LSE.UNIX-CLI")
(in-package "COM.INFORMATIMAGO.LSE.CLI")
(defvar *default-program-name* "lse")
......
;;;; -*- mode:lisp;coding:utf-8 -*-
;;;;**************************************************************************
;;;;FILE: com.informatimago.lse.unix-cli.asd
;;;;FILE: com.informatimago.lse.cli.asd
;;;;LANGUAGE: Common-Lisp
;;;;SYSTEM: Common-Lisp
;;;;USER-INTERFACE: NONE
......@@ -33,14 +33,14 @@
;;;;**************************************************************************
(asdf:defsystem :com.informatimago.lse.unix-cli
:description "This system defines the unix CLI L.S.E. interpreter"
(asdf:defsystem :com.informatimago.lse.cli
:description "This system defines the Command Line Interface L.S.E. interpreter."
:author "<PJB> Pascal J. Bourguignon <pjb@informatimago.com>"
:version "1.2.2"
:licence "AGPL3"
:properties ((#:author-email . "pjb@informatimago.com")
(#:date . "Winter 2012")
((#:albert #:output-dir) . "/tmp/documentation/com.informatimago.lse.unix-cli/")
((#:albert #:output-dir) . "/tmp/documentation/com.informatimago.lse.cli/")
((#:albert #:formats) . ("docbook"))
((#:albert #:docbook #:template) . "book")
((#:albert #:docbook #:bgcolor) . "white")
......@@ -66,25 +66,26 @@
(:file "patch-cffi-uffi")
(:file "unix-cli-package")
(:file "cli-package")
#+swank
(:file "swank-terminal" :depends-on ("unix-cli-package"))
(:file "swank-terminal" :depends-on ("cli-package"))
#+(and unix (not clisp))
(:file "unix-terminal" :depends-on ("unix-cli-package"))
(:file "unix-terminal" :depends-on ("cli-package"))
#-(and unix (not clisp))
(:file "unix-terminal-stub" :depends-on ("unix-cli-package"))
(:file "unix-terminal-stub" :depends-on ("cli-package"))
(:file "terminfo-terminal" :depends-on ("unix-cli-package"))
(:file "terminfo-terminal" :depends-on ("cli-package"))
(:file "arguments" :depends-on ("unix-cli-package"))
(:file "unix-cli" :depends-on ("unix-cli-package"
"arguments"
"terminfo-terminal"
#+swank "swank-terminal"
#+(and unix (not clisp))
"unix-terminal"))
(:file "cli-arguments" :depends-on ("cli-package"))
(:file "cli"
:depends-on ("cli-package"
"cli-arguments"
"terminfo-terminal"
#+swank "swank-terminal"
#-(and unix (not clisp)) "unix-terminal-stub"
#+(and unix (not clisp)) "unix-terminal"))
))
......
......@@ -5,9 +5,9 @@
;;;;SYSTEM: Common-Lisp
;;;;USER-INTERFACE: NONE
;;;;DESCRIPTION
;;;;
;;;;
;;;; ASD file to load the com.informatimago.lse program.
;;;;
;;;;
;;;;AUTHORS
;;;; <PJB> Pascal J. Bourguignon <pjb@informatimago.com>
;;;;MODIFICATIONS
......@@ -15,19 +15,19 @@
;;;;BUGS
;;;;LEGAL
;;;; AGPL3
;;;;
;;;;
;;;; Copyright Pascal J. Bourguignon 2012 - 2012
;;;;
;;;;
;;;; This program is free software: you can redistribute it and/or modify
;;;; it under the terms of the GNU Affero General Public License as published by
;;;; the Free Software Foundation, either version 3 of the License, or
;;;; (at your option) any later version.
;;;;
;;;;
;;;; This program 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 Affero General Public License for more details.
;;;;
;;;;
;;;; You should have received a copy of the GNU Affero General Public License
;;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;;;**************************************************************************
......@@ -49,7 +49,7 @@
:depends-on (:split-sequence
:alexandria
:babel
:iolib.base
:iolib.os
:iolib.syscalls
......@@ -59,29 +59,32 @@
#+clisp :com.informatimago.susv3
:com.informatimago.common-lisp
:com.informatimago.common-lisp.unix
:com.informatimago.lse
)
:components (
(:file "iolib-message" :depends-on ())
(:file "iolib-end-point")
(:file "iolib-utils" :depends-on ("iolib-message" "iolib-end-point"))
(:file "iolib-server" :depends-on ("iolib-utils" "iolib-message"))
(:file "iolib-client" :depends-on ("iolib-utils" "iolib-message"))
;;---------------------
(:file "iolib-utils" :depends-on ("iolib-message" "iolib-end-point"))
(:file "iolib-server" :depends-on ("iolib-utils" "iolib-message"))
(:file "iolib-client" :depends-on ("iolib-utils" "iolib-message"))
;;---------------------
(:file "server-package" :depends-on ("iolib-message"
"iolib-end-point"
"iolib-utils"
"iolib-server"))
(:file "server-commands" :depends-on ("server-package"))
(:file "server-arguments" :depends-on ("server-package"))
(:file "server" :depends-on ("server-package"
"iolib-end-point"
"iolib-utils"
"iolib-server"
"server-commands"))
"server-commands"
"server-arguments"))
))
;;;; THE END ;;;;
......@@ -1804,8 +1804,8 @@ POST: (and (cons-position c l) (eq c (nthcdr (cons-position c l) l)))
(values))
;; (test/parse-file #P"~/src/pjb/lse-cl/SYNTERR.LSE")
;; (test/parse-file #P"~/src/pjb/lse/BOURG/BOUR.LSE")
;; (test/parse-file #P"SYNTERR.LSE")
;; (test/parse-file #P"../BOURG/BOUR.LSE")
;; (test/parse-string "18*")
;; (let ((*print-escape* nil) (*print-pretty* t) (*print-right-margin* 80)) (write (test/parse-file "tpars.lse")))
......@@ -1826,10 +1826,10 @@ POST: (and (cons-position c l) (eq c (nthcdr (cons-position c l) l)))
;; (compile-lse-file #P "~/src/pjb/lse/BOURG/BOUR.LSE")
;; (compile-lse-file #P "~/src/pjb/lse-cl/TESTCOMP.LSE")
;; (compile-lse-file #P "../BOURG/BOUR.LSE")
;; (compile-lse-file #P "TESTCOMP.LSE")
;; (test/compile-lse-file #P "~/src/pjb/lse-cl/TESTCOMP.LSE")
;; (test/compile-lse-file #P "TESTCOMP.LSE")
;; (test/compile-lse-file "tpars.lse")
......
;;;; -*- mode:lisp;coding:utf-8 -*-
;;;;**************************************************************************
;;;;FILE: generate-unix-cli.lisp
;;;;FILE: generate-cli.lisp
;;;;LANGUAGE: Common-Lisp
;;;;SYSTEM: Common-Lisp
;;;;USER-INTERFACE: NONE
......@@ -44,14 +44,12 @@
(make-instance 'asdf:compile-op)
(asdf:find-component (asdf:find-system system) component))))
;; #+windows-target (cd #P"/cygwin/home/pjb/src/pjb/lse-cl/src/")
;; #-windows-target (cd #P"/home/pjb/src/pjb/lse-cl/src/")
(cd (dirpath *load-truename*))
(pushnew (pwd) asdf:*central-registry* :test 'equal)
(defparameter *program-name* "lse")
(defparameter *program-system* :com.informatimago.lse.unix-cli)
(defparameter *program-system* :com.informatimago.lse.cli)
(pushnew :developing *features*)
(pushnew :lse-case-insensitive *features*)
......@@ -109,7 +107,7 @@
#+ccl (progn (princ "ccl:save-application will exit.") (terpri) (finish-output))
#+ccl (ccl:save-application
(executable-filename *program-name*)
:toplevel-function (function com.informatimago.lse.unix-cli:main)
:toplevel-function (function com.informatimago.lse.cli:main)
:init-file nil
:error-handler :quit-quietly
;; :application-class ccl:lisp-development-system
......@@ -128,7 +126,7 @@
:norc t
:init-function (lambda ()
(ext:exit (handler-case
(com.informatimago.lse.unix-cli:main)
(com.informatimago.lse.cli:main)
(error ()
1))))
:script t
......@@ -144,7 +142,7 @@
;; (finish-output)
#|
(cd "/home/pjb/src/pjb/lse-cl/src/")
(load "generate-unix-cli.lisp")
(cd "/home/pjb/src/pjb/nasium-lse/src/")
(load "generate-cli.lisp")
|#
;;;; THE END ;;;;
......@@ -44,14 +44,12 @@
(make-instance 'asdf:compile-op)
(asdf:find-component (asdf:find-system system) component))))
;; #+windows-target (cd #P"/cygwin/home/pjb/src/pjb/lse-cl/src/")
;; #-windows-target (cd #P"/home/pjb/src/pjb/lse-cl/src/")
(cd (dirpath *load-truename*))
(pushnew (pwd) asdf:*central-registry* :test 'equal)
(defparameter *program-name* "lse")
(defparameter *program-system* :com.informatimago.lse.unix-cli)
(defparameter *program-system* :com.informatimago.lse.cli)
(pushnew :developing *features*)
(pushnew :lse-case-insensitive *features*)
......@@ -78,10 +76,10 @@
;;; Let's generate the target.
;; (defparameter *documentation-directory* "doc-unix-cli")
;; (defparameter *documentation-directory* "doc-cli")
(defparameter *documentation-directory*
#P"/home/pjb/public_html/sites/com.ogamita.www/nasium-lse/doc-unix-cli/")
#P"/home/pjb/public_html/sites/com.ogamita.www/nasium-lse/doc-cli/")
(format t "~%Generating ~A~%" *documentation-directory*)
(finish-output)
......@@ -90,7 +88,7 @@
(com.informatimago.lse.os:quit)
#|
(cd "/home/pjb/src/pjb/lse-cl/src/")
(cd "/home/pjb/src/pjb/nasium-lse/src/")
(load "generate-documentation.lisp")
|#
;;;; THE END ;;;;
......@@ -250,11 +250,12 @@
(defmethod client-close ((client client))
(setf (slot-value client 'state) :closed)
(ignore-errors (remove-fd-handlers *event-base*
(socket-os-fd (client-socket client))
:read t :write t :error t))
(shutdown (client-socket client) :read t :write t)
(close (client-socket client))
(when (socket-os-fd (client-socket client))
(ignore-errors (remove-fd-handlers *event-base*
(socket-os-fd (client-socket client))
:read t :write t :error t))
(shutdown (client-socket client) :read t :write t)
(close (client-socket client)))
(values))
......
......@@ -287,13 +287,13 @@ SENDER: (function client client-socket disconnector)
(lambda (client client-socket disconnector)
(lambda (fd event exception)
(declare (ignorable fd event exception))
(logger :com.informatimago.iolib.util.handler :debug "Write handler ~S ~S ~S~%"
fd event exception)
;; (logger :com.informatimago.iolib.util.handler :debug "Write handler ~S ~S ~S~%"
;; fd event exception)
(handler-case
(funcall sender client client-socket disconnector)
(socket-connection-reset-error ()
;; If for some reaon the client reset the network connection,
;; If for some reaon the client resets the network connection,
;; we'll get this signal.
(logger :com.informatimago.iolib.util :warn "Client ~A: connection reset by peer.~%"
(socket-remote-end-point client-socket))
......
......@@ -40,8 +40,6 @@
(make-instance 'asdf:compile-op)
(asdf:find-component (asdf:find-system system) component))))
;; #+windows-target (cd #P"/cygwin/home/pjb/src/pjb/lse-cl/src/")
;; #-windows-target (cd #P"/home/pjb/src/pjb/lse-cl/src/")
(cd (dirpath *load-truename*))
(pushnew (pwd) asdf:*central-registry* :test 'equal)
......@@ -100,11 +98,15 @@
(ignore-errors (delete-package :com.informatimago.lse.byte-code))
(ignore-errors (delete-package :com.informatimago.lse.identifiers)))
(pushnew (pwd) asdf:*central-registry*)
(quick-reload :com.informatimago.lse.unix-cli)
(com.informatimago.common-lisp.cesarum.package:add-nickname :COM.INFORMATIMAGO.LSE.IDENTIFIERS :id)
(quick-reload :com.informatimago.lse.cli)
(quick-reload :com.informatimago.lse.server)
(com.informatimago.common-lisp.cesarum.package:add-nickname
:COM.INFORMATIMAGO.LSE.IDENTIFIERS :id)
(in-package :com.informatimago.lse)
(print '(in-package :com.informatimago.lse))
(print '(com.informatimago.lse.unix-cli:main))
(print '(com.informatimago.lse.cli:main))
(print '(com.informatimago.lse.server:main))
(terpri) (finish-output)
......@@ -112,7 +114,7 @@
#|
(cd #P "/home/pjb/src/pjb/lse-cl/src/")
(cd #P "/home/pjb/src/pjb/nasium-lse/src/")
(load "loader.lisp")
|#
......
......@@ -957,8 +957,8 @@ TRANSITION: (state-name (string-expr body-expr...)...) ...
(test/scan-stream src)))
;; (test/scan-file #P"~/src/pjb/lse-cl/SYNTERR.LSE")
;; (test/scan-file #P"~/src/pjb/lse-cl/TESTCOMP.LSE")
;; (test/scan-file #P"~/src/pjb/nasium-lse/SYNTERR.LSE")
;; (test/scan-file #P"~/src/pjb/nasium-lse/TESTCOMP.LSE")
;; (test/scan-string "18*")
;;;; THE END ;;;;
......@@ -11,7 +11,7 @@
;;;;AUTHORS
;;;; <PJB> Pascal J. Bourguignon <pjb@informatimago.com>
;;;;MODIFICATIONS
;;;; 2012-03-14 <PJB> Extracted from generate-unix-cli.lisp
;;;; 2012-03-14 <PJB> Extracted from generate-cli.lisp
;;;;BUGS
;;;;LEGAL
;;;; AGPL3
......
......@@ -32,9 +32,9 @@
;;;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;;;**************************************************************************
(cd #P "/home/pjb/src/pjb/lse-cl/src/")
(push #P"/home/pjb/src/pjb/lse-cl/dependencies/zebu-3.5.5-pjb/" asdf:*central-registry*)
(push #P "/home/pjb/src/pjb/lse-cl/src/" asdf:*central-registry*)
(cd #P "/home/pjb/src/pjb/nasium-lse/src/")
(push #P"/home/pjb/src/pjb/nasium-lse/dependencies/zebu-3.5.5-pjb/" asdf:*central-registry*)
(push #P "/home/pjb/src/pjb/nasium-lse/src/" asdf:*central-registry*)
(in-package :cl-user)
(asdf-load :com.informatimago.lse)
......@@ -80,21 +80,21 @@
(asdf-load :com.informatimago.common-lisp.cesarum)
(in-package :cl-user)
(cd #P "/home/pjb/src/pjb/lse-cl/src/")
(pushnew #P"/home/pjb/src/pjb/lse-cl/dependencies/zebu-3.5.5-pjb/" asdf:*central-registry*)
(pushnew #P "/home/pjb/src/pjb/lse-cl/src/" asdf:*central-registry*)
(cd #P "/home/pjb/src/pjb/nasium-lse/src/")
(pushnew #P"/home/pjb/src/pjb/nasium-lse/dependencies/zebu-3.5.5-pjb/" asdf:*central-registry*)
(pushnew #P "/home/pjb/src/pjb/nasium-lse/src/" asdf:*central-registry*)
(pushnew :developing *features*)
;;----------------------------------------------------------------------
(in-package :cl-user)
(cd #P "/home/pjb/src/pjb/lse-cl/src/")
(pushnew #P "/home/pjb/src/pjb/lse-cl/src/" asdf:*central-registry*)
(cd #P "/home/pjb/src/pjb/nasium-lse/src/")
(pushnew #P "/home/pjb/src/pjb/nasium-lse/src/" asdf:*central-registry*)
(pushnew #P "/home/pjb/src/public/rdp/" asdf:*central-registry*)
(pushnew :developing *features*)
(setf *print-right-margin* 200
*print-pretty* t
*print-case* :downcase)
(asdf:run-shell-command "rm -rf /home/pjb/.cache/common-lisp/kuiper.lan.informatimago.com/ccl-1.7-f94-linux-amd64/home/pjb/src/git/pjb/lse-cl/src/")
(asdf:run-shell-command "rm -rf /home/pjb/.cache/common-lisp/kuiper.lan.informatimago.com/ccl-1.7-f94-linux-amd64/home/pjb/src/git/pjb/nasium-lse/src/")
(in-package :cl-user)
(progn (ignore-errors (delete-package :com.informatimago.lse.server))
(ignore-errors (delete-package :com.informatimago.lse))
......@@ -108,8 +108,8 @@
(in-package :cl-user)
(cd #P "/home/pjb/src/pjb/lse-cl/src/")
(pushnew #P "/home/pjb/src/pjb/lse-cl/src/" asdf:*central-registry*)
(cd #P "/home/pjb/src/pjb/nasium-lse/src/")
(pushnew #P "/home/pjb/src/pjb/nasium-lse/src/" asdf:*central-registry*)
(pushnew :developing *features*)
(ql:quickload :com.informatimago.lse :verbose t :explain t)
(in-package :com.informatimago.lse)
......@@ -161,7 +161,7 @@ _______________________________________________________________________________
(print (setf (scanner-current-token scanner) (scan-lse-token scanner)))
(print (list 'column= (scanner-column scanner) 'state= (scanner-state scanner))))
(with-open-file (src #P"/home/pjb/src/pjb/lse-cl/TESTCOMP.LSE")
(with-open-file (src #P"/home/pjb/src/pjb/nasium-lse/TESTCOMP.LSE")
(let ((scanner (make-instance 'lse-scanner :source src)))
(loop
:for line = (readline (slot-value scanner 'stream))
......@@ -169,7 +169,7 @@ _______________________________________________________________________________
:while line)))
(in-package :com.informatimago.lse)
(with-open-file (src #P"/home/pjb/src/pjb/lse-cl/TESTCOMP.LSE")
(with-open-file (src #P"/home/pjb/src/pjb/nasium-lse/TESTCOMP.LSE")
(let ((scanner (make-instance 'lse-scanner :source src)))
(advance-line scanner)
(scan-next-token scanner)))
......@@ -193,15 +193,15 @@ _______________________________________________________________________________
items)))
(in-package :COM.INFORMATIMAGO.LSE)
(test/lse-scanner #P"/home/pjb/src/pjb/lse-cl/SYNTERR.LSE")
(test/lse-scanner #P"/home/pjb/src/pjb/lse-cl/TESTCOMP.LSE")
(test/lse-scanner #P"/home/pjb/src/pjb/nasium-lse/SYNTERR.LSE")
(test/lse-scanner #P"/home/pjb/src/pjb/nasium-lse/TESTCOMP.LSE")
(test-parse-file #P "/home/pjb/src/pjb/lse-cl/SYNTERR.LSE")
(test-parse-file #P "/home/pjb/src/pjb/nasium-lse/SYNTERR.LSE")
(test-parse-file #P "/home/pjb/src/pjb/lse/BOURG/BOUR.LSE")
(test-parse-file #P"/home/pjb/src/pjb/lse-cl/TESTCOMP.LSE")
(test-parse-file #P"/home/pjb/src/pjb/nasium-lse/TESTCOMP.LSE")
(test-compile-file #P "/home/pjb/src/pjb/lse/BOURG/BOUR.LSE")
(test-compile-file #P "/home/pjb/src/pjb/lse-cl/TESTCOMP.LSE")
(test-compile-file #P "/home/pjb/src/pjb/nasium-lse/TESTCOMP.LSE")
......@@ -242,16 +242,16 @@ _______________________________________________________________________________
(terminal-new-line terminal 2)
(terminal-write-string terminal "Hello")
(terminal-line-feed (task-terminal *task*))
;; (with-slots (COM.INFORMATIMAGO.LSE.UNIX-CLI::current-column
;; COM.INFORMATIMAGO.LSE.UNIX-CLI::buffer) terminal
;; (COM.INFORMATIMAGO.LSE.UNIX-CLI::flush terminal)
;; (with-slots (COM.INFORMATIMAGO.LSE.CLI::current-column
;; COM.INFORMATIMAGO.LSE.CLI::buffer) terminal
;; (COM.INFORMATIMAGO.LSE.CLI::flush terminal)
;; (let ((output (terminal-output-stream terminal)))
;; (loop :repeat count :do (terpri output))
;; (terminal-finish-output terminal)
;; (fill COM.INFORMATIMAGO.LSE.UNIX-CLI::buffer #\space)
;; (COM.INFORMATIMAGO.LSE.UNIX-CLI::show-buffer terminal)
;; (list COM.INFORMATIMAGO.LSE.UNIX-CLI::current-column
;; COM.INFORMATIMAGO.LSE.UNIX-CLI::buffer
;; (fill COM.INFORMATIMAGO.LSE.CLI::buffer #\space)
;; (COM.INFORMATIMAGO.LSE.CLI::show-buffer terminal)
;; (list COM.INFORMATIMAGO.LSE.CLI::current-column
;; COM.INFORMATIMAGO.LSE.CLI::buffer
;; )))
(list
(terminal-write-string terminal "world")
......
......@@ -42,6 +42,7 @@
"COM.INFORMATIMAGO.COMMON-LISP.CESARUM.UTILITY"
"COM.INFORMATIMAGO.COMMON-LISP.CESARUM.STRING"
"COM.INFORMATIMAGO.COMMON-LISP.CESARUM.PMATCH"
"COM.INFORMATIMAGO.COMMON-LISP.UNIX.OPTION"
#+clisp "COM.INFORMATIMAGO.CLISP.XTERM"
......@@ -51,7 +52,9 @@
"COM.INFORMATIMAGO.IOLIB.END-POINT"
"COM.INFORMATIMAGO.IOLIB.MESSAGE"
"COM.INFORMATIMAGO.IOLIB.SERVER"
))
)
(:export "MAIN")
(:documentation ""))
......
......@@ -69,7 +69,8 @@ CONFIGURER Configure le server EMULSE.
(defclass lse-console-client (client)