;;;-*- Mode: Lisp; Package: CGP -*- ;; Copyright (C) Paul Meurer 2000. All rights reserved. ;; paul.meurer@hit.uib.no ;; HIT-centre, University of Bergen ;; ;; Version 0.8 (in-package :cgp) #+ignore (defparameter *socket* (socket::make-socket :connect :passive :local-port 8082)) (defparameter *socket* (socket::make-socket :connect :passive :address-family :file :local-filename "/home/paul/cgp-socket")) (defparameter *stop-cgp* nil) (mp::process-run-function "cgp" (lambda () (loop until *stop-cgp* do (let* ((socket (socket::accept-connection *socket*)) (*eof-magic-string* "###EOF###") (*read-eval* nil) (lang (read-line socket)) (*cg* (cond ((string= lang "nbo") *nbo-cg*) ((string= lang "nny") *nny-cg*) (t nil)))) (ignore-errors (unwind-protect (progn (if *cg* (let ((*package* (find-package :cgp))) (disambiguate-stream socket socket)) ; :print-rules-p nil) (warn "Wrong language specified: ~s. Should not happen." lang)) (multiple-value-bind (s mi h d mo y) (decode-universal-time (get-universal-time)) (format t "disambiguation ran sucessfully. (~d.~d.~d ~2d:~2d:~2d)~%" d mo y h mi s))) (close socket))))))) #+test (let ((socket (socket::accept-connection *socket*)) (*read-eval* nil) (*cg* *nbo-cg*)) (loop for line = (read-line socket nil :eof) do (print line) until (or (eq line :eof) (string= line "###EOF###")) do (print "line read" socket)) (print "sent") ;;(force-output socket) (print "forced") (close socket) (print "closed")) #+test (socket::socket-connect *socket*) #+test (close *socket*)