Не генерируется никаких выходных данных для автоматического документирования с помощью 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.
Есть ли у вас какие-либо идеи, как мы можем сделать документ, который анализировал программу, выделял команды, включал комментарии и добавлял перекрестные ссылки?