Не генерируется никаких выходных данных для автоматического документирования с помощью sphinx на коде fortran

Мы хотим использовать инструмент Autodoc Sphinx для составления документации на фортрановые программы. Используя два расширения, разработанных vacumm "vacumm.sphinxext.fortran_domain" и "vacumm.sphinxext.fortran_autodoc", мы должны быть в состоянии проанализировать коды фортрана по Sphinx.

Мы можем успешно запустить make html генерировать HTML-файлы документов, но вывод пуст. Я имею в виду, кажется, что программа на фортране не была проанализирована и задокументирована, но ошибки нет.

Мое дерево программ выглядит так:

├── doc
│   ├── _build
│   ├── conf.py
│   ├── index.rst
│   ├── make.bat
│   ├── Makefile
│   ├── _static
│   └── _templates
└── project
    └── caf10.f

conf.py включает в себя:

sys.path.insert(0, os.path.abspath("../project/caf10.f"))

extensions = [
    'sphinx.ext.autodoc',
    'sphinx.ext.doctest',
    'sphinx.ext.intersphinx',
    'sphinx.ext.todo',
    'sphinx.ext.coverage',
    'vacumm.sphinxext.fortran_domain',
    'vacumm.sphinxext.fortran_autodoc'
]

fortran_src = [
    '/home/Documents/fortran-sphinx/project/caf10.f'
]

index.rst содержит:

Documentation for the Code
**************************

.. f:autoprogram:: caf10

Contents:

.. toctree::
:maxdepth: 2 

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

Программа на Фортране выглядит примерно так:

C Handling system components

      PROGRAM caf10
      IMPLICIT NONE

      INTEGER NOERR, NSCOM, I
      CHARACTER FNAME*12, SCNAME*24

C Initialise program 
      CALL TQINI(NOERR)

      FNAME = 'cosi.dat'

C Open cosi.dat (system C-O-Si)
C for reading
      CALL TQOPNA(FNAME, 10, NOERR)

C Read data-file 
      CALL TQRFIL(NOERR)

C Close data-file 
      CALL TQCLOS(10, NOERR)


C Print the names of all system components
      WRITE(*,FMT='(A)') 'Names of system components:'

      DO I=1, NSCOM
         CALL TQGNSC(I, SCNAME, NOERR)
         WRITE(*,FMT='(I2,A)') I, ': ' // SCNAME
      ENDDO

      END

У нас нет определения модуля или функции в этих программах на Фортране. Мы хотим выделить коды и комментарии, использовать перекрестные ссылки и распечатать результаты каждого метода в документации.

Вывод сгенерированного документа - это просто имя программы, и ничего больше не включено в документацию:

program caf10

Запустив make html, это регистрирует без ошибки:

$ make html    

sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v1.2.3
loading pickled environment... not yet created
loading intersphinx inventory from http://docs.python.org/objects.inv...
parsing fortran sources... done
building [html]: targets for 1 source files that are out of date
updating environment: 1 added, 0 changed, 0 removed
test1ng sources... [100%] index                                                                                                                        

/home/masood/Documents/fortran-sphinx-2/doc/index.rst:4: WARNING: test2
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] index                                                                                                                         
writing additional files... genindex search
copying static files... done
copying extra files... done
dumping search index... done
dumping object inventory... done
build succeeded, 1 warning.

Есть ли у вас какие-либо идеи, как мы можем сделать документ, который анализировал программу, выделял команды, включал комментарии и добавлял перекрестные ссылки?

0 ответов

Другие вопросы по тегам