
(SDEFUN |FORTFORM;assignable_form?| ((|o| |OutputForm|) ($ |Boolean|))
        (SPROG ((|sop| (|Symbol|)) (|op| (|OutputForm|)))
               (SEQ
                (COND ((SPADCALL |o| (QREFELT $ 10)) 'T)
                      (#1='T
                       (SEQ
                        (LETT |op| (SPADCALL |o| (QREFELT $ 11))
                              . #2=(|FORTFORM;assignable_form?|))
                        (EXIT
                         (COND
                          ((SPADCALL |op| (QREFELT $ 12))
                           (SEQ
                            (LETT |sop| (SPADCALL |op| (QREFELT $ 14)) . #2#)
                            (COND
                             ((OR (EQUAL |sop| '=)
                                  (OR (EQUAL |sop| 'MATRIX)
                                      (EQUAL |sop| '|construct|)))
                              (EXIT NIL)))
                            (EXIT 'T)))
                          (#1# 'T))))))))) 

(SDEFUN |FORTFORM;convert;OfI$;2| ((|o| |OutputForm|) (|i| |Integer|) ($ $))
        (SPROG ((|var| ($)))
               (SEQ
                (COND ((NULL (|FORTFORM;assignable_form?| |o| $)) |o|)
                      ('T
                       (SEQ
                        (LETT |var|
                              (SPADCALL
                               (SPADCALL (STRCONC "R" (STRINGIMAGE |i|))
                                         (QREFELT $ 16))
                               (QREFELT $ 17))
                              |FORTFORM;convert;OfI$;2|)
                        (EXIT
                         (SPADCALL (SPADCALL '= (QREFELT $ 18))
                                   (LIST |var| |o|) (QREFELT $ 20))))))))) 

(SDEFUN |FORTFORM;display;$V;3| ((|x| $) ($ |Void|))
        (SPADCALL (SPADCALL (SPADCALL |x| (QREFELT $ 25)) (QREFELT $ 26))
                  (QREFELT $ 28))) 

(DECLAIM (NOTINLINE |FortranFormat;|)) 

(DEFUN |FortranFormat| ()
  (SPROG NIL
         (PROG (#1=#:G725)
           (RETURN
            (COND
             ((LETT #1# (HGET |$ConstructorCache| '|FortranFormat|)
                    . #2=(|FortranFormat|))
              (|CDRwithIncrement| (CDAR #1#)))
             ('T
              (UNWIND-PROTECT
                  (PROG1
                      (CDDAR
                       (HPUT |$ConstructorCache| '|FortranFormat|
                             (LIST (CONS NIL (CONS 1 (|FortranFormat;|))))))
                    (LETT #1# T . #2#))
                (COND
                 ((NOT #1#) (HREM |$ConstructorCache| '|FortranFormat|)))))))))) 

(DEFUN |FortranFormat;| ()
  (SPROG ((|dv$| NIL) ($ NIL) (|pv$| NIL))
         (PROGN
          (LETT |dv$| '(|FortranFormat|) . #1=(|FortranFormat|))
          (LETT $ (GETREFV 30) . #1#)
          (QSETREFV $ 0 |dv$|)
          (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
          (|haddProp| |$ConstructorCache| '|FortranFormat| NIL (CONS 1 $))
          (|stuffDomainSlots| $)
          (SETF |pv$| (QREFELT $ 3))
          (QSETREFV $ 6 (|OutputForm|))
          $))) 

(MAKEPROP '|FortranFormat| '|infovec|
          (LIST
           '#(NIL NIL NIL NIL NIL NIL '|Rep| (|Boolean|) (|OutputForm|)
              (|OutputFormTools|) (0 . |atom?|) (5 . |operator|)
              (10 . |symbol?|) (|Symbol|) (15 . |symbol|) (|String|)
              (20 . |coerce|) (25 . |coerce|) (30 . |outputForm|) (|List| $)
              (35 . |elt|) (|Integer|) |FORTFORM;convert;OfI$;2| (|List| 15)
              (|FortranCodeTools|) (41 . |expression2Fortran|)
              (46 . |fort_clean_lines|) (|Void|) (51 . |displayLines|)
              |FORTFORM;display;$V;3|)
           '#(|display| 56 |convert| 61) 'NIL
           (CONS (|makeByteWordVec2| 1 '(0))
                 (CONS '#(NIL)
                       (CONS '#((|OutputFormatterCategory|))
                             (|makeByteWordVec2| 29
                                                 '(1 9 7 8 10 1 9 8 8 11 1 9 7
                                                   8 12 1 9 13 8 14 1 13 0 15
                                                   16 1 13 8 0 17 1 6 0 13 18 2
                                                   6 0 0 19 20 1 24 23 8 25 1
                                                   24 23 23 26 1 24 27 23 28 1
                                                   0 27 0 29 2 0 0 8 21 22)))))
           '|lookupComplete|)) 

(MAKEPROP '|FortranFormat| 'NILADIC T) 
