Version: (using KDE KDE 3.4.2) Installed from: SuSE RPMs OS: Linux Please add code generator for the Free Pascal compiler
Thanks for your time.
Is it object orientated?
Jonathan Riddell <jr@jriddell.org> [051021 22:19]: > ------- Additional Comments From jr jriddell org 2005-10-21 21:08 ------- > Is it object orientated? No, functional. Sebastian
Sebastian Stein wrote: [bugs.kde.org quoted mail] Yes it is. Michael
Since kylix is around for quite some time it would be good to have both delphi and free pascal support. Jens
I'll be adding PascalImport too, for importing StarUML (http://www.staruml.com)
It's a breeze, given the NativeImportBase and AdaImport :)
SVN commit 563149 by okellogg: Move all code import related files to a separate subdirectory, codeimport. Prepare for Pascal import and generator. ATM they are cheap copies from Ada, adaptation to Pascal is up next. Also move the {set,get}OptionState() methods from UMLApp to Settings because of a crash (that should have happened long ago...) CCBUG:114547 CCBUG:107347 M +1 -0 ChangeLog M +3 -10 umbrello/Makefile.am D umbrello/adaimport.cpp D umbrello/adaimport.h M +1 -1 umbrello/associationwidget.cpp M +2 -2 umbrello/classifier.cpp D umbrello/classimport.cpp D umbrello/classimport.h M +1 -1 umbrello/classparser/cpptree2uml.cpp M +2 -2 umbrello/codegenerators/Makefile.am M +7 -3 umbrello/codegenerators/codegenfactory.cpp A umbrello/codegenerators/pascalwriter.cpp [License: GPL (v2+)] A umbrello/codegenerators/pascalwriter.h [License: GPL (v2+)] A umbrello/codeimport (directory) A umbrello/codeimport/Makefile.am A umbrello/codeimport/adaimport.cpp umbrello/adaimport.cpp#562821 [License: GPL (v2+)] A umbrello/codeimport/adaimport.h umbrello/adaimport.h#562821 A umbrello/codeimport/classimport.cpp umbrello/classimport.cpp#562821 [License: GPL (v2+)] A umbrello/codeimport/classimport.h umbrello/classimport.h#562821 A umbrello/codeimport/cppimport.cpp umbrello/cppimport.cpp#562821 [License: GPL (v2+)] A umbrello/codeimport/cppimport.h umbrello/cppimport.h#562821 A umbrello/codeimport/idlimport.cpp umbrello/idlimport.cpp#562821 [POSSIBLY UNSAFE: popen] [License: GPL (v2+)] A umbrello/codeimport/idlimport.h umbrello/idlimport.h#562821 A umbrello/codeimport/import_utils.cpp umbrello/import_utils.cpp#562840 [License: GPL (v2+)] A umbrello/codeimport/import_utils.h umbrello/import_utils.h#562821 [License: GPL (v2+) GENERATED FILE] A umbrello/codeimport/javaimport.cpp umbrello/javaimport.cpp#562848 [License: GPL (v2+)] A umbrello/codeimport/javaimport.h umbrello/javaimport.h#562821 A umbrello/codeimport/nativeimportbase.cpp umbrello/nativeimportbase.cpp#562821 A umbrello/codeimport/nativeimportbase.h umbrello/nativeimportbase.h#562821 [License: GPL (v2+)] A umbrello/codeimport/pascalimport.cpp [License: GPL (v2+)] A umbrello/codeimport/pascalimport.h [License: GPL (v2+)] A umbrello/codeimport/pythonimport.cpp umbrello/pythonimport.cpp#562821 [License: GPL (v2+)] A umbrello/codeimport/pythonimport.h umbrello/pythonimport.h#562821 D umbrello/cppimport.cpp D umbrello/cppimport.h M +4 -7 umbrello/dialogs/umlattributedialog.cpp M +5 -8 umbrello/dialogs/umlwidgetcolorpage.cpp M +1 -1 umbrello/entity.cpp D umbrello/idlimport.cpp D umbrello/idlimport.h D umbrello/import_utils.cpp D umbrello/import_utils.h D umbrello/javaimport.cpp D umbrello/javaimport.h M +1 -1 umbrello/listpopupmenu.cpp M +4 -0 umbrello/model_utils.cpp D umbrello/nativeimportbase.cpp D umbrello/nativeimportbase.h A umbrello/optionstate.cpp [License: GPL (v2+)] M +7 -1 umbrello/optionstate.h M +1 -1 umbrello/petaltree2uml.cpp D umbrello/pythonimport.cpp D umbrello/pythonimport.h M +106 -95 umbrello/uml.cpp M +1 -10 umbrello/uml.h M +12 -12 umbrello/umldoc.cpp M +3 -4 umbrello/umllistview.cpp M +1 -0 umbrello/umlnamespace.h M +2 -2 umbrello/umlobject.cpp
SVN commit 564664 by okellogg: Basic adaptations to Pascal syntax. Up next: PascalImport. CCBUG:114547 M +83 -298 pascalwriter.cpp
SVN commit 565431 by okellogg: Basic adaptations to Pascal syntax, still untested. Up next: Test it. CCBUG:114547 M +159 -176 pascalimport.cpp M +17 -0 pascalimport.h
SVN commit 565677 by okellogg: Set the PascalImport to work - roughly. PascalImport right now suffers from the same problems as JavaImport did concerning placeholder class scoping. TODO: See how JP Fournier's fix to bug 131270 (r565676) can be applied to PascalImport. BUG:114547 M +14 -17 pascalimport.cpp --- branches/KDE/3.5/kdesdk/umbrello/umbrello/codeimport/pascalimport.cpp #565676:565677 @@ -139,8 +139,9 @@ } if (keyword == "unit") { const QString& name = advance(); - UMLObject *ns = Import_Utils::createUMLObject(Uml::ot_Package, - name, m_scope[m_scopeIndex], m_comment); + UMLObject *ns = Import_Utils::createUMLObject(Uml::ot_Package, name, + m_scope[m_scopeIndex], m_comment); + m_scope[++m_scopeIndex] = static_cast<UMLPackage*>(ns); skipStmt(); return true; } @@ -217,9 +218,7 @@ return true; } const QString& name = advance(); - QString returnType; - UMLClassifier *klass = NULL; - UMLOperation *op = NULL; + UMLOperation *op = Import_Utils::makeOperation(m_klass, name); if (m_source[m_srcIndex + 1] == "(") { advance(); const uint MAX_PARNAMES = 16; @@ -260,6 +259,7 @@ break; } } + QString returnType; if (keyword == "function") { if (advance() != ":") { kdError() << "importPascal: expecting \":\" at function " @@ -272,9 +272,8 @@ bool isVirtual = false; bool isAbstract = false; checkModifiers(isVirtual, isAbstract); - if (klass != NULL && op != NULL) - Import_Utils::insertMethod(klass, op, m_currentAccess, returnType, - !isVirtual, isAbstract, false, false, m_comment); + Import_Utils::insertMethod(m_klass, op, m_currentAccess, returnType, + !isVirtual, isAbstract, false, false, m_comment); return true; } if (m_section != sect_TYPE) { @@ -326,15 +325,13 @@ m_comment = QString::null; if (m_source[m_srcIndex + 1] == "(") { advance(); - QString base = advance(); - UMLObject *ns = Import_Utils::createUMLObject(Uml::ot_Class, base, NULL); - UMLClassifier *parent = static_cast<UMLClassifier*>(ns); - ns = Import_Utils::createUMLObject(Uml::ot_Class, name, - m_scope[m_scopeIndex], m_comment); - m_klass = static_cast<UMLClassifier*>(ns); - m_comment = QString::null; - Import_Utils::createGeneralization(m_klass, parent); - advance(); // skip the closing ")" + do { + QString base = advance(); + UMLObject *ns = Import_Utils::createUMLObject(Uml::ot_Class, base, NULL); + UMLClassifier *parent = static_cast<UMLClassifier*>(ns); + m_comment = QString::null; + Import_Utils::createGeneralization(m_klass, parent); + } while (advance() == ","); } m_currentAccess = Uml::Visibility::Public; return true;