2012-07-11 13 views
7

Moja firma opracowuje interfejs API do programów inżynierskich. Jest opracowany w C++, ale tworzymy owijarki do niego na następujących językach:Doxygen dla wielojęzycznego API

  • zastrzeżonym język, który przypomina VB
  • MATLAB
  • i Python.

Obecnie dokumentacja jest generowana przez kilka skryptów i zaczyna być czasochłonna, aby utrzymać ją w 100%. Zastanawiam się, czy istnieje sposób, aby uzyskać doxygen/sphinx lub inny program do generowania dokumentacji dla C/C++, VB i MATLAB za jednym razem. Część Pythona jest wykonywana przez SWIG. Obecnie produkcja jest coś takiego:

  • NameOfFunction
  • VB:
  • Function NameOfFunction (ByVal As Long, ByRef b() As Long, ByVal C tak długo) Dopóki
  • MATLAB:
  • wartość = NameOfFunction (a, b() C)
  • C/C++
  • * wartość NameOfFunction (objtype1 * a, objecttype2 * b * [], Int c)
  • + Opis
  • + Przykłady
+0

nie istnieje skrypt config można edytować za doxygen? – pyCthon

+0

Tak, ale jak mogę osiągnąć to, czego chcę. Spojrzałem na to, ale nie mogłem znaleźć czegoś, co wyglądałoby tak, jak chciałem. – Mac

Odpowiedz

3

doxygen obsługuje wiele języków,

używać tego na wielu projektów lub folderów i języków wystarczy wskazać doxygen do każdego folderu, który chcesz sprawdzane w config.

Mój ulubiony język programowania to X. Czy nadal mogę używać doxygen?

Nie, nie jako takie; doxygen musi zrozumieć strukturę tego, co czyta. Jeśli nie masz nic przeciwko spędzeniu z nim czasu, istnieje kilka opcji:

Czy obsługiwany jest język X?

Jeśli gramatyka X jest blisko C lub C++, to chyba nie jest zbyt trudne do dostrojenia src/scanner.l trochę więc język jest obsługiwany. Ten jest wykonywany dla wszystkich innych języków bezpośrednio wspieranych przez doxygen (tj. Java, IDL, C#, PHP). Jeśli gramatyka X jest nieco inna niż , możesz napisać filtr wejściowy, który tłumaczy X na coś podobnego do na tyle, aby C/C++ dla doxygen było zrozumiałe (to podejście jest stosowane dla VB, Object Pascal i JavaScript, patrz http://www.stack.nl/~dimitri/doxygen/download.html#helpers). Jeśli gramatura jest zupełnie inna, można napisać parser dla X i napisać backend, który tworzy podobne drzewo składniowe, jak zrobione przez src/scanner.l (a także przez src/tagreader.cpp podczas odczytu plików znaczników).

jednak od twojej użyciu VB jak własność, to może wybrać ten język do góry, jeśli po prostu wystarczy zmienić rozszerzenie pliku, do tego z .Vb

herezje jak go używać z matlab

pytona oraz C++ są już obsługiwane

mieć spojrzenie na F AQ stronie

2

Zastanawiałem się, czy istnieje sposób, aby uzyskać doxygen/sfinks lub inny program do generowania dokumentacji dla C/C++, VB i Matlab na jednym zamachem.

Edytor Zeus ma doxygen feature, który umożliwia tworzenie dokumentacji doxygen dla wszystkich elementów w obszarze roboczym Zeus.

+0

Dzięki, ale trudno mi jest przekonać wszystkich programistów do korzystania z innych IDE. – Mac

+0

Uważam, że bardzo trudno jest uwierzyć, że samo użycie konkretnego edytora magicznie spowoduje, że pliki doxygen będą obsługiwać dowolne pliki. –

+0

W odpowiedzi na Ben Voigt: Nie ma magii. Opisana przeze mnie funkcja nie jest niczym więcej, niż każdy plik dodany do obszaru roboczego Zeus zostanie wysłany do dohonygen w celu przetworzenia. Jak dobrze doxygen radzi sobie z tym plikiem, jest do doxygen, ale Zeus upewni się, że jest przetwarzany. To wszystko, nic więcej, nic mniej. – jussij

Powiązane problemy