From: Marco A. <ma...@cs...> - 2004-07-21 21:19:12
|
Hi I am trying to compile (and use) F2CL under LWW. I get a few warnings that I'd like to double check. Note that there are a few undefined functions. Could you have a look at them? Thanks Marco ================== CL-USER 26 > (mk:compile-system "f2cl") ; Loading text file z:\lang\cl\clocc\f2cl\f2cl.system ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl0.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; (DEFPACKAGE "F2CL-LIB") ; (DEFPACKAGE "FORTRAN-TO-LISP") ; (TOP-LEVEL-FORM 3) ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl0.fsl ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl1.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; (DEFVAR FORTRAN-TO-LISP::*VERBOSE*) ; (DEFVAR FORTRAN-TO-LISP::*COMMENTS*) ; (DEFPARAMETER FORTRAN-TO-LISP::*F2CL-VERSION*) ; (DEFVAR FORTRAN-TO-LISP::*INTRINSIC-FUNCTION-NAMES*) ; (DEFTYPE FORTRAN-TO-LISP::LOGICAL) ; (DEFTYPE FORTRAN-TO-LISP::INTEGER4) ; (DEFTYPE FORTRAN-TO-LISP::INTEGER2) ; (DEFTYPE FORTRAN-TO-LISP::INTEGER1) ; (DEFTYPE FORTRAN-TO-LISP::REAL8) ; (DEFTYPE FORTRAN-TO-LISP::REAL4) ; (DEFTYPE FORTRAN-TO-LISP::COMPLEX8) ; (DEFTYPE FORTRAN-TO-LISP::COMPLEX16) ; (DEFTYPE FORTRAN-TO-LISP::ARRAY-DOUBLE-FLOAT) ; (DEFTYPE FORTRAN-TO-LISP::ARRAY-INTEGER4) ; (DEFTYPE FORTRAN-TO-LISP::ARRAY-SINGLE-FLOAT) ; (DEFTYPE FORTRAN-TO-LISP::ARRAY-STRINGS) ; (TOP-LEVEL-FORM 3) ; (TOP-LEVEL-FORM 4) ; (DEFVAR FORTRAN-TO-LISP::*COMMON-BLOCKS*) ; (DEFVAR FORTRAN-TO-LISP::*COMMON-BLOCK-INITIALIZED*) ; (DEFVAR FORTRAN-TO-LISP::*RELAXED-ARRAY-DECLS*) ; (DEFVAR FORTRAN-TO-LISP::*COERCE-ASSIGNMENTS*) ; (DEFVAR FORTRAN-TO-LISP::*DEFAULT-LISP-EXTENSION*) ; (DEFVAR FORTRAN-TO-LISP::*FORTRAN-EXTENSIONS*) ; (DEFVAR FORTRAN-TO-LISP::*DECLARE-COMMON-BLOCKS*) ; (DEFVAR FORTRAN-TO-LISP::*ASSIGNED-VARIABLES*) ; (DEFVAR FORTRAN-TO-LISP::*ENTRY-POINTS*) ; (DEFVAR FORTRAN-TO-LISP::*F2CL-TRACE*) ; (DEFVAR FORTRAN-TO-LISP::*FLOAT-FORMAT*) ; (DEFVAR FORTRAN-TO-LISP::*USE-FUNCTION-INFO*) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-CALLS) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-CALLS) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-CALLS) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-RETURN-VALUES) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-RETURN-VALUES) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-RETURN-VALUES) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-ARG-TYPES) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-ARG-TYPES) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-ARG-TYPES) (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION FORTRAN-TO-LISP::MAKE-F2CL-FINFO (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (SUBFUNCTION FORTRAN-TO-LISP::MAKE-F2CL-FINFO (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) ; (DEFVAR FORTRAN-TO-LISP::*F2CL-FUNCTION-INFO*) ; (DEFVAR FORTRAN-TO-LISP::*F2CL-STATEMENT-FINFO*) ; FORTRAN-TO-LISP::CLEAR-F2CL-FINFO ; FORTRAN-TO-LISP:F2CL ;;;*** Warning in FORTRAN-TO-LISP:F2CL-COMPILE: ERROR-FILE is bound but not referenced ; FORTRAN-TO-LISP:F2CL-COMPILE ; FORTRAN-TO-LISP::PROCESS-DATA ; FORTRAN-TO-LISP::CONCATEN ; FORTRAN-TO-LISP::FORTRAN-TO-LISP ; FORTRAN-TO-LISP::SINGLE-MACRO-CHARACTER ; (DEFVAR FORTRAN-TO-LISP::*FORTRAN-READTABLE*) ; FORTRAN-TO-LISP::WITH-FORTRAN-SYNTAX ; FORTRAN-TO-LISP::ID-EXTENDED-DO ; FORTRAN-TO-LISP::REWRITE-EXTENDED-DO ; FORTRAN-TO-LISP::ID-END-DO ; FORTRAN-TO-LISP::ID-WRITE-FORMAT ; FORTRAN-TO-LISP::READSUBPROG-EXTRACT-FORMAT-STMTS ; FORTRAN-TO-LISP::INTRODUCE-CONTINUE ; FORTRAN-TO-LISP::FIND-DO ; FORTRAN-TO-LISP::FIXUP-F2CL-LIB ; FORTRAN-TO-LISP::MAYBE-NULLIFY-RETURNS ; FORTRAN-TO-LISP::TRANSLATE-AND-WRITE-SUBPROG ; FORTRAN-TO-LISP::SPECIAL-PRINT ; FORTRAN-TO-LISP::PRINC-RESET ; FORTRAN-TO-LISP::TRANSLATE-LABEL ; FORTRAN-TO-LISP::TRANSLATE-LINE ; FORTRAN-TO-LISP::ID-DEFINITION-PROG-NAME ; FORTRAN-TO-LISP::ID-DEFINITION-PROG ; FORTRAN-TO-LISP::ID-DEFINITION-SUB ; FORTRAN-TO-LISP::ID-DEFINITION-FUN-TYPED ; FORTRAN-TO-LISP::ID-DEFINITION-FUN ; FORTRAN-TO-LISP::ID-DEFINITION-ENTRY ; FORTRAN-TO-LISP::ID-CONTINUE ; FORTRAN-TO-LISP::ID-GOTO ; FORTRAN-TO-LISP::ID-COMP-GOTO-CORE ; FORTRAN-TO-LISP::ID-COMP-GOTO ; FORTRAN-TO-LISP::ID-COMP-GO-TO ; FORTRAN-TO-LISP::ID-GO-TO ; FORTRAN-TO-LISP::ID-ASSGN-GO-TO-CORE ; FORTRAN-TO-LISP::ID-ASSGN-GO-TO ; FORTRAN-TO-LISP::ID-ASSGN-GOTO ; FORTRAN-TO-LISP::ID-DECLARATION ; FORTRAN-TO-LISP::ID-IF-THEN ; FORTRAN-TO-LISP::ID-IF-GOTO ; FORTRAN-TO-LISP::ID-IF ; FORTRAN-TO-LISP::ID-ELSE ; FORTRAN-TO-LISP::ID-ELSE-IF ; FORTRAN-TO-LISP::ID-ELSEIF ; FORTRAN-TO-LISP::ID-ENDIF ; FORTRAN-TO-LISP::ID-ASSIGNMENT ; FORTRAN-TO-LISP::ID-SUBROUTINE-CALL ; FORTRAN-TO-LISP::ID-DO-LOOP ; FORTRAN-TO-LISP::ID-PAUSE ; FORTRAN-TO-LISP::ID-RETURN ; FORTRAN-TO-LISP::ID-PREDICATE ; FORTRAN-TO-LISP::ID-IMPLICIT-DECL ; FORTRAN-TO-LISP::ID-PARAMETER ; FORTRAN-TO-LISP::PARSE-PROG-DEFINITION ; FORTRAN-TO-LISP::PARSE-SUBR-DEFINITION ; FORTRAN-TO-LISP::PARSE-TYPED-FUN-DEFINITION ; FORTRAN-TO-LISP::PARSE-FUN-DEFINITION ; FORTRAN-TO-LISP::PARSE-ENTRY-DEFINITION ; FORTRAN-TO-LISP::PARSE-GOTO ; FORTRAN-TO-LISP::MAKE-LABEL ; FORTRAN-TO-LISP::LISTN ; FORTRAN-TO-LISP::PARSE-COMP-GOTO ; FORTRAN-TO-LISP::PARSE-COMP-GO-TO ; FORTRAN-TO-LISP::PARSE-ASSGN-GO-TO ; FORTRAN-TO-LISP::PARSE-ASSGN-GOTO ; FORTRAN-TO-LISP::PARSE-DECLARATION ; FORTRAN-TO-LISP::PARSE-IMPLICIT-DECL ; FORTRAN-TO-LISP::BUILD_DECL_LIST ; FORTRAN-TO-LISP::PARSE_DIMENSION_SPECS ; FORTRAN-TO-LISP::PARSE_UPPER_AND_LOWER_BOUNDS ; FORTRAN-TO-LISP::PARSE-ASSIGNMENT ; FORTRAN-TO-LISP::PARSE-ARRAYREF-OR-STMTFN ; FORTRAN-TO-LISP::PARSE-EXPRESSION ; FORTRAN-TO-LISP::PARSE-PAUSE ; FORTRAN-TO-LISP::FIND-DUPLICATES ; FORTRAN-TO-LISP::GENERATE-CALL-TO-ROUTINE ;;;*** Warning in FORTRAN-TO-LISP::MAYBE-CONVERT-ARRAY-REF-TO-SLICE: R-INFO is bound but not referenced ; FORTRAN-TO-LISP::MAYBE-CONVERT-ARRAY-REF-TO-SLICE ; FORTRAN-TO-LISP::PARSE-SUBROUTINE-CALL ; FORTRAN-TO-LISP::PARSE-DO-LOOP ; FORTRAN-TO-LISP::PARSE-IF-THEN ; FORTRAN-TO-LISP::PARSE-IF-GOTO ; FORTRAN-TO-LISP::PARSE-IF ; FORTRAN-TO-LISP::PARSE-RETURN ; FORTRAN-TO-LISP::PARSE-PARAMETER ; FORTRAN-TO-LISP::PARSE-SAVE ; FORTRAN-TO-LISP::PARSE-COMMON ; FORTRAN-TO-LISP::UPDATE_CM_ARRAY_DIMS ; FORTRAN-TO-LISP::EXTRACT-ATOMS ; FORTRAN-TO-LISP::PARSE-CHAR-DECL ;;;*** Warning in FORTRAN-TO-LISP::PARSE-DATA: RET is bound but not referenced ; FORTRAN-TO-LISP::PARSE-DATA ; FORTRAN-TO-LISP::PARSE-DATA1 ; FORTRAN-TO-LISP::PARSE-EXTERNAL ; FORTRAN-TO-LISP::TAIL-CHOP ; FORTRAN-TO-LISP::HEAD-CHOP ; FORTRAN-TO-LISP::LIST-SPLIT ; FORTRAN-TO-LISP::GEN-LIST-SPLIT ; FORTRAN-TO-LISP::CONCAT ; FORTRAN-TO-LISP::LIST-SPLIT-MULTI ; FORTRAN-TO-LISP::LIST-SPLIT-BIN ; FORTRAN-TO-LISP::LIST-SPLIT-MULTI-STRING ; FORTRAN-TO-LISP::CONCAT-OPERATORS ; FORTRAN-TO-LISP::CONVERT-DATA-TYPE ; FORTRAN-TO-LISP::REDUCE-DATA-TYPE ; FORTRAN-TO-LISP::BINDING-VALUE ; FORTRAN-TO-LISP::VARIABLEP ; FORTRAN-TO-LISP::VARIABLE-VALUE ; FORTRAN-TO-LISP::UNIFY ; FORTRAN-TO-LISP::MATCH ; FORTRAN-TO-LISP::MAYBE-EXTEND-BINDINGS ; FORTRAN-TO-LISP::LINEREAD ; FORTRAN-TO-LISP::READ-SIX-CHARS ; FORTRAN-TO-LISP::CONST ; FORTRAN-TO-LISP::BRACKETS-CHECK ; FORTRAN-TO-LISP::SUBSEQUENCE ; FORTRAN-TO-LISP::GEN-APPEND ; FORTRAN-TO-LISP::APPEND1 ; FORTRAN-TO-LISP::PLUS ; FORTRAN-TO-LISP::END-CDR ; FORTRAN-TO-LISP::SUB1 ; FORTRAN-TO-LISP::NEQUAL ; FORTRAN-TO-LISP::DIFF ; FORTRAN-TO-LISP::LESSP ; FORTRAN-TO-LISP::GREATERP ; FORTRAN-TO-LISP::F-TO-L ; FORTRAN-TO-LISP::PPRINT-FDO ; FORTRAN-TO-LISP::PPRINT-WITH-ARRAY-DATA ; FORTRAN-TO-LISP::PPRINT-WITH-MULTI-ARRAY-DATA ; (TOP-LEVEL-FORM 5) ; (TOP-LEVEL-FORM 6) ; (TOP-LEVEL-FORM 7) ; (TOP-LEVEL-FORM 8) ;; *** Automatic Minor Clean Down ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl1.fsl ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl2.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; (TOP-LEVEL-FORM 3) ; FORTRAN-TO-LISP::SUBST-SPLICE ; FORTRAN-TO-LISP::EXTRACT ; FORTRAN-TO-LISP::LIST-ITP ; FORTRAN-TO-LISP::TPL-SUBST ; FORTRAN-TO-LISP::TPL-SUBPAIR ; FORTRAN-TO-LISP::SYMBOL-LISTP ; FORTRAN-TO-LISP::CHECK-TAGS-GO ; FORTRAN-TO-LISP::FIND-GOS ; FORTRAN-TO-LISP::ID-EXPRESSION ; FORTRAN-TO-LISP::ID-TERM ; FORTRAN-TO-LISP::ID-FACTOR1 ; FORTRAN-TO-LISP::LOOKUP-ARRAY-BOUNDS ; FORTRAN-TO-LISP::UPDATE-CALLED-FUNCTIONS-LIST ; FORTRAN-TO-LISP::ID-FACTOR ; (TOP-LEVEL-FORM 4) ;; *** Automatic Minor Clean Down ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl2.fsl ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl3.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; FORTRAN-TO-LISP::SUB-STRING ; FORTRAN-TO-LISP::MATCH-SEPARATED ; FORTRAN-TO-LISP::EXACT-MATCH ; FORTRAN-TO-LISP::MATCH-ATOMS ; FORTRAN-TO-LISP::MATCH-ATOMS-LISTS ; FORTRAN-TO-LISP::ATOMCAR ; FORTRAN-TO-LISP::ATOMCDR ; FORTRAN-TO-LISP::MATCH-STORE-ATOMS ; FORTRAN-TO-LISP::MATCH-STORE ; FORTRAN-TO-LISP::RESTRICT-TEST ; FORTRAN-TO-LISP::MATCH-RESTRICT ; (TOP-LEVEL-FORM 3) ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl3.fsl ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl4.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; FORTRAN-TO-LISP::MEMBERQ ; FORTRAN-TO-LISP::ID-LOGICAL ; FORTRAN-TO-LISP::ID-LOGICAL-AND ; FORTRAN-TO-LISP::ID-LOGICAL-NOT ; FORTRAN-TO-LISP::ID-RELATIONAL ; (TOP-LEVEL-FORM 3) ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl4.fsl ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl5.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; (TOP-LEVEL-FORM 3) ; (DEFVAR FORTRAN-TO-LISP::*FORTRAN-KEYWORDS*) ; FORTRAN-TO-LISP::CHECK_NEW_VBLES ; FORTRAN-TO-LISP::PRETTY-DECLS ; FORTRAN-TO-LISP::LOOKUP-VBLE-TYPE ; FORTRAN-TO-LISP::FORTRAN-CONTAGION ;;;*** Warning in FORTRAN-TO-LISP::GET-FUN-ARG-TYPE: RESULT is bound but not referenced ; FORTRAN-TO-LISP::GET-FUN-ARG-TYPE ; FORTRAN-TO-LISP::GET-UPGRADED-FUN-ARG-TYPE ; FORTRAN-TO-LISP::GET-ARG-DECL ; FORTRAN-TO-LISP::MAKE-FCN-DECL ; FORTRAN-TO-LISP::OPTIMIZE-F2CL/ ; FORTRAN-TO-LISP::OPTIMIZE-INTEGER-ARITHMETIC ; FORTRAN-TO-LISP::FIXUP-EXTERNAL-FUNCTION-REFS ; FORTRAN-TO-LISP::FIXUP-EXPR-MUL ; FORTRAN-TO-LISP::FIXUP-EXPRESSION ; FORTRAN-TO-LISP::FIXUP-RELOP ; FORTRAN-TO-LISP::MERGE-OPS ; FORTRAN-TO-LISP::CREATE-SYM-MACROS ; FORTRAN-TO-LISP::COERCE-PARAMETER-ASSIGN ; FORTRAN-TO-LISP::FLATTEN-LIST ;;;*** Warning in FORTRAN-TO-LISP::ENTRY-FUNCTIONS: N-ENTRIES is bound but not referenced ; FORTRAN-TO-LISP::ENTRY-FUNCTIONS ;;;*** Warning in FORTRAN-TO-LISP::INSERT-DECLARATIONS: ADDITIONAL-ARGS is bound but not referenced ; FORTRAN-TO-LISP::INSERT-DECLARATIONS ; FORTRAN-TO-LISP::VBLE-DECLARED-TWICE-P ; FORTRAN-TO-LISP::MAKE-INITIALISATION ; FORTRAN-TO-LISP::REMOVE-*DATA-INIT*-VAR ; FORTRAN-TO-LISP::FORTRAN-DATA-INIT ; FORTRAN-TO-LISP::MAKE_MAKE-ARRAY_STMT ; FORTRAN-TO-LISP::MAKE-LABELS-FORM ; FORTRAN-TO-LISP::F2CL-ARRAY-TOTAL-SIZE ; FORTRAN-TO-LISP::MAKE-DECLARATION ; FORTRAN-TO-LISP::MAKE-CHAR-DECL ; FORTRAN-TO-LISP::MAKE-CHAR-INIT ; FORTRAN-TO-LISP::GET-IMPLICIT-TYPE ;;;*** Warning in FORTRAN-TO-LISP::GET_ARRAY_TYPE: VBLE-IS-FORMAL-ARG is bound but not referenced ; FORTRAN-TO-LISP::GET_ARRAY_TYPE ; FORTRAN-TO-LISP::DEFAULT-INT-P ; FORTRAN-TO-LISP::VBLE-IS-ARRAY-P ; FORTRAN-TO-LISP::SYM-IS-FUN-NAME ; FORTRAN-TO-LISP::SYM-IS-NUMBER-P ; FORTRAN-TO-LISP::MAKE-SPECIAL-PROCLAMATION ; FORTRAN-TO-LISP::MAKE-SPECIAL-VAR-DECL ; (DEFPARAMETER FORTRAN-TO-LISP::+RESERVED-LISP-NAMES+) ; (DEFPARAMETER FORTRAN-TO-LISP::+ALLOWED-LISP-NAMES+) ; FORTRAN-TO-LISP::CHECK-RESERVED-LISP-NAMES ; FORTRAN-TO-LISP::FIX-STRUCTURE ; FORTRAN-TO-LISP::FIX-IFTHEN ; FORTRAN-TO-LISP::END-DO-P ; FORTRAN-TO-LISP::LABEL-MATCHES-DOLABEL-P ; FORTRAN-TO-LISP::FIX-DO ; FORTRAN-TO-LISP::REMOVE-PREFIX ; FORTRAN-TO-LISP::MULTIPLE-DO-LABELP ; FORTRAN-TO-LISP::FIX-TAGBODIES ; (TOP-LEVEL-FORM 4) ; FORTRAN-TO-LISP::PARSE-FORMAT ; FORTRAN-TO-LISP::PARSE-WRITE ; FORTRAN-TO-LISP::PARSE-PRINT ; FORTRAN-TO-LISP::PARSE-READ ; FORTRAN-TO-LISP::GET_FORMAT_STMT ; FORTRAN-TO-LISP::PARSE_FORMAT_DEST ; FORTRAN-TO-LISP::PARSE-OUTPUT-ARGUMENT ; FORTRAN-TO-LISP::PARSE-IMPLIED-DO ; FORTRAN-TO-LISP::PARSE-DLIST ; FORTRAN-TO-LISP::ARRAY-LIST ; FORTRAN-TO-LISP::PARSE-FORMAT1 ; FORTRAN-TO-LISP::DESTRUCT-DESCRIPTOR-LIST ; FORTRAN-TO-LISP::READ-NUMBER-FROM-STREAM ; FORTRAN-TO-LISP::PATTERN-MATCH-AND-BIND ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-LIST ; FORTRAN-TO-LISP::FIXNUM-STRING ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-A ; FORTRAN-TO-LISP::PRINT-I-FORMAT ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-I ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-F ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-E ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-D ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-G ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-/ ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-TR ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-X ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-S ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-H ; FORTRAN-TO-LISP::PARSE-DEFAULT-FORMAT-DESCRIPTOR ; FORTRAN-TO-LISP::FIX-SLASHES ; FORTRAN-TO-LISP::MAKE-COMMON-BLOCK-VARS ; FORTRAN-TO-LISP::MAKE-COMMON-BLOCK-STRUCTURE ; FORTRAN-TO-LISP::MAKE-COMMON-BLOCK-VAR-INIT ; FORTRAN-TO-LISP::MAKE-COMMON-BLOCK-INIT ; (TOP-LEVEL-FORM 5) ;; *** Automatic Minor Clean Down ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl5.fsl ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl6.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; (TOP-LEVEL-FORM 3) ; (DEFVAR FORTRAN-TO-LISP::*INP*) ; (DEFVAR FORTRAN-TO-LISP::*COMMENT-LINE-CHARACTERS*) ; FORTRAN-TO-LISP::FIND-QUOTE ; FORTRAN-TO-LISP::PROCESS-FORMAT-LINE ; FORTRAN-TO-LISP::PREPROCESS ; FORTRAN-TO-LISP::WRITE-COMMENT-LINE ; FORTRAN-TO-LISP::REPLACE_LOGL_OPS ; FORTRAN-TO-LISP::ADJUST_NRS ; FORTRAN-TO-LISP::PARSE-LOGL-OP ; FORTRAN-TO-LISP::REPLACE-STR ; FORTRAN-TO-LISP::PARSE-NUMBER ; (TOP-LEVEL-FORM 4) ;; *** Automatic Minor Clean Down ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl6.fsl ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl7.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; (DEFVAR FORTRAN-TO-LISP::*PRUNE_LABELS*) ; (TOP-LEVEL-FORM 3) ; FORTRAN-TO-LISP::FIND-GO-LABELS ; FORTRAN-TO-LISP::COUNT-GO-END ; FORTRAN-TO-LISP::LABELP ; FORTRAN-TO-LISP::FIND-ALL-LABELS ; FORTRAN-TO-LISP::REMOVE-FROM-TREE ; FORTRAN-TO-LISP::PRUNE-LABELS ; FORTRAN-TO-LISP::COND-REMOVE-END-LABEL ; FORTRAN-TO-LISP::FIND-DECLARATIONS ; (TOP-LEVEL-FORM 4) ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl7.fsl ;;; Compiling file z:\lang\cl\clocc\f2cl\src\macros.l ... ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 ;;; Source level debugging is on ;;; Source file recording is on ;;; Cross referencing is on ; (TOP-LEVEL-FORM 1) ; (TOP-LEVEL-FORM 2) ; (TOP-LEVEL-FORM 3) ; F2CL-LIB::REXPT ; (DEFVAR F2CL-LIB:*CHECK-ARRAY-BOUNDS*) ; (DEFTYPE F2CL-LIB:LOGICAL) ; (DEFTYPE F2CL-LIB:INTEGER4) ; (DEFTYPE F2CL-LIB:INTEGER2) ; (DEFTYPE F2CL-LIB:INTEGER1) ; (DEFTYPE F2CL-LIB:REAL8) ; (DEFTYPE F2CL-LIB:REAL4) ; (DEFTYPE F2CL-LIB:COMPLEX8) ; (DEFTYPE F2CL-LIB:COMPLEX16) ; (DEFTYPE F2CL-LIB:ARRAY-DOUBLE-FLOAT) ; (DEFTYPE F2CL-LIB:ARRAY-INTEGER4) ; (DEFTYPE F2CL-LIB:ARRAY-SINGLE-FLOAT) ; (DEFTYPE F2CL-LIB:ARRAY-STRINGS) ; (DEFCONSTANT F2CL-LIB:%FALSE%) ; (DEFCONSTANT F2CL-LIB:%TRUE%) ; F2CL-LIB::COL-MAJOR-INDEX ; F2CL-LIB::CHECK-ARRAY-BOUNDS ; F2CL-LIB:FREF ; F2CL-LIB:FSET ; F2CL-LIB:FREF-STRING ; F2CL-LIB:FSET-STRING ; F2CL-LIB:F2CL-// ; F2CL-LIB::FIND-ARRAY-DATA ; F2CL-LIB:WITH-ARRAY-DATA ; F2CL-LIB::MULTI-ARRAY-DATA-AUX ; F2CL-LIB:WITH-MULTI-ARRAY-DATA ; F2CL-LIB:ARRAY-SLICE ; F2CL-LIB:ARRAY-INITIALIZE ; F2CL-LIB::WHILE ; F2CL-LIB:FORTRAN_COMMENT ; F2CL-LIB:FDO ; F2CL-LIB:F2CL/ ; F2CL-LIB:INT-ADD ; F2CL-LIB::CONVERT-INT-SUB ; F2CL-LIB:INT-SUB ; F2CL-LIB:INT-MUL ; F2CL-LIB:ARITHMETIC-IF ; F2CL-LIB::COMPUTED-GOTO-AUX ; F2CL-LIB:COMPUTED-GOTO ; F2CL-LIB::ASSIGNED-GOTO-AUX ; F2CL-LIB:ASSIGNED-GOTO ; (TOP-LEVEL-FORM 4) ; F2CL-LIB:INT ; F2CL-LIB:INT ; F2CL-LIB:IFIX ; F2CL-LIB:IFIX ; F2CL-LIB::IDFIX ; F2CL-LIB::IDFIX ; (TOP-LEVEL-FORM 5) ; F2CL-LIB:AINT ; F2CL-LIB:AINT ; F2CL-LIB:DINT ; F2CL-LIB:DINT ; F2CL-LIB:ANINT ; F2CL-LIB:ANINT ; F2CL-LIB:DNINT ; F2CL-LIB:DNINT ; F2CL-LIB:NINT ; F2CL-LIB:NINT ; F2CL-LIB:IDNINT ; F2CL-LIB:IDNINT ; (TOP-LEVEL-FORM 6) ; F2CL-LIB:FREAL ; F2CL-LIB:FREAL ; F2CL-LIB:SNGL ; F2CL-LIB:SNGL ; F2CL-LIB:DBLE ; F2CL-LIB:DBLE ; F2CL-LIB:CMPLX ; F2CL-LIB:CMPLX ; F2CL-LIB:ICHAR ; F2CL-LIB:FCHAR ; (TOP-LEVEL-FORM 7) ; F2CL-LIB:IABS ; F2CL-LIB:IABS ; F2CL-LIB:DABS ; F2CL-LIB:DABS ; F2CL-LIB:CABS ; F2CL-LIB:CABS ; F2CL-LIB:AMOD ; F2CL-LIB:AMOD ; F2CL-LIB:DMOD ; F2CL-LIB:DMOD ; (TOP-LEVEL-FORM 8) ; F2CL-LIB:ISIGN ; F2CL-LIB:ISIGN ; F2CL-LIB:SIGN ; F2CL-LIB:SIGN ; F2CL-LIB:DSIGN ; F2CL-LIB:DSIGN ; (TOP-LEVEL-FORM 9) ; F2CL-LIB:IDIM ; F2CL-LIB:IDIM ; F2CL-LIB:DIM ; F2CL-LIB:DIM ; F2CL-LIB::DDIM ; F2CL-LIB::DDIM ; F2CL-LIB:DPROD ; F2CL-LIB:MAX0 ; F2CL-LIB:AMAX1 ; F2CL-LIB:DMAX1 ; F2CL-LIB:MAX1 ; F2CL-LIB:AMAX0 ; F2CL-LIB:MIN0 ; F2CL-LIB:AMIN1 ; F2CL-LIB:DMIN1 ; F2CL-LIB::AMIN0 ; F2CL-LIB:MIN1 ; F2CL-LIB:LEN ; F2CL-LIB:INDEX ; F2CL-LIB:LGE ; F2CL-LIB:LGT ; F2CL-LIB::LLE ; F2CL-LIB::LLT ; F2CL-LIB:FSTRING-/= ; F2CL-LIB:FSTRING-= ; F2CL-LIB:FSTRING-> ; F2CL-LIB:FSTRING->= ; F2CL-LIB:FSTRING-< ; F2CL-LIB:FSTRING-<= ; (TOP-LEVEL-FORM 10) ; F2CL-LIB:AIMAG ; F2CL-LIB:AIMAG ; F2CL-LIB:CONJG ; F2CL-LIB:CONJG ; (TOP-LEVEL-FORM 11) ; F2CL-LIB:FSQRT ; F2CL-LIB:FSQRT ; F2CL-LIB:FLOG ; F2CL-LIB:FLOG ; (TOP-LEVEL-FORM 12) ; F2CL-LIB:DSQRT ; F2CL-LIB:DSQRT ; F2CL-LIB:CSQRT ; F2CL-LIB:CSQRT ; F2CL-LIB:ALOG ; F2CL-LIB:ALOG ; F2CL-LIB:DLOG ; F2CL-LIB:DLOG ; F2CL-LIB:CLOG ; F2CL-LIB:CLOG ; F2CL-LIB:ALOG10 ; F2CL-LIB:ALOG10 ; F2CL-LIB:DLOG10 ; F2CL-LIB:DLOG10 ; (TOP-LEVEL-FORM 13) ; F2CL-LIB:LOG10 ; F2CL-LIB:LOG10 ; (TOP-LEVEL-FORM 14) ; F2CL-LIB:DEXP ; F2CL-LIB:DEXP ; F2CL-LIB:CEXP ; F2CL-LIB:CEXP ; (TOP-LEVEL-FORM 15) ; F2CL-LIB:DSIN ; F2CL-LIB:DSIN ; F2CL-LIB:CSIN ; F2CL-LIB:CSIN ; F2CL-LIB:DCOS ; F2CL-LIB:DCOS ; F2CL-LIB:CCOS ; F2CL-LIB:CCOS ; F2CL-LIB:DTAN ; F2CL-LIB:DTAN ; F2CL-LIB::CTAN ; F2CL-LIB::CTAN ; F2CL-LIB:DASIN ; F2CL-LIB:DASIN ; F2CL-LIB:DACOS ; F2CL-LIB:DACOS ; F2CL-LIB:DATAN ; F2CL-LIB:DATAN ; F2CL-LIB:ATAN2 ; F2CL-LIB:ATAN2 ; F2CL-LIB:DATAN2 ; F2CL-LIB:DATAN2 ; F2CL-LIB:DSINH ; F2CL-LIB:DSINH ; F2CL-LIB:DCOSH ; F2CL-LIB:DCOSH ; F2CL-LIB:DTANH ; F2CL-LIB:DTANH ; (TOP-LEVEL-FORM 16) ; F2CL-LIB:FFLOAT ; F2CL-LIB:FFLOAT ; F2CL-LIB::PROCESS-IMPLIED-DO ; F2CL-LIB:DATA-IMPLIED-DO ; (DEFPARAMETER F2CL-LIB::*LUN-HASH*) ; F2CL-LIB::LUN->STREAM ; F2CL-LIB::INIT-FORTRAN-IO ; F2CL-LIB::CLOSE-FORTRAN-IO ; (TOP-LEVEL-FORM 17) ; F2CL-LIB:FFORMAT ; F2CL-LIB::EXECUTE-FORMAT ; F2CL-LIB::EXECUTE-FORMAT-MAIN ; F2CL-LIB:F2CL-INIT-STRING ; F2CL-LIB:F2CL-SET-STRING ; F2CL-LIB::F2CL-STRING ; F2CL-LIB:D1MACH ; F2CL-LIB:R1MACH ; F2CL-LIB:I1MACH ; (TOP-LEVEL-FORM 18) ;; *** Automatic Minor Clean Down ; Loading fasl file z:\lang\cl\clocc\f2cl\src\macros.fsl The following functions are undefined: FORTRAN-TO-LISP::UNIQUE-ELEMENTS which is referenced by FORTRAN-TO-LISP::CHECK-TAGS-GO F2CL-LIB::MAKE-LABEL which is referenced by F2CL-LIB::ASSIGNED-GOTO-AUX FORTRAN-TO-LISP::NTHCHAR which is referenced by FORTRAN-TO-LISP::ATOMCAR (#<MODULE: src>) CL-USER 27 > |
From: Marco A. <ma...@cs...> - 2004-07-21 21:39:37
|
Hi I think I fixed all of them, except the NTHCHAR, and the UNIQUE-ELEMENTS one (and I am not sure about the MAKE-LABEL one). Cheers marco On Jul 21, 2004, at 5:19 PM, Marco Antoniotti wrote: > Hi > > I am trying to compile (and use) F2CL under LWW. I get a few warnings > that I'd like to double check. Note that there are a few undefined > functions. Could you have a look at them? > > Thanks > > Marco > > > ================== > > CL-USER 26 > (mk:compile-system "f2cl") > ; Loading text file z:\lang\cl\clocc\f2cl\f2cl.system > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl0.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFPACKAGE "F2CL-LIB") > ; (DEFPACKAGE "FORTRAN-TO-LISP") > ; (TOP-LEVEL-FORM 3) > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl0.fsl > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl1.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFVAR FORTRAN-TO-LISP::*VERBOSE*) > ; (DEFVAR FORTRAN-TO-LISP::*COMMENTS*) > ; (DEFPARAMETER FORTRAN-TO-LISP::*F2CL-VERSION*) > ; (DEFVAR FORTRAN-TO-LISP::*INTRINSIC-FUNCTION-NAMES*) > ; (DEFTYPE FORTRAN-TO-LISP::LOGICAL) > ; (DEFTYPE FORTRAN-TO-LISP::INTEGER4) > ; (DEFTYPE FORTRAN-TO-LISP::INTEGER2) > ; (DEFTYPE FORTRAN-TO-LISP::INTEGER1) > ; (DEFTYPE FORTRAN-TO-LISP::REAL8) > ; (DEFTYPE FORTRAN-TO-LISP::REAL4) > ; (DEFTYPE FORTRAN-TO-LISP::COMPLEX8) > ; (DEFTYPE FORTRAN-TO-LISP::COMPLEX16) > ; (DEFTYPE FORTRAN-TO-LISP::ARRAY-DOUBLE-FLOAT) > ; (DEFTYPE FORTRAN-TO-LISP::ARRAY-INTEGER4) > ; (DEFTYPE FORTRAN-TO-LISP::ARRAY-SINGLE-FLOAT) > ; (DEFTYPE FORTRAN-TO-LISP::ARRAY-STRINGS) > ; (TOP-LEVEL-FORM 3) > ; (TOP-LEVEL-FORM 4) > ; (DEFVAR FORTRAN-TO-LISP::*COMMON-BLOCKS*) > ; (DEFVAR FORTRAN-TO-LISP::*COMMON-BLOCK-INITIALIZED*) > ; (DEFVAR FORTRAN-TO-LISP::*RELAXED-ARRAY-DECLS*) > ; (DEFVAR FORTRAN-TO-LISP::*COERCE-ASSIGNMENTS*) > ; (DEFVAR FORTRAN-TO-LISP::*DEFAULT-LISP-EXTENSION*) > ; (DEFVAR FORTRAN-TO-LISP::*FORTRAN-EXTENSIONS*) > ; (DEFVAR FORTRAN-TO-LISP::*DECLARE-COMMON-BLOCKS*) > ; (DEFVAR FORTRAN-TO-LISP::*ASSIGNED-VARIABLES*) > ; (DEFVAR FORTRAN-TO-LISP::*ENTRY-POINTS*) > ; (DEFVAR FORTRAN-TO-LISP::*F2CL-TRACE*) > ; (DEFVAR FORTRAN-TO-LISP::*FLOAT-FORMAT*) > ; (DEFVAR FORTRAN-TO-LISP::*USE-FUNCTION-INFO*) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-CALLS) (DEFSTRUCT > FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-CALLS) (DEFSTRUCT > FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-CALLS) (DEFSTRUCT > FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-RETURN-VALUES) > (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-RETURN-VALUES) > (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-RETURN-VALUES) > (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-ARG-TYPES) > (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-ARG-TYPES) > (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION (DEFSETF FORTRAN-TO-LISP::F2CL-FINFO-ARG-TYPES) > (DEFSTRUCT FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION FORTRAN-TO-LISP::MAKE-F2CL-FINFO (DEFSTRUCT > FORTRAN-TO-LISP::F2CL-FINFO)) > ; (SUBFUNCTION FORTRAN-TO-LISP::MAKE-F2CL-FINFO (DEFSTRUCT > FORTRAN-TO-LISP::F2CL-FINFO)) > ; (DEFVAR FORTRAN-TO-LISP::*F2CL-FUNCTION-INFO*) > ; (DEFVAR FORTRAN-TO-LISP::*F2CL-STATEMENT-FINFO*) > ; FORTRAN-TO-LISP::CLEAR-F2CL-FINFO > ; FORTRAN-TO-LISP:F2CL > ;;;*** Warning in FORTRAN-TO-LISP:F2CL-COMPILE: ERROR-FILE is bound > but not referenced > ; FORTRAN-TO-LISP:F2CL-COMPILE > ; FORTRAN-TO-LISP::PROCESS-DATA > ; FORTRAN-TO-LISP::CONCATEN > ; FORTRAN-TO-LISP::FORTRAN-TO-LISP > ; FORTRAN-TO-LISP::SINGLE-MACRO-CHARACTER > ; (DEFVAR FORTRAN-TO-LISP::*FORTRAN-READTABLE*) > ; FORTRAN-TO-LISP::WITH-FORTRAN-SYNTAX > ; FORTRAN-TO-LISP::ID-EXTENDED-DO > ; FORTRAN-TO-LISP::REWRITE-EXTENDED-DO > ; FORTRAN-TO-LISP::ID-END-DO > ; FORTRAN-TO-LISP::ID-WRITE-FORMAT > ; FORTRAN-TO-LISP::READSUBPROG-EXTRACT-FORMAT-STMTS > ; FORTRAN-TO-LISP::INTRODUCE-CONTINUE > ; FORTRAN-TO-LISP::FIND-DO > ; FORTRAN-TO-LISP::FIXUP-F2CL-LIB > ; FORTRAN-TO-LISP::MAYBE-NULLIFY-RETURNS > ; FORTRAN-TO-LISP::TRANSLATE-AND-WRITE-SUBPROG > ; FORTRAN-TO-LISP::SPECIAL-PRINT > ; FORTRAN-TO-LISP::PRINC-RESET > ; FORTRAN-TO-LISP::TRANSLATE-LABEL > ; FORTRAN-TO-LISP::TRANSLATE-LINE > ; FORTRAN-TO-LISP::ID-DEFINITION-PROG-NAME > ; FORTRAN-TO-LISP::ID-DEFINITION-PROG > ; FORTRAN-TO-LISP::ID-DEFINITION-SUB > ; FORTRAN-TO-LISP::ID-DEFINITION-FUN-TYPED > ; FORTRAN-TO-LISP::ID-DEFINITION-FUN > ; FORTRAN-TO-LISP::ID-DEFINITION-ENTRY > ; FORTRAN-TO-LISP::ID-CONTINUE > ; FORTRAN-TO-LISP::ID-GOTO > ; FORTRAN-TO-LISP::ID-COMP-GOTO-CORE > ; FORTRAN-TO-LISP::ID-COMP-GOTO > ; FORTRAN-TO-LISP::ID-COMP-GO-TO > ; FORTRAN-TO-LISP::ID-GO-TO > ; FORTRAN-TO-LISP::ID-ASSGN-GO-TO-CORE > ; FORTRAN-TO-LISP::ID-ASSGN-GO-TO > ; FORTRAN-TO-LISP::ID-ASSGN-GOTO > ; FORTRAN-TO-LISP::ID-DECLARATION > ; FORTRAN-TO-LISP::ID-IF-THEN > ; FORTRAN-TO-LISP::ID-IF-GOTO > ; FORTRAN-TO-LISP::ID-IF > ; FORTRAN-TO-LISP::ID-ELSE > ; FORTRAN-TO-LISP::ID-ELSE-IF > ; FORTRAN-TO-LISP::ID-ELSEIF > ; FORTRAN-TO-LISP::ID-ENDIF > ; FORTRAN-TO-LISP::ID-ASSIGNMENT > ; FORTRAN-TO-LISP::ID-SUBROUTINE-CALL > ; FORTRAN-TO-LISP::ID-DO-LOOP > ; FORTRAN-TO-LISP::ID-PAUSE > ; FORTRAN-TO-LISP::ID-RETURN > ; FORTRAN-TO-LISP::ID-PREDICATE > ; FORTRAN-TO-LISP::ID-IMPLICIT-DECL > ; FORTRAN-TO-LISP::ID-PARAMETER > ; FORTRAN-TO-LISP::PARSE-PROG-DEFINITION > ; FORTRAN-TO-LISP::PARSE-SUBR-DEFINITION > ; FORTRAN-TO-LISP::PARSE-TYPED-FUN-DEFINITION > ; FORTRAN-TO-LISP::PARSE-FUN-DEFINITION > ; FORTRAN-TO-LISP::PARSE-ENTRY-DEFINITION > ; FORTRAN-TO-LISP::PARSE-GOTO > ; FORTRAN-TO-LISP::MAKE-LABEL > ; FORTRAN-TO-LISP::LISTN > ; FORTRAN-TO-LISP::PARSE-COMP-GOTO > ; FORTRAN-TO-LISP::PARSE-COMP-GO-TO > ; FORTRAN-TO-LISP::PARSE-ASSGN-GO-TO > ; FORTRAN-TO-LISP::PARSE-ASSGN-GOTO > ; FORTRAN-TO-LISP::PARSE-DECLARATION > ; FORTRAN-TO-LISP::PARSE-IMPLICIT-DECL > ; FORTRAN-TO-LISP::BUILD_DECL_LIST > ; FORTRAN-TO-LISP::PARSE_DIMENSION_SPECS > ; FORTRAN-TO-LISP::PARSE_UPPER_AND_LOWER_BOUNDS > ; FORTRAN-TO-LISP::PARSE-ASSIGNMENT > ; FORTRAN-TO-LISP::PARSE-ARRAYREF-OR-STMTFN > ; FORTRAN-TO-LISP::PARSE-EXPRESSION > ; FORTRAN-TO-LISP::PARSE-PAUSE > ; FORTRAN-TO-LISP::FIND-DUPLICATES > ; FORTRAN-TO-LISP::GENERATE-CALL-TO-ROUTINE > ;;;*** Warning in FORTRAN-TO-LISP::MAYBE-CONVERT-ARRAY-REF-TO-SLICE: > R-INFO is bound but not referenced > ; FORTRAN-TO-LISP::MAYBE-CONVERT-ARRAY-REF-TO-SLICE > ; FORTRAN-TO-LISP::PARSE-SUBROUTINE-CALL > ; FORTRAN-TO-LISP::PARSE-DO-LOOP > ; FORTRAN-TO-LISP::PARSE-IF-THEN > ; FORTRAN-TO-LISP::PARSE-IF-GOTO > ; FORTRAN-TO-LISP::PARSE-IF > ; FORTRAN-TO-LISP::PARSE-RETURN > ; FORTRAN-TO-LISP::PARSE-PARAMETER > ; FORTRAN-TO-LISP::PARSE-SAVE > ; FORTRAN-TO-LISP::PARSE-COMMON > ; FORTRAN-TO-LISP::UPDATE_CM_ARRAY_DIMS > ; FORTRAN-TO-LISP::EXTRACT-ATOMS > ; FORTRAN-TO-LISP::PARSE-CHAR-DECL > ;;;*** Warning in FORTRAN-TO-LISP::PARSE-DATA: RET is bound but not > referenced > ; FORTRAN-TO-LISP::PARSE-DATA > ; FORTRAN-TO-LISP::PARSE-DATA1 > ; FORTRAN-TO-LISP::PARSE-EXTERNAL > ; FORTRAN-TO-LISP::TAIL-CHOP > ; FORTRAN-TO-LISP::HEAD-CHOP > ; FORTRAN-TO-LISP::LIST-SPLIT > ; FORTRAN-TO-LISP::GEN-LIST-SPLIT > ; FORTRAN-TO-LISP::CONCAT > ; FORTRAN-TO-LISP::LIST-SPLIT-MULTI > ; FORTRAN-TO-LISP::LIST-SPLIT-BIN > ; FORTRAN-TO-LISP::LIST-SPLIT-MULTI-STRING > ; FORTRAN-TO-LISP::CONCAT-OPERATORS > ; FORTRAN-TO-LISP::CONVERT-DATA-TYPE > ; FORTRAN-TO-LISP::REDUCE-DATA-TYPE > ; FORTRAN-TO-LISP::BINDING-VALUE > ; FORTRAN-TO-LISP::VARIABLEP > ; FORTRAN-TO-LISP::VARIABLE-VALUE > ; FORTRAN-TO-LISP::UNIFY > ; FORTRAN-TO-LISP::MATCH > ; FORTRAN-TO-LISP::MAYBE-EXTEND-BINDINGS > ; FORTRAN-TO-LISP::LINEREAD > ; FORTRAN-TO-LISP::READ-SIX-CHARS > ; FORTRAN-TO-LISP::CONST > ; FORTRAN-TO-LISP::BRACKETS-CHECK > ; FORTRAN-TO-LISP::SUBSEQUENCE > ; FORTRAN-TO-LISP::GEN-APPEND > ; FORTRAN-TO-LISP::APPEND1 > ; FORTRAN-TO-LISP::PLUS > ; FORTRAN-TO-LISP::END-CDR > ; FORTRAN-TO-LISP::SUB1 > ; FORTRAN-TO-LISP::NEQUAL > ; FORTRAN-TO-LISP::DIFF > ; FORTRAN-TO-LISP::LESSP > ; FORTRAN-TO-LISP::GREATERP > ; FORTRAN-TO-LISP::F-TO-L > ; FORTRAN-TO-LISP::PPRINT-FDO > ; FORTRAN-TO-LISP::PPRINT-WITH-ARRAY-DATA > ; FORTRAN-TO-LISP::PPRINT-WITH-MULTI-ARRAY-DATA > ; (TOP-LEVEL-FORM 5) > ; (TOP-LEVEL-FORM 6) > ; (TOP-LEVEL-FORM 7) > ; (TOP-LEVEL-FORM 8) > > ;; *** Automatic Minor Clean Down > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl1.fsl > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl2.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (TOP-LEVEL-FORM 3) > ; FORTRAN-TO-LISP::SUBST-SPLICE > ; FORTRAN-TO-LISP::EXTRACT > ; FORTRAN-TO-LISP::LIST-ITP > ; FORTRAN-TO-LISP::TPL-SUBST > ; FORTRAN-TO-LISP::TPL-SUBPAIR > ; FORTRAN-TO-LISP::SYMBOL-LISTP > ; FORTRAN-TO-LISP::CHECK-TAGS-GO > ; FORTRAN-TO-LISP::FIND-GOS > ; FORTRAN-TO-LISP::ID-EXPRESSION > ; FORTRAN-TO-LISP::ID-TERM > ; FORTRAN-TO-LISP::ID-FACTOR1 > ; FORTRAN-TO-LISP::LOOKUP-ARRAY-BOUNDS > ; FORTRAN-TO-LISP::UPDATE-CALLED-FUNCTIONS-LIST > ; FORTRAN-TO-LISP::ID-FACTOR > ; (TOP-LEVEL-FORM 4) > > ;; *** Automatic Minor Clean Down > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl2.fsl > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl3.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; FORTRAN-TO-LISP::SUB-STRING > ; FORTRAN-TO-LISP::MATCH-SEPARATED > ; FORTRAN-TO-LISP::EXACT-MATCH > ; FORTRAN-TO-LISP::MATCH-ATOMS > ; FORTRAN-TO-LISP::MATCH-ATOMS-LISTS > ; FORTRAN-TO-LISP::ATOMCAR > ; FORTRAN-TO-LISP::ATOMCDR > ; FORTRAN-TO-LISP::MATCH-STORE-ATOMS > ; FORTRAN-TO-LISP::MATCH-STORE > ; FORTRAN-TO-LISP::RESTRICT-TEST > ; FORTRAN-TO-LISP::MATCH-RESTRICT > ; (TOP-LEVEL-FORM 3) > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl3.fsl > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl4.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; FORTRAN-TO-LISP::MEMBERQ > ; FORTRAN-TO-LISP::ID-LOGICAL > ; FORTRAN-TO-LISP::ID-LOGICAL-AND > ; FORTRAN-TO-LISP::ID-LOGICAL-NOT > ; FORTRAN-TO-LISP::ID-RELATIONAL > ; (TOP-LEVEL-FORM 3) > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl4.fsl > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl5.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (TOP-LEVEL-FORM 3) > ; (DEFVAR FORTRAN-TO-LISP::*FORTRAN-KEYWORDS*) > ; FORTRAN-TO-LISP::CHECK_NEW_VBLES > ; FORTRAN-TO-LISP::PRETTY-DECLS > ; FORTRAN-TO-LISP::LOOKUP-VBLE-TYPE > ; FORTRAN-TO-LISP::FORTRAN-CONTAGION > ;;;*** Warning in FORTRAN-TO-LISP::GET-FUN-ARG-TYPE: RESULT is bound > but not referenced > ; FORTRAN-TO-LISP::GET-FUN-ARG-TYPE > ; FORTRAN-TO-LISP::GET-UPGRADED-FUN-ARG-TYPE > ; FORTRAN-TO-LISP::GET-ARG-DECL > ; FORTRAN-TO-LISP::MAKE-FCN-DECL > ; FORTRAN-TO-LISP::OPTIMIZE-F2CL/ > ; FORTRAN-TO-LISP::OPTIMIZE-INTEGER-ARITHMETIC > ; FORTRAN-TO-LISP::FIXUP-EXTERNAL-FUNCTION-REFS > ; FORTRAN-TO-LISP::FIXUP-EXPR-MUL > ; FORTRAN-TO-LISP::FIXUP-EXPRESSION > ; FORTRAN-TO-LISP::FIXUP-RELOP > ; FORTRAN-TO-LISP::MERGE-OPS > ; FORTRAN-TO-LISP::CREATE-SYM-MACROS > ; FORTRAN-TO-LISP::COERCE-PARAMETER-ASSIGN > ; FORTRAN-TO-LISP::FLATTEN-LIST > ;;;*** Warning in FORTRAN-TO-LISP::ENTRY-FUNCTIONS: N-ENTRIES is bound > but not referenced > ; FORTRAN-TO-LISP::ENTRY-FUNCTIONS > ;;;*** Warning in FORTRAN-TO-LISP::INSERT-DECLARATIONS: > ADDITIONAL-ARGS is bound but not referenced > ; FORTRAN-TO-LISP::INSERT-DECLARATIONS > ; FORTRAN-TO-LISP::VBLE-DECLARED-TWICE-P > ; FORTRAN-TO-LISP::MAKE-INITIALISATION > ; FORTRAN-TO-LISP::REMOVE-*DATA-INIT*-VAR > ; FORTRAN-TO-LISP::FORTRAN-DATA-INIT > ; FORTRAN-TO-LISP::MAKE_MAKE-ARRAY_STMT > ; FORTRAN-TO-LISP::MAKE-LABELS-FORM > ; FORTRAN-TO-LISP::F2CL-ARRAY-TOTAL-SIZE > ; FORTRAN-TO-LISP::MAKE-DECLARATION > ; FORTRAN-TO-LISP::MAKE-CHAR-DECL > ; FORTRAN-TO-LISP::MAKE-CHAR-INIT > ; FORTRAN-TO-LISP::GET-IMPLICIT-TYPE > ;;;*** Warning in FORTRAN-TO-LISP::GET_ARRAY_TYPE: VBLE-IS-FORMAL-ARG > is bound but not referenced > ; FORTRAN-TO-LISP::GET_ARRAY_TYPE > ; FORTRAN-TO-LISP::DEFAULT-INT-P > ; FORTRAN-TO-LISP::VBLE-IS-ARRAY-P > ; FORTRAN-TO-LISP::SYM-IS-FUN-NAME > ; FORTRAN-TO-LISP::SYM-IS-NUMBER-P > ; FORTRAN-TO-LISP::MAKE-SPECIAL-PROCLAMATION > ; FORTRAN-TO-LISP::MAKE-SPECIAL-VAR-DECL > ; (DEFPARAMETER FORTRAN-TO-LISP::+RESERVED-LISP-NAMES+) > ; (DEFPARAMETER FORTRAN-TO-LISP::+ALLOWED-LISP-NAMES+) > ; FORTRAN-TO-LISP::CHECK-RESERVED-LISP-NAMES > ; FORTRAN-TO-LISP::FIX-STRUCTURE > ; FORTRAN-TO-LISP::FIX-IFTHEN > ; FORTRAN-TO-LISP::END-DO-P > ; FORTRAN-TO-LISP::LABEL-MATCHES-DOLABEL-P > ; FORTRAN-TO-LISP::FIX-DO > ; FORTRAN-TO-LISP::REMOVE-PREFIX > ; FORTRAN-TO-LISP::MULTIPLE-DO-LABELP > ; FORTRAN-TO-LISP::FIX-TAGBODIES > ; (TOP-LEVEL-FORM 4) > ; FORTRAN-TO-LISP::PARSE-FORMAT > ; FORTRAN-TO-LISP::PARSE-WRITE > ; FORTRAN-TO-LISP::PARSE-PRINT > ; FORTRAN-TO-LISP::PARSE-READ > ; FORTRAN-TO-LISP::GET_FORMAT_STMT > ; FORTRAN-TO-LISP::PARSE_FORMAT_DEST > ; FORTRAN-TO-LISP::PARSE-OUTPUT-ARGUMENT > ; FORTRAN-TO-LISP::PARSE-IMPLIED-DO > ; FORTRAN-TO-LISP::PARSE-DLIST > ; FORTRAN-TO-LISP::ARRAY-LIST > ; FORTRAN-TO-LISP::PARSE-FORMAT1 > ; FORTRAN-TO-LISP::DESTRUCT-DESCRIPTOR-LIST > ; FORTRAN-TO-LISP::READ-NUMBER-FROM-STREAM > ; FORTRAN-TO-LISP::PATTERN-MATCH-AND-BIND > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-LIST > ; FORTRAN-TO-LISP::FIXNUM-STRING > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-A > ; FORTRAN-TO-LISP::PRINT-I-FORMAT > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-I > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-F > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-E > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-D > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-G > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-/ > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-TR > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-X > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-S > ; FORTRAN-TO-LISP::PARSE-FORMAT-DESCRIPTOR-H > ; FORTRAN-TO-LISP::PARSE-DEFAULT-FORMAT-DESCRIPTOR > ; FORTRAN-TO-LISP::FIX-SLASHES > ; FORTRAN-TO-LISP::MAKE-COMMON-BLOCK-VARS > ; FORTRAN-TO-LISP::MAKE-COMMON-BLOCK-STRUCTURE > ; FORTRAN-TO-LISP::MAKE-COMMON-BLOCK-VAR-INIT > ; FORTRAN-TO-LISP::MAKE-COMMON-BLOCK-INIT > ; (TOP-LEVEL-FORM 5) > > ;; *** Automatic Minor Clean Down > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl5.fsl > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl6.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (TOP-LEVEL-FORM 3) > ; (DEFVAR FORTRAN-TO-LISP::*INP*) > ; (DEFVAR FORTRAN-TO-LISP::*COMMENT-LINE-CHARACTERS*) > ; FORTRAN-TO-LISP::FIND-QUOTE > ; FORTRAN-TO-LISP::PROCESS-FORMAT-LINE > ; FORTRAN-TO-LISP::PREPROCESS > ; FORTRAN-TO-LISP::WRITE-COMMENT-LINE > ; FORTRAN-TO-LISP::REPLACE_LOGL_OPS > ; FORTRAN-TO-LISP::ADJUST_NRS > ; FORTRAN-TO-LISP::PARSE-LOGL-OP > ; FORTRAN-TO-LISP::REPLACE-STR > ; FORTRAN-TO-LISP::PARSE-NUMBER > ; (TOP-LEVEL-FORM 4) > > ;; *** Automatic Minor Clean Down > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl6.fsl > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\f2cl7.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFVAR FORTRAN-TO-LISP::*PRUNE_LABELS*) > ; (TOP-LEVEL-FORM 3) > ; FORTRAN-TO-LISP::FIND-GO-LABELS > ; FORTRAN-TO-LISP::COUNT-GO-END > ; FORTRAN-TO-LISP::LABELP > ; FORTRAN-TO-LISP::FIND-ALL-LABELS > ; FORTRAN-TO-LISP::REMOVE-FROM-TREE > ; FORTRAN-TO-LISP::PRUNE-LABELS > ; FORTRAN-TO-LISP::COND-REMOVE-END-LABEL > ; FORTRAN-TO-LISP::FIND-DECLARATIONS > ; (TOP-LEVEL-FORM 4) > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\f2cl7.fsl > ;;; Compiling file z:\lang\cl\clocc\f2cl\src\macros.l ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3, GC safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (TOP-LEVEL-FORM 3) > ; F2CL-LIB::REXPT > ; (DEFVAR F2CL-LIB:*CHECK-ARRAY-BOUNDS*) > ; (DEFTYPE F2CL-LIB:LOGICAL) > ; (DEFTYPE F2CL-LIB:INTEGER4) > ; (DEFTYPE F2CL-LIB:INTEGER2) > ; (DEFTYPE F2CL-LIB:INTEGER1) > ; (DEFTYPE F2CL-LIB:REAL8) > ; (DEFTYPE F2CL-LIB:REAL4) > ; (DEFTYPE F2CL-LIB:COMPLEX8) > ; (DEFTYPE F2CL-LIB:COMPLEX16) > ; (DEFTYPE F2CL-LIB:ARRAY-DOUBLE-FLOAT) > ; (DEFTYPE F2CL-LIB:ARRAY-INTEGER4) > ; (DEFTYPE F2CL-LIB:ARRAY-SINGLE-FLOAT) > ; (DEFTYPE F2CL-LIB:ARRAY-STRINGS) > ; (DEFCONSTANT F2CL-LIB:%FALSE%) > ; (DEFCONSTANT F2CL-LIB:%TRUE%) > ; F2CL-LIB::COL-MAJOR-INDEX > ; F2CL-LIB::CHECK-ARRAY-BOUNDS > ; F2CL-LIB:FREF > ; F2CL-LIB:FSET > ; F2CL-LIB:FREF-STRING > ; F2CL-LIB:FSET-STRING > ; F2CL-LIB:F2CL-// > ; F2CL-LIB::FIND-ARRAY-DATA > ; F2CL-LIB:WITH-ARRAY-DATA > ; F2CL-LIB::MULTI-ARRAY-DATA-AUX > ; F2CL-LIB:WITH-MULTI-ARRAY-DATA > ; F2CL-LIB:ARRAY-SLICE > ; F2CL-LIB:ARRAY-INITIALIZE > ; F2CL-LIB::WHILE > ; F2CL-LIB:FORTRAN_COMMENT > ; F2CL-LIB:FDO > ; F2CL-LIB:F2CL/ > ; F2CL-LIB:INT-ADD > ; F2CL-LIB::CONVERT-INT-SUB > ; F2CL-LIB:INT-SUB > ; F2CL-LIB:INT-MUL > ; F2CL-LIB:ARITHMETIC-IF > ; F2CL-LIB::COMPUTED-GOTO-AUX > ; F2CL-LIB:COMPUTED-GOTO > ; F2CL-LIB::ASSIGNED-GOTO-AUX > ; F2CL-LIB:ASSIGNED-GOTO > ; (TOP-LEVEL-FORM 4) > ; F2CL-LIB:INT > ; F2CL-LIB:INT > ; F2CL-LIB:IFIX > ; F2CL-LIB:IFIX > ; F2CL-LIB::IDFIX > ; F2CL-LIB::IDFIX > ; (TOP-LEVEL-FORM 5) > ; F2CL-LIB:AINT > ; F2CL-LIB:AINT > ; F2CL-LIB:DINT > ; F2CL-LIB:DINT > ; F2CL-LIB:ANINT > ; F2CL-LIB:ANINT > ; F2CL-LIB:DNINT > ; F2CL-LIB:DNINT > ; F2CL-LIB:NINT > ; F2CL-LIB:NINT > ; F2CL-LIB:IDNINT > ; F2CL-LIB:IDNINT > ; (TOP-LEVEL-FORM 6) > ; F2CL-LIB:FREAL > ; F2CL-LIB:FREAL > ; F2CL-LIB:SNGL > ; F2CL-LIB:SNGL > ; F2CL-LIB:DBLE > ; F2CL-LIB:DBLE > ; F2CL-LIB:CMPLX > ; F2CL-LIB:CMPLX > ; F2CL-LIB:ICHAR > ; F2CL-LIB:FCHAR > ; (TOP-LEVEL-FORM 7) > ; F2CL-LIB:IABS > ; F2CL-LIB:IABS > ; F2CL-LIB:DABS > ; F2CL-LIB:DABS > ; F2CL-LIB:CABS > ; F2CL-LIB:CABS > ; F2CL-LIB:AMOD > ; F2CL-LIB:AMOD > ; F2CL-LIB:DMOD > ; F2CL-LIB:DMOD > ; (TOP-LEVEL-FORM 8) > ; F2CL-LIB:ISIGN > ; F2CL-LIB:ISIGN > ; F2CL-LIB:SIGN > ; F2CL-LIB:SIGN > ; F2CL-LIB:DSIGN > ; F2CL-LIB:DSIGN > ; (TOP-LEVEL-FORM 9) > ; F2CL-LIB:IDIM > ; F2CL-LIB:IDIM > ; F2CL-LIB:DIM > ; F2CL-LIB:DIM > ; F2CL-LIB::DDIM > ; F2CL-LIB::DDIM > ; F2CL-LIB:DPROD > ; F2CL-LIB:MAX0 > ; F2CL-LIB:AMAX1 > ; F2CL-LIB:DMAX1 > ; F2CL-LIB:MAX1 > ; F2CL-LIB:AMAX0 > ; F2CL-LIB:MIN0 > ; F2CL-LIB:AMIN1 > ; F2CL-LIB:DMIN1 > ; F2CL-LIB::AMIN0 > ; F2CL-LIB:MIN1 > ; F2CL-LIB:LEN > ; F2CL-LIB:INDEX > ; F2CL-LIB:LGE > ; F2CL-LIB:LGT > ; F2CL-LIB::LLE > ; F2CL-LIB::LLT > ; F2CL-LIB:FSTRING-/= > ; F2CL-LIB:FSTRING-= > ; F2CL-LIB:FSTRING-> > ; F2CL-LIB:FSTRING->= > ; F2CL-LIB:FSTRING-< > ; F2CL-LIB:FSTRING-<= > ; (TOP-LEVEL-FORM 10) > ; F2CL-LIB:AIMAG > ; F2CL-LIB:AIMAG > ; F2CL-LIB:CONJG > ; F2CL-LIB:CONJG > ; (TOP-LEVEL-FORM 11) > ; F2CL-LIB:FSQRT > ; F2CL-LIB:FSQRT > ; F2CL-LIB:FLOG > ; F2CL-LIB:FLOG > ; (TOP-LEVEL-FORM 12) > ; F2CL-LIB:DSQRT > ; F2CL-LIB:DSQRT > ; F2CL-LIB:CSQRT > ; F2CL-LIB:CSQRT > ; F2CL-LIB:ALOG > ; F2CL-LIB:ALOG > ; F2CL-LIB:DLOG > ; F2CL-LIB:DLOG > ; F2CL-LIB:CLOG > ; F2CL-LIB:CLOG > ; F2CL-LIB:ALOG10 > ; F2CL-LIB:ALOG10 > ; F2CL-LIB:DLOG10 > ; F2CL-LIB:DLOG10 > ; (TOP-LEVEL-FORM 13) > ; F2CL-LIB:LOG10 > ; F2CL-LIB:LOG10 > ; (TOP-LEVEL-FORM 14) > ; F2CL-LIB:DEXP > ; F2CL-LIB:DEXP > ; F2CL-LIB:CEXP > ; F2CL-LIB:CEXP > ; (TOP-LEVEL-FORM 15) > ; F2CL-LIB:DSIN > ; F2CL-LIB:DSIN > ; F2CL-LIB:CSIN > ; F2CL-LIB:CSIN > ; F2CL-LIB:DCOS > ; F2CL-LIB:DCOS > ; F2CL-LIB:CCOS > ; F2CL-LIB:CCOS > ; F2CL-LIB:DTAN > ; F2CL-LIB:DTAN > ; F2CL-LIB::CTAN > ; F2CL-LIB::CTAN > ; F2CL-LIB:DASIN > ; F2CL-LIB:DASIN > ; F2CL-LIB:DACOS > ; F2CL-LIB:DACOS > ; F2CL-LIB:DATAN > ; F2CL-LIB:DATAN > ; F2CL-LIB:ATAN2 > ; F2CL-LIB:ATAN2 > ; F2CL-LIB:DATAN2 > ; F2CL-LIB:DATAN2 > ; F2CL-LIB:DSINH > ; F2CL-LIB:DSINH > ; F2CL-LIB:DCOSH > ; F2CL-LIB:DCOSH > ; F2CL-LIB:DTANH > ; F2CL-LIB:DTANH > ; (TOP-LEVEL-FORM 16) > ; F2CL-LIB:FFLOAT > ; F2CL-LIB:FFLOAT > ; F2CL-LIB::PROCESS-IMPLIED-DO > ; F2CL-LIB:DATA-IMPLIED-DO > ; (DEFPARAMETER F2CL-LIB::*LUN-HASH*) > ; F2CL-LIB::LUN->STREAM > ; F2CL-LIB::INIT-FORTRAN-IO > ; F2CL-LIB::CLOSE-FORTRAN-IO > ; (TOP-LEVEL-FORM 17) > ; F2CL-LIB:FFORMAT > ; F2CL-LIB::EXECUTE-FORMAT > ; F2CL-LIB::EXECUTE-FORMAT-MAIN > ; F2CL-LIB:F2CL-INIT-STRING > ; F2CL-LIB:F2CL-SET-STRING > ; F2CL-LIB::F2CL-STRING > ; F2CL-LIB:D1MACH > ; F2CL-LIB:R1MACH > ; F2CL-LIB:I1MACH > ; (TOP-LEVEL-FORM 18) > > ;; *** Automatic Minor Clean Down > ; Loading fasl file z:\lang\cl\clocc\f2cl\src\macros.fsl > > The following functions are undefined: > FORTRAN-TO-LISP::UNIQUE-ELEMENTS which is referenced by > FORTRAN-TO-LISP::CHECK-TAGS-GO > F2CL-LIB::MAKE-LABEL which is referenced by F2CL-LIB::ASSIGNED-GOTO-AUX > FORTRAN-TO-LISP::NTHCHAR which is referenced by > FORTRAN-TO-LISP::ATOMCAR > (#<MODULE: src>) > > CL-USER 27 > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 today. > http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click > _______________________________________________ > clocc-list mailing list > clo...@li... > https://lists.sourceforge.net/lists/listinfo/clocc-list > -- Marco Antoniotti http://bioinformatics.nyu.edu NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 715 Broadway 10th FL fax. +1 - 212 - 998 3484 New York, NY, 10003, U.S.A. |
From: Raymond T. <rt...@ea...> - 2004-07-23 00:11:09
|
Marco Antoniotti wrote: > Hi > > I think I fixed all of them, except the NTHCHAR, and the UNIQUE-ELEMENTS > one (and I am not sure about the MAKE-LABEL one). > Those warning have been in there for as long as I can remember. I think they're harmless, except for the make-label, which I think is needed in the computed-go/goto macro. I thought I had fixed that. I'll take a look. It's nice to see, though, that it at least compiles on LWW, which I've never tried. Let me know how the ODE routine gets converted. I might want to add it as yet another package for f2cl, especially if the conversion produces an error. Ray |
From: Marco A. <ma...@cs...> - 2004-08-10 21:11:31
|
More on F2CL I am trying to convert the odepack-lsode library from netlib. The library comes in two flavors: single and double precision. The double precision library consists of three files. opkda1.f opkda2.f opkdmain.f The first two get converted with a few warnings, but the thirds generates a coercion error. Here is a report. Cheers Marco CL-USER 8 > (f2cl:f2cl "opkdmain.f" :verbose t) ;; "opkdmain.f" -> #P"opkdmain.lisp" preprocessing begins ... SUBROUTINE DLSODE (F, NEQ, Y, T, TOUT, ITOL, RTOL, ATOL, ITASK, 1 ISTATE, IOPT, RWORK, LRW, IWORK, LIW, JAC, MF) EXTERNAL F, JAC INTEGER NEQ, ITOL, ITASK, ISTATE, IOPT, LRW, IWORK, LIW, MF DOUBLE PRECISION Y, T, TOUT, RTOL, ATOL, RWORK DIMENSION NEQ(*), Y(*), RTOL(*), ATOL(*), RWORK(LRW), IWORK(LIW) EXTERNAL DPREPJ, DSOLSY DOUBLE PRECISION DUMACH, DVNORM INTEGER INIT, MXSTEP, MXHNIL, NHNIL, NSLAST, NYH, IOWNS, .... (call dintdy (tout \, 0 \, rwork (lyh) \, nyh \, y \, iflag)) Warning: Generating call to unknown function (DINTDY). Check generated call!(if (iflag >< 0) go to 627) (go to 627) (t = tout) (go to 420) (tcrit = rwork (1)) (if ((tn - tcrit) * h > 0.0) go to 624) (go to 624) (hmx = abs (tn) + abs (h)) (ihit = abs (tn - tcrit) <= 100.0 * uround * hmx) Error: Cannot coerce 0 to type LOGICAL. 1 (abort) Return to level 0. 2 Return to top loop level 0. Type :b for backtrace, :c <option number> to proceed, or :? for other options F2CL 9 : 1 > |
From: Raymond T. <ray...@er...> - 2004-08-11 15:44:11
|
Marco Antoniotti wrote: > More on F2CL > > I am trying to convert the odepack-lsode library from netlib. > > The library comes in two flavors: single and double precision. > > The double precision library consists of three files. > > opkda1.f > opkda2.f > opkdmain.f > > The first two get converted with a few warnings, but the thirds > generates a coercion error. > > Here is a report. > > Cheers > Marco > > > CL-USER 8 > (f2cl:f2cl "opkdmain.f" :verbose t) > ;; "opkdmain.f" -> #P"opkdmain.lisp" > preprocessing begins ... > SUBROUTINE DLSODE (F, NEQ, Y, T, TOUT, ITOL, RTOL, ATOL, ITASK, > 1 ISTATE, IOPT, RWORK, LRW, IWORK, LIW, JAC, MF) > EXTERNAL F, JAC > INTEGER NEQ, ITOL, ITASK, ISTATE, IOPT, LRW, IWORK, LIW, MF > DOUBLE PRECISION Y, T, TOUT, RTOL, ATOL, RWORK > DIMENSION NEQ(*), Y(*), RTOL(*), ATOL(*), RWORK(LRW), IWORK(LIW) > EXTERNAL DPREPJ, DSOLSY > DOUBLE PRECISION DUMACH, DVNORM > INTEGER INIT, MXSTEP, MXHNIL, NHNIL, NSLAST, NYH, IOWNS, > > .... > > (call dintdy (tout \, 0 \, rwork (lyh) \, nyh \, y \, iflag)) > Warning: Generating call to unknown function (DINTDY). Check generated > call!(if (iflag >< 0) go to 627) > (go to 627) > (t = tout) > (go to 420) > (tcrit = rwork (1)) > (if ((tn - tcrit) * h > 0.0) go to 624) > (go to 624) > (hmx = abs (tn) + abs (h)) > (ihit = abs (tn - tcrit) <= 100.0 * uround * hmx) That last line is the problem. It's a known bug in f2cl that I've never been able to fix. It parses the Fortran expression x .le.y*z as (x .le. y)*z which is obviously wrong. Fortunately, there's a workaround. Change it to x .le. (y*z). I'll look again at fixing this, but I'm not hopeful. I don't understand that part of f2cl very well. Ray |
From: Marco A. <ma...@cs...> - 2004-08-11 16:10:45
|
Thanks. Is there a place where I should have RTFMed a little more? :) Cheers marco On Aug 11, 2004, at 11:43 AM, Raymond Toy wrote: > Marco Antoniotti wrote: >> More on F2CL >> I am trying to convert the odepack-lsode library from netlib. >> The library comes in two flavors: single and double precision. >> The double precision library consists of three files. >> opkda1.f >> opkda2.f >> opkdmain.f >> The first two get converted with a few warnings, but the thirds >> generates a coercion error. >> Here is a report. >> Cheers >> Marco >> CL-USER 8 > (f2cl:f2cl "opkdmain.f" :verbose t) >> ;; "opkdmain.f" -> #P"opkdmain.lisp" >> preprocessing begins ... >> SUBROUTINE DLSODE (F, NEQ, Y, T, TOUT, ITOL, RTOL, ATOL, ITASK, >> 1 ISTATE, IOPT, RWORK, LRW, IWORK, LIW, JAC, MF) >> EXTERNAL F, JAC >> INTEGER NEQ, ITOL, ITASK, ISTATE, IOPT, LRW, IWORK, LIW, MF >> DOUBLE PRECISION Y, T, TOUT, RTOL, ATOL, RWORK >> DIMENSION NEQ(*), Y(*), RTOL(*), ATOL(*), RWORK(LRW), IWORK(LIW) >> EXTERNAL DPREPJ, DSOLSY >> DOUBLE PRECISION DUMACH, DVNORM >> INTEGER INIT, MXSTEP, MXHNIL, NHNIL, NSLAST, NYH, IOWNS, >> .... >> (call dintdy (tout \, 0 \, rwork (lyh) \, nyh \, y \, iflag)) >> Warning: Generating call to unknown function (DINTDY). Check >> generated call!(if (iflag >< 0) go to 627) >> (go to 627) >> (t = tout) >> (go to 420) >> (tcrit = rwork (1)) >> (if ((tn - tcrit) * h > 0.0) go to 624) >> (go to 624) >> (hmx = abs (tn) + abs (h)) >> (ihit = abs (tn - tcrit) <= 100.0 * uround * hmx) > > That last line is the problem. It's a known bug in f2cl that I've > never been able to fix. It parses the Fortran expression > > x .le.y*z > > as > > (x .le. y)*z > > which is obviously wrong. > > Fortunately, there's a workaround. Change it to x .le. (y*z). > > I'll look again at fixing this, but I'm not hopeful. I don't > understand that part of f2cl very well. > > Ray > -- Marco Antoniotti http://bioinformatics.nyu.edu NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 715 Broadway 10th FL fax. +1 - 212 - 998 3484 New York, NY, 10003, U.S.A. |
From: Raymond T. <ray...@er...> - 2004-08-11 16:28:33
|
>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: Marco> Thanks. Is there a place where I should have RTFMed a little more? :) There's the NOTES file, but you'd have to read it all to find it at the bottom. It's not very well organized. Ray |
From: Raymond T. <ray...@er...> - 2004-08-11 16:50:02
|
>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: Marco> Thanks. Is there a place where I should have RTFMed a little more? :) I've just checked in a fix for the x .le. y*z bug. Can you try compiling the ode package again? opkdmain.f compiles for me now, and it looks like it did the right thing. Ray |
From: Marco A. <ma...@cs...> - 2004-08-11 18:18:35
|
I'll do an update, but I had already made the work around. I am getting a lot of warnings with LWW. I'll keep you posted. One immediate thing you can tell me is how to handle the common blocks. I issue the following commands (f2cl "opkda1.f") (load "opkda1.lisp") ;;; lots of warnings about *DSL001-COMMON-BLOCK* declared special. (f2cl "opkda1.f") (load "opkda1.lisp") ;;; lots of warnings about *DSL001-COMMON-BLOCK* declared special. (f2cl "opkmain1.f") (load "opkmail.lisp") When exactly should I add the :declare-common t ? Thanks marco On Aug 11, 2004, at 12:49 PM, Raymond Toy wrote: >>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: > > Marco> Thanks. Is there a place where I should have RTFMed a > little more? :) > > I've just checked in a fix for the x .le. y*z bug. Can you try > compiling the ode package again? opkdmain.f compiles for me now, and > it looks like it did the right thing. > > Ray > -- Marco Antoniotti http://bioinformatics.nyu.edu NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 715 Broadway 10th FL fax. +1 - 212 - 998 3484 New York, NY, 10003, U.S.A. |
From: Raymond T. <ray...@er...> - 2004-08-11 18:45:11
|
>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: Marco> I'll do an update, but I had already made the work around. Marco> I am getting a lot of warnings with LWW. I'll keep you posted. Marco> One immediate thing you can tell me is how to handle the common Marco> blocks. I issue the following commands [snip] Marco> When exactly should I add the :declare-common t This depends on the fortran file, but if opkda1.f has definitions of all the common blocks that are used, then you can :declare-common t here. What it does is define the structure for the elements in the common block and also defines *dsl001-common-block*. The remaining files won't need it, if you load the first file before the others so the common block is defined. Ray |
From: Marco A. <ma...@cs...> - 2004-08-11 19:01:49
|
On Aug 11, 2004, at 2:44 PM, Raymond Toy wrote: >>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: > > Marco> I'll do an update, but I had already made the work around. > > Marco> I am getting a lot of warnings with LWW. I'll keep you > posted. > > Marco> One immediate thing you can tell me is how to handle the > common > Marco> blocks. I issue the following commands > > [snip] > > Marco> When exactly should I add the :declare-common t > > This depends on the fortran file, but if opkda1.f has definitions of > all the common blocks that are used, then you can :declare-common t > here. What it does is define the structure for the elements in the > common block and also defines *dsl001-common-block*. The remaining > files won't need it, if you load the first file before the others so > the common block is defined. I have a problem. Trying to set :declare-common t in all the files, I see that the definition of the common blocks (the DEFSTRUCTS) are different. Not all fields are generated all the time. If I try to selectively :declare-common t, then I get errors stating that this or that function is undefined. Any suggestion? Note that the instruction in the opkdmain.f file itself state that COMMON blocks should be treated specially, but mu Fortran is too weak to understand that comment. Cheers Marco -- Marco Antoniotti http://bioinformatics.nyu.edu NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 715 Broadway 10th FL fax. +1 - 212 - 998 3484 New York, NY, 10003, U.S.A. |
From: Raymond T. <ray...@er...> - 2004-08-11 20:28:18
|
>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: Marco> I have a problem. Marco> Trying to set :declare-common t in all the files, I see that the Marco> definition of the common blocks (the DEFSTRUCTS) are different. Marco> Not all fields are generated all the time. Marco> If I try to selectively :declare-common t, then I get errors stating Marco> that this or that function is undefined. Marco> Any suggestion? Marco> Note that the instruction in the opkdmain.f file itself state that Marco> COMMON blocks should be treated specially, but mu Fortran is too weak Marco> to understand that comment. Yuck. You are now going to have to examine all declarations of common blocks and make sure they're all consistently named and find (or create) the one definition that includes all variables. Then you can :declare-common that particular definition and it should work for the rest. This is really a deficiency in f2cl that I've never bothered to fix because in most well-written Fortran code, common blocks are all declared consistently with the same variable names and length, although, I'm not sure that's a requirement. I also see in opkdmain.f, there are two declarations for the dlss01 common block. I don't know if that means to concatenate them or not, but f2cl definitely doesn't handle that. I'll have to read up on Fortran to see what that means. Sounds like you have a lot of fun ahead of you. :-( And all bets are off if the code does type-punning on the common blocks. Give up now, if so. Ray |
From: Marco A. <ma...@cs...> - 2004-08-11 21:38:38
|
On Aug 11, 2004, at 4:27 PM, Raymond Toy wrote: >>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: > > Marco> I have a problem. > > Marco> Trying to set :declare-common t in all the files, I see > that the > Marco> definition of the common blocks (the DEFSTRUCTS) are > different. > Marco> Not all fields are generated all the time. > > Marco> If I try to selectively :declare-common t, then I get > errors stating > Marco> that this or that function is undefined. > > Marco> Any suggestion? > > Marco> Note that the instruction in the opkdmain.f file itself > state that > Marco> COMMON blocks should be treated specially, but mu Fortran > is too weak > Marco> to understand that comment. > > Yuck. You are now going to have to examine all declarations of common > blocks and make sure they're all consistently named and find (or > create) the one definition that includes all variables. Then you can > :declare-common that particular definition and it should work for the > rest. I was afraid you answered like that. > > This is really a deficiency in f2cl that I've never bothered to fix > because in most well-written Fortran code, common blocks are all > declared consistently with the same variable names and length, > although, I'm not sure that's a requirement. I don't know either. > > I also see in opkdmain.f, there are two declarations for the dlss01 > common block. I don't know if that means to concatenate them or not, > but f2cl definitely doesn't handle that. How are the common blocks defstruct's generated? > I'll have to read up on > Fortran to see what that means. > > Sounds like you have a lot of fun ahead of you. :-( Don't mention it. > > And all bets are off if the code does type-punning on the common > blocks. Give up now, if so. I am ready to, but the alternatives are not all that fun either. 1 - rewrite a CL implementation of the integrator 2 - use f2c to generate C that I can call from the FFI 3 - Use Python (or C, or Perl, or Java) Can we give it another round before 1, 2, or 3? :) Cheers Marco -- Marco Antoniotti http://bioinformatics.nyu.edu NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 715 Broadway 10th FL fax. +1 - 212 - 998 3484 New York, NY, 10003, U.S.A. |
From: Raymond T. <rt...@ea...> - 2004-08-12 00:39:49
|
Marco Antoniotti wrote: > > On Aug 11, 2004, at 4:27 PM, Raymond Toy wrote: >> >> I also see in opkdmain.f, there are two declarations for the dlss01 >> common block. I don't know if that means to concatenate them or not, >> but f2cl definitely doesn't handle that. > > > How are the common blocks defstruct's generated? Basically it looks at the elements in the common block and creates a structure with slots created from each name in the block. So a common block real a(10) integer b, c common /foo/ a, b, c becomes a defstruct like (defstruct foo-common (a (make-array 10 :element-type 'single-float) :type (simple-array single-float (10)) (b 0 :type '(signed-byte 32)) (c 0 :type '(signed-byte 32))) But some old fortran code would have the block foo above in one function, but in another declare the block as integer a(10) real b, c common /foo/ a, b, c or even integer a, b(9) integer c, d common /foo/ a, b, c, d and expect everything to work. f2cl definitely cannot handle this. I have thought about how to make this work, and think I can make it work, but it would no longer be portable Lisp, so I've decided against it. > I am ready to, but the alternatives are not all that fun either. > 1 - rewrite a CL implementation of the integrator > 2 - use f2c to generate C that I can call from the FFI > 3 - Use Python (or C, or Perl, or Java) > > Can we give it another round before 1, 2, or 3? :) 4 - Use a Fortran compiler and write the FFI for that. Most Fortran compilers have a calling convention that is C compatible. I can help you with that. Of course, you'd have to provide your own callback routines. 5 - Find another ODE package that might be easier on f2cl. Ray |
From: Raymond T. <ray...@er...> - 2004-08-12 14:15:27
|
>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: Marco> Note that the instruction in the opkdmain.f file itself state that Marco> COMMON blocks should be treated specially, but mu Fortran is too weak Marco> to understand that comment. I looked around a little and I think this is the "true" definition of the common block dls001 COMMON /DLS001/ CONIT, CRATE, EL(13), ELCO(13,12), 1 HOLD, RMAX, TESCO(3,12), 2 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND, 3 IOWND(6), IALTH, IPUP, LMAX, MEO, NQNYH, NSLP, 3 ICF, IERPJ, IERSL, JCUR, JSTART, KFLAG, L, 4 LYH, LEWT, LACOR, LSAVF, LWM, LIWM, METH, MITER, 5 MAXORD, MAXCOR, MSBP, MXNCF, N, NQ, NST, NFE, NJE, NQU There are some places where it's defined COMMON /DLS001/ ROWNS(209), 1 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND, 2 IOWND(6), IOWNS(6), 3 ICF, IERPJ, IERSL, JCUR, JSTART, KFLAG, L, 4 LYH, LEWT, LACOR, LSAVF, LWM, LIWM, METH, MITER, 5 MAXORD, MAXCOR, MSBP, MXNCF, N, NQ, NST, NFE, NJE, NQU and I think if you replace rowns(209) here with CONIT, CRATE, EL(13), ELCO(13,12), HOLD, RMAX, TESCO(3,12) you would get something that works. There are also a few places where the block is given as COMMON /DLS001/ RLS(218), ILS(37) You will have to replace that with the "true" one above, and modify the code to do the right thing. This looks reasonably straightforward to do, but rather tedious. Sorry that f2cl can't help with that. Ray |
From: Marco A. <ma...@cs...> - 2004-08-12 14:24:10
|
On Aug 12, 2004, at 10:15 AM, Raymond Toy wrote: >>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: > > Marco> Note that the instruction in the opkdmain.f file itself > state that > Marco> COMMON blocks should be treated specially, but mu Fortran > is too weak > Marco> to understand that comment. > > I looked around a little and I think this is the "true" definition of > the common block dls001 > > COMMON /DLS001/ CONIT, CRATE, EL(13), ELCO(13,12), > 1 HOLD, RMAX, TESCO(3,12), > 2 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND, > 3 IOWND(6), IALTH, IPUP, LMAX, MEO, NQNYH, NSLP, > 3 ICF, IERPJ, IERSL, JCUR, JSTART, KFLAG, L, > 4 LYH, LEWT, LACOR, LSAVF, LWM, LIWM, METH, MITER, > 5 MAXORD, MAXCOR, MSBP, MXNCF, N, NQ, NST, NFE, NJE, NQU > > There are some places where it's defined > > COMMON /DLS001/ ROWNS(209), > 1 CCMAX, EL0, H, HMIN, HMXI, HU, RC, TN, UROUND, > 2 IOWND(6), IOWNS(6), > 3 ICF, IERPJ, IERSL, JCUR, JSTART, KFLAG, L, > 4 LYH, LEWT, LACOR, LSAVF, LWM, LIWM, METH, MITER, > 5 MAXORD, MAXCOR, MSBP, MXNCF, N, NQ, NST, NFE, NJE, NQU > > and I think if you replace rowns(209) here with > > CONIT, CRATE, EL(13), ELCO(13,12), HOLD, RMAX, TESCO(3,12) > > you would get something that works. > > There are also a few places where the block is given as > > COMMON /DLS001/ RLS(218), ILS(37) > > You will have to replace that with the "true" one above, and modify > the code to do the right thing. > > This looks reasonably straightforward to do, but rather tedious. Let me understand. Basically you say that I need to use the "true" defstruct and modify the lisp code in such a way that e.g. (setf (aref (dsl001-iowns *dsl001-common*) 0) <foo>) ==> (setf (dsl001-ialth *dsl001-common*) <foo>) ? (sorry if the above is not all that correct; you get the idea) It is tedious, but it can be done. Thanks Marco -- Marco Antoniotti http://bioinformatics.nyu.edu NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 715 Broadway 10th FL fax. +1 - 212 - 998 3484 New York, NY, 10003, U.S.A. |
From: Raymond T. <ray...@er...> - 2004-08-12 16:35:12
|
>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: Marco> Let me understand. Basically you say that I need to use the "true" Marco> defstruct and modify the lisp code in such a way that e.g. Marco> (setf (aref (dsl001-iowns *dsl001-common*) 0) <foo>) Marco> ==> Marco> (setf (dsl001-ialth *dsl001-common*) <foo>) Marco> ? (sorry if the above is not all that correct; you get the idea) I suppose you could do it this way, but I was thinking about modifying the Fortran code. That way you can regenerate the lisp code whenever you want. f2cl isn't bug-free, after all. :-( And by modifying the Fortran, you can still run the test programs to see if you did something really stupid. If you modify the non-working lisp code, you'll take forever to make it work and still not be sure if you do get it to work. Ray |
From: Raymond T. <rt...@ea...> - 2004-08-14 15:38:04
|
Marco Antoniotti wrote: > ? (sorry if the above is not all that correct; you get the idea) > > It is tedious, but it can be done. With the latest changes to f2cl, f2cl seems able to compile odepack and can run some of the demo programs. I didn't have to modify any of the ODEPACK routines, but did have to modify slightly the demo driver program. This was because ODEPACK assumes some variables are actually arrays but calls the routine with a single variable. Not a problem in Fortran, but Lisp doesn't like that. Anyway, here is sample output from the first demo program. It doesn't finish the entire first demo because of some errors, but at least there's hope. Ray CL-USER> (*main*) Demonstration program for DLSODE package Problem 1: Van der Pol oscillator: xdotdot - 3*(1 - x**2)*xdot + x = 0, x(0) = 2, xdot(0) = 0 neq = 2 itol = 1 rtol = 0.0D+01 atol = 1.0D-06 Solution with mf = 10 t x xdot nq h 0.13928D+01 0.16801D+01 -0.291D+00 3 0.123D+00 0.36076D+01 -0.77986D-04 -0.317D+01 5 0.217D-01 0.58224D+01 -0.16801D+01 0.291D+00 3 0.475D-01 0.80372D+01 0.11669D-03 0.317D+01 5 0.234D-01 Final statistics for this run: rwork size = 52 iwork size = 20 number of steps = 297 number of f-s = 352 (excluding J-s) = 352 number of J-s = 0 error overrun = 0.12D+03 |
From: Marco A. <ma...@cs...> - 2004-08-17 18:38:02
|
Hi I think I got another problem with odepack-lsode. I wrote the following routine, which, AFAIU, is a translation of the Fortran example given in the main opkdmain.f file from netlib (sorry if it is long.) > (defun kinetic-example () > (flet ((fex (neq time y ydot) > (declare (ignore neq time)) > (setf (aref ydot 0) #I(-0.04d0 * y[0] + 1.0D4 * y[1] * y[2]) > (aref ydot 1) #I(3.0D7 * y[1] * y[1])) > (setf (aref ydot 2) #I(-ydot[0] - ydot[1])) > ) > (jex (neq time y ml mu pd nrpd) > (declare (ignore neq time ml mu nrpd)) > (setf (aref pd 0 0) -0.04D0) > (setf (aref pd 0 1) #I(1.0D4 * y[2])) > (setf (aref pd 0 2) #I(1.0D4 * y[1])) > (setf (aref pd 1 0) 0.04D0) > (setf (aref pd 1 2) (- (aref pd 0 2))) > (setf (aref pd 2 1) #I(6.0D7 * y[1])) > (setf (aref pd 1 1) #I(-pd[0, 1] - pd[2, 1])) > ) > ) > (let ((neq (make-array 1 :initial-element 3 :element-type 'f2cl-lib:integer4)) > ;; (neq 3) ; Fortran is fun! > (time 0.D0) > (tout 0.4D0) > (itol 2) > (rtol (make-array 1 :initial-element 1.0D-4 :element-type 'double-float)) > ;; (rtol 1.0D-4) ; Fortran is fun! > (itask 1) > (istate 1) > (iopt 1) > (lrw 58) > (liw 23) > (mf 21) > ;; > (y (make-array 3 > :element-type 'double-float > :initial-contents '(1.0D0 0.0D0 0.0D0))) > (atol (make-array 3 > :element-type 'double-float > :initial-contents '(1.0D-6 1.0D-10 1.0D-6))) > > (iwork (make-array 23 > :initial-element 0 > :element-type 'fixnum)) > (rwork (make-array 58 > :initial-element 0.0D0 > :element-type 'double-float)) > ) > (loop for iout from 1 upto 12 > for t-out = tout then (* tout 10.0D0) > do (multiple-value-bind (fex > neq > y > time > tout > itol > rtol > atol > itask > istate > iopt > rwork > lrw > iwork > liw > jex > mf) > (dlsode #'fex > neq > y > time > t-out > itol > rtol > atol > itask > istate > iopt > rwork > lrw > iwork > liw > #'jex > mf) > (declare (ignore fex > neq > ;; y > ;; time > tout > itol > rtol > atol > itask > ;; istate > iopt > rwork > lrw > iwork > liw > jex > mf)) > (format t "At t = ~F Y = ~S.~%" time y) > (when (minusp istate) > (error "Error halt. ISTATE = ~D." istate))) > finally (format t "~%N. steps = ~D, N. f-s = ~D, N. J-s = ~D.~%" > (aref iwork 11) > (aref iwork 12) > (aref iwork 13)) > )) > )) When I try to execute the above in LW (I'd bet the same would happen in other lisps) I get the following error Error: The array #(0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9900.990099009901 1.0E10 1000000.0 -0.039995298965865594 0.0 0.039995298965865594 0.0 0.0 0.0) requires 1 subscript but 2 were given. 1 (abort) Return to level 0. 2 Return to top loop level 0. Type :b for backtrace, :c <option number> to proceed, or :? for other options I tracked down this error to the DPREPJ routine in the call to the JEX local function, which expects a 2D array, but it seems to get a 1D array slice. Is this the correct diagnosis? Is this a Fortran trick to pass around things that can be seen of different shapes at different times? thanks -- Marco |
From: Raymond T. <ray...@er...> - 2004-08-17 21:10:12
|
>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: Marco> Hi Marco> I think I got another problem with odepack-lsode. Marco> I wrote the following routine, which, AFAIU, is a translation of the Marco> Fortran example given in the main opkdmain.f file from netlib (sorry if Marco> it is long.) [snip] Marco> I tracked down this error to the DPREPJ routine in the call to the JEX Marco> local function, which expects a 2D array, but it seems to get a 1D array Marco> slice. Marco> Is this the correct diagnosis? Is this a Fortran trick to pass around Marco> things that can be seen of different shapes at different times? You are correct. All arrays in Fortran are in column-major order, which doesn't fit well with Lisp's (and C) row-major order. Thus, in f2cl, all arrays are converted to 1D arrays. You will have to do the same thing. (It might have been beneficial to take the Fortran example and run f2cl over it to see what happens. And then write your own lisp version.) You can use the fref and fset macros to access the multi-dimensional arrays. In Fortran, if you have an array with dimensions x(8,10), and you want to access element x(1,2), you can use (fref x (1 2) ((1 8) (1 10))) (I think.) The last arg there gives the upper and lower bounds on the dimensions of the array so that fref can access the right element. (Fortran arrays can have negative indices.) Let me know if this solves your problem. Ray |
From: Marco A. <ma...@cs...> - 2004-08-17 22:51:42
|
On Aug 17, 2004, at 5:00 PM, Raymond Toy wrote: >>>>>> "Marco" == Marco Antoniotti <ma...@cs...> writes: > > Marco> Hi > > > Marco> I think I got another problem with odepack-lsode. > > Marco> I wrote the following routine, which, AFAIU, is a > translation of the > Marco> Fortran example given in the main opkdmain.f file from > netlib (sorry if > Marco> it is long.) > > [snip] > > Marco> I tracked down this error to the DPREPJ routine in the call > to the JEX > Marco> local function, which expects a 2D array, but it seems to > get a 1D array > Marco> slice. > > Marco> Is this the correct diagnosis? Is this a Fortran trick to > pass around > Marco> things that can be seen of different shapes at different > times? > > You are correct. All arrays in Fortran are in column-major order, > which doesn't fit well with Lisp's (and C) row-major order. Thus, in > f2cl, all arrays are converted to 1D arrays. You will have to do the > same thing. (It might have been beneficial to take the Fortran > example and run f2cl over it to see what happens. And then write your > own lisp version.) > > You can use the fref and fset macros to access the multi-dimensional > arrays. In Fortran, if you have an array with dimensions x(8,10), and > you want to access element x(1,2), you can use > > (fref x (1 2) ((1 8) (1 10))) > > (I think.) The last arg there gives the upper and lower bounds on the > dimensions of the array so that fref can access the right element. > (Fortran arrays can have negative indices.) > > Let me know if this solves your problem. > I'll try. How should I declare the CL array? X(8, 10) ==> (make-array (* 8 10) ....) ? So that Also, FREF seems quite strange to me. I tried the following (defvar arr (make-array (* 8 10) ....)) ;; filled in from 0 to 79. (f2cl-lib:fref arr (-9 11) ((1 8) (1 10))) ==> 70 What is the meaning of this? Cheers marco -- Marco Antoniotti http://bioinformatics.nyu.edu NYU Courant Bioinformatics Group tel. +1 - 212 - 998 3488 715 Broadway 10th FL fax. +1 - 212 - 998 3484 New York, NY, 10003, U.S.A. |
From: Marco A. <ma...@cs...> - 2004-08-17 23:24:34
|
Hi I think I got another problem with odepack-lsode. I wrote the following routine, which, AFAIU, is a translation of the Fortran example given in the main opkdmain.f file from netlib (sorry if it is long.) > (defun kinetic-example () > (flet ((fex (neq time y ydot) > (declare (ignore neq time)) > (setf (aref ydot 0) #I(-0.04d0 * y[0] + 1.0D4 * y[1] * y[2]) > (aref ydot 1) #I(3.0D7 * y[1] * y[1])) > (setf (aref ydot 2) #I(-ydot[0] - ydot[1])) > ) > (jex (neq time y ml mu pd nrpd) > (declare (ignore neq time ml mu nrpd)) > (setf (aref pd 0 0) -0.04D0) > (setf (aref pd 0 1) #I(1.0D4 * y[2])) > (setf (aref pd 0 2) #I(1.0D4 * y[1])) > (setf (aref pd 1 0) 0.04D0) > (setf (aref pd 1 2) (- (aref pd 0 2))) > (setf (aref pd 2 1) #I(6.0D7 * y[1])) > (setf (aref pd 1 1) #I(-pd[0, 1] - pd[2, 1])) > ) > ) > (let ((neq (make-array 1 :initial-element 3 :element-type 'f2cl-lib:integer4)) > ;; (neq 3) ; Fortran is fun! > (time 0.D0) > (tout 0.4D0) > (itol 2) > (rtol (make-array 1 :initial-element 1.0D-4 :element-type 'double-float)) > ;; (rtol 1.0D-4) ; Fortran is fun! > (itask 1) > (istate 1) > (iopt 1) > (lrw 58) > (liw 23) > (mf 21) > ;; > (y (make-array 3 > :element-type 'double-float > :initial-contents '(1.0D0 0.0D0 0.0D0))) > (atol (make-array 3 > :element-type 'double-float > :initial-contents '(1.0D-6 1.0D-10 1.0D-6))) > > (iwork (make-array 23 > :initial-element 0 > :element-type 'fixnum)) > (rwork (make-array 58 > :initial-element 0.0D0 > :element-type 'double-float)) > ) > (loop for iout from 1 upto 12 > for t-out = tout then (* tout 10.0D0) > do (multiple-value-bind (fex > neq > y > time > tout > itol > rtol > atol > itask > istate > iopt > rwork > lrw > iwork > liw > jex > mf) > (dlsode #'fex > neq > y > time > t-out > itol > rtol > atol > itask > istate > iopt > rwork > lrw > iwork > liw > #'jex > mf) > (declare (ignore fex > neq > ;; y > ;; time > tout > itol > rtol > atol > itask > ;; istate > iopt > rwork > lrw > iwork > liw > jex > mf)) > (format t "At t = ~F Y = ~S.~%" time y) > (when (minusp istate) > (error "Error halt. ISTATE = ~D." istate))) > finally (format t "~%N. steps = ~D, N. f-s = ~D, N. J-s = ~D.~%" > (aref iwork 11) > (aref iwork 12) > (aref iwork 13)) > )) > )) When I try to execute the above in LW (I'd bet the same would happen in other lisps) I get the following error Error: The array #(0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9900.990099009901 1.0E10 1000000.0 -0.039995298965865594 0.0 0.039995298965865594 0.0 0.0 0.0) requires 1 subscript but 2 were given. 1 (abort) Return to level 0. 2 Return to top loop level 0. Type :b for backtrace, :c <option number> to proceed, or :? for other options I tracked down this error to the DPREPJ routine in the call to the JEX local function, which expects a 2D array, but it seems to get a 1D array slice. Is this the correct diagnosis? Is this a Fortran trick to pass around things that can be seen of different shapes at different times? thanks -- Marco |
From: Raymond T. <rt...@ea...> - 2004-08-18 03:37:56
|
Marco Antoniotti wrote: > > How should I declare the CL array? > > X(8, 10) ==> (make-array (* 8 10) ....) > Yes, that's right. All multi-dimensional arrays are 1D arrays with the same number of elements. > ? > > Also, FREF seems quite strange to me. I tried the following > > (defvar arr (make-array (* 8 10) ....)) ;; filled in from 0 to 79. > > (f2cl-lib:fref arr (-9 11) ((1 8) (1 10))) ==> 70 > > What is the meaning of this? Macroexpand is your friend. But basically you are trying to access element arr(-9, 11) which is strictly illegal since the first index is supposed to be 1 to 8 and the second index is 1 to 10. (I think there's a variable you can set that will check array bounds.) But what happens is the real index is computed as (-9 + 1) + 8*(11 - 1) = 70, so you got element 70 from arr. Ray |
From: Raymond T. <ray...@er...> - 2004-08-19 00:52:32
|
>>>>> "Raymond" == Raymond Toy <rt...@ea...> writes: Raymond> Marco Antoniotti wrote: >> How should I declare the CL array? >> X(8, 10) ==> (make-array (* 8 10) ....) >> Raymond> Yes, that's right. All multi-dimensional arrays are 1D arrays with Raymond> the same number of elements. >> ? >> Also, FREF seems quite strange to me. I tried the following >> (defvar arr (make-array (* 8 10) ....)) ;; filled in from 0 to 79. >> (f2cl-lib:fref arr (-9 11) ((1 8) (1 10))) ==> 70 >> What is the meaning of this? Raymond> Macroexpand is your friend. But basically you are trying to access Raymond> element arr(-9, 11) which is strictly illegal since the first index is Raymond> supposed to be 1 to 8 and the second index is 1 to 10. Raymond> (I think there's a variable you can set that will check array bounds.) Raymond> But what happens is the real index is computed as (-9 + 1) + 8*(11 - Raymond> 1) = 70, so you got element 70 from arr. No, this is totally wrong. It should be (-9 - 1) + 8*(11 - 1) = 70. Ray |