Home
Yapakit User Guide
Contents
1. 106 I PIE LODO lt lt lt e rosso AS a 106 184 Anatomy ola PI wn ck HE wR AAA 107 18 5 How Plugins are loaded lt lt ab oe bw RROD EE OH ES BERS ESS 107 18 6 How to Remove a Plugin 107 18 7 How to Add a Plugin 107 19 Available Plugins 109 BL oro ei bt arcs A ec u au u Ra a BEE a u as A 110 Me ll ross ono raso ee PH eee ee Ee RE eee ns 111 IS SI bb ass eR URE BE ee CR Ee Hee ee ee 111 BA EEN 111 AO POUCA bk ae See eRe eRe As AAA 112 19 6 mode elisp 1 0 an 0 a0 u Da a a deu au aa a a a at 112 10 7 Motel s c e Lasers Eee lies R ae 112 10 5 OO ER II 112 19 9 mode linker 1 0 oa 4 4 44 aa a na ih nie 11 vi 19 10mode makefile 1 1 113 IN 1 I en aa re ee Ee ewe ee SS 113 I IST nn ee ee ew ed a a re 113 19 13mode scilab 1 0 a er ans a ak 113 19 14mode shell 1 0 opos SA RSS RO ERE NN BRE AA 113 AAA ee Ewe a 113 19 16mode txt 1 0 468 ew SAD a de 6 HO 6 ee 114 II Vote lis 2 0 eee eh E a em a an 114 19 18plotdata l 0 o ss au u aro kdna ee COR Dew we Od HS 114 0 RS eee a hd ta Nr ins Ne 115 EO 2 UCU be at eh ee eee he eS wee de 115 A A l go Ga Roe ee Eee ew eee eee ees 116 ISA LE SBS ee GS Pw eG EE eR ES eS ee 116 20 Insert Plugin 117 Introduction Yapakit is a free easy to install easy to use Fortran source code editor The goal
2. File Edit View Go Bookmarks Tools Window Help a 3 a E File 2 Search Print th Home WE Bookmarks mozilla org mozillaZine mozdes org File cgesc2 f Directory D Business Yapa Project 1 5 Libraires Testlapack 3 1 SEC File extension f Language 177 Time of scan Sun Nor 12 22 55 55 Paris Madrid 2006 Current time Sun Nor 12 22 55 55 Paris Madrid 2006 Blank lines 0 0 Comment lines a 66 4 90 Code lines 42 41 6 Generates an html documentation of the project stored in memory This documenta tion is filled with the elements Directories Files and Elements like Subroutines Func tions Modules etc It allows the user to read statistics abouts the project number of files number of lines and many more 7 2 HOW TO USE A DATABASE 99 f Customize Yapa settings a Look E General Print fs Html generation Ss Comments Extra comments beginEndT ag Begin tag LAPALCE routine vers End tag Special tag default Extra comments 3 lw X Ok Default The html documentation displays the comments extracted from the source code and associates them to the correct element The Customize menu contains the sub menu Settings in which the user can find the tab Html generation This allows the user to define how to extract the comments from the fortran source code veu y V7 et OO 3 Directories Elements Resour
3. 5 Z La fonction de la vue c est de voir celle de l ou e c est d entendre et en g n ral la fonction de la sensibilit c est de sentir De plus il y a certaines choses communes tous les sens telles que la forme le mouvement la grandeur et autres qualit s de m me genre et il y en a d autres qui sont sp ciales comme la couleur le son la saveur Or quand on ferme les yeux et quand on dort on n est point en tat d avoir la sensation de la vue on n a pas davantage les autres ainsi il est clair que nous ne sentons rien durant le sommeil Ce n est donc pas par la sensation que nous sentons le r ve Fill adjust or unfill text up to the 72 th column This algorithm takes into account the paragraphs of the selected region so that distinct paragraphs remain distinct 13 11 Split file into parts Split a long text file for example a log file into several files 13 12 Upcase downcase MODULE MYMODULEZ6 CONTAINS FIFDEF OPTION SUBROUTINE MYSUBZS Li CALL MYSUEZE 2 ENDSUBROUTINE MYSUBZE_1 Upcase downcase capitalize region 13 13 Sort lines om IA noon 0 PO FH mow me Sort lines alphabetically in increasing or decreasing order Sort lines and keep only unique lines The Edit gt More gt Delete blank lines allows to delete all blank lines in the current text The Edit gt More gt Compact text command allow to remove double blank lines in the current text so that the final tex
4. 7 2 HOW TO USE A DATABASE 93 f New database x Find files waiting Parsing of files Waiting Parse directories Waiting 5 econd pass Waiting lt a Warnings Waiting Dependencies waiting Save andopendb waiting Total waiting The New database dialog is made of lines where each line is associated a step Ifthe user push the start button each step will be processed one after another until the process is complete The se steps correspond to the main steps to create the database The longest steps are the parsing of the files the second pass and the warnings computation these steps are associated with a progress bar so that the user can interrupt the process anytime he wants if he thinks that it is too long x Time H M 5 Find files Done in 00 00 00 Parsing of files _ Done in 00 00 00 Parse directories Done in 00 00 00 second pass Done in 00 00 00 warnings Done in 00 00 00 Dependencies Done in 00 00 00 _ Save and open db Done in 00 00 00 Total Done in 00 00 01 Ok Save To Log Cancel When the process is done all the times are summarized into the dialog box These informations can be saved into a log file 7 2 How to use a database ee 3 Directories Elements a Resources EH lapack 3 1 1 2 cbdsqr After that the database has been created the database is
5. BREAL S pl pO delta ul ul real dimension 1 5 internal rr I Statement function real statement Function A statement Function ik SK Z2HZ ktZ I Compute pl max pO delta ub mintpoO delta call mySubld4dSipl po internalbrraiwili pl arqumentArray 1l pl call mySub l caill sera Edit mySub1z arcumentirr Search amp replace mySubiz END FONCTION Search mySubl2 in dir4 END MODULE myMo Cut Copy Paste Browse Notice that the source was a Fortran 90 code and that the target is a Fortran 77 code F module f30 F file tor 1 Z 3 Test routine 4 5 6 Subroutine mySublZ lerrorki 7 a El implicit none 10 11 integer errorA lz 13 p Conpute 14 15 end 16 Back to the module f90 file one can again right on the mySub12 string but this time opens the Browse menu of the popup windows From there click on Draw hierarchy call tree of mySub12 to display a tree allowing to navigate into the reverse call tree of mySubl2 a4 call mwySubl45 pl pO 35 internal rray 1l pl 36 arqument rrayt 1 pl 37 call my hr1 tarror a 35 call exte Edit mySub1z 23 argument Search amp replace mySubi2 E Re PEER Search mySub12 in dirt 42 END MODULE mi Cut 43 44 Copy 45 Paste Browse Business apa Project 1 5 Nouveau dossier sample sre c TUTORIAL NAVIGATING IN SAMPLE PROJECT
6. This tree has module precision_mslib as root and all used modules of the module precision_mslib as children The depth of the tree is not limited This is a fortran 90 feature A ET Tr u A gt F 4 Elements Fi Resources E precision_rmslib ES precision_melib EH MI precision_melib 6A51380_melib code _planetez_melib math_melib mc_6R513980 ric rath mc_phyz The hierarchy use tree of the module precision_mslib is made of all the elements which use the module precision_mslib For example the subroutine mc_GRS1980 is using the module precision_mslib Again there is no limit in the depth of that tree The Use tree feature is very useful but the Hierarchy use tree is extremely useful 98 CHAPTER 7 DATABASE MANAGEMENT when analysing the structure of a fortran 90 software This is a fortran 90 feature mc_phys fs me_phus fs mu_quat_3rot fe H mu_quat_3rot S mu_anglez 5 mu_guat_norme 5 mu_quat_ rep ES mu_prod_quat S mu_prod_vect H mu_guat_conjug 5 ma_quat_norme The Call tree of any subroutine function program or interface can be drawn This is a fortran 77 and fortran 90 feature except that the interface keyword is only defined in fortran 90 Notice that fortran 77 and fortran 90 elements can appear in the same call tree since no difference is made between the two types of elements FE File cgesc f SeaMonkey 10 xl
7. CS Delayed update of DB Check DB Delete DE Display elements LE Display directories Fles Display resources a Lo pex i 2 r 5 PE Info Close current data base U mre pote The toolbar is divided into three bars the main toolbar new file open save close the editing toolbar adjust text indent upcase etc and the browse toolbar new database open close save delete update etc All items of the menus are associated with a help text displayed in the status bar Update text trom tile All icons displayed in the toolbars are associated with a dynamic balloon help 5 2 WINDOW MANAGING 43 5 2 Window managing 5 2 1 Status bar N Up to date Line 11 Column 8 Director D Business Tapa Project 1 5 Libraines Test lapack 3 1 1 5RC Mode f77 The status bar is displayed at the very bottom of the window The left part of the status bar is devoted to help for menu items The right part of the status bar is displaying the line and column numbers of the cursor the directory name for the current file the mode associated with the current file 5 2 2 Multiple files F cgbtf2 f F cghew f F cgbrfs f F cgbbrdf F casev f SUBROUTINE CGEEV JOEVL JOBYE N A LDA W WORK LWORE EWOBE INFO The main part is dedicated to the text editing Multiple files can be opened simul taneous
8. Draw call tree of mySubl2 Draw use tree of mySubiz Draw hierarchy call tree of mySub12 Get info on file module Fag Masters files of module Fag Slaves Files of module Foo Get info on dir dir4 Get info on mysubliz The hierarchy call tree is the reverse of the call tree Here mySubl2 is called by myFunl in the module myModule which is called by myProg From there if you double left click on the element myProg the editor opens the file test23 f90 and set the cursor at line 1 Aw A of E gt Elements Resources fs mysubl 2 F module f30 F filet for IMPLICIT NONE I Variables d entree real s Jdimension l 10 I Variable de sortie REALiS 2 myFuncl I Variable interne 1 4 Global Analysis of the project The best way to get global informations of a new Fortran project is to get an eye on the database properties Click in the Database gt Info gt Database properties menu 1 4 GLOBAL ANALYSIS OF THE PROJECT 25 Data Base Customize Insert Library Notes Help New DE CA Open DE Sa a a Close DB Recent DB Save DE Save DE 35 L Update DB Delayed creation of DB i BM ook ra I module F30 Delayed update of DE 1 brogram m E Ti Check DE wen D Tr 3 use mM Delete DB 4 een j A 5 integer Display directories Files nik ae Display elements 7 cali ny Display resources call my
9. Reload File iz Text Editing html Reload all EN Source Code Editing html Close Ctra ee el Shortcuts and Keyboard _ Mouse Bindings html j Search html Display Files a Printing Atl Trash File Operating System and Portability Atm Backup File License html More d Libraries html File Management html When a file is opened its path is stored in a list If the user exits from Yapakit and startup Yapakit again the same list is displayed into the Recent files menu 5 3 CUSTOMIZATION 45 5 3 Customization Customize Yapa settings Customization thanks to the user interface colors fonts mode associated with a given extension indentation comment uncomment insertion 5 4 Internationalisation This software is currently available in english and french Any other foreign language can be added with a little effort by adding a msg file in the lang directory In the end this help should be translated also 46 CHAPTER 5 OVERVIEW Match line Recursive Select this option if you want to search for strings that fill the whole line Match line is particular type of regular expression search It this loption is selected Match word and Regular expression options are automatically unselected Replace Replac ILE 17 Jeft gt lt 4 lt rr irons trees wdac 5 5 Help This help is not very detailed because I suppose that the software is clear and simple enough so that an
10. e English dictionnary dict dict english txt e French dictionnary dict dict french txt The check algorithm is based on several simple algorithms inspired by the methods used in ispell The high tech methods which can be found in aspell are not provided here The Check Spell command allows the check the spelling of the currently opened file This is done whatever the type of file opened either text file or not The words which are not found in the dictionnary are colored The user can then right click onto the colored word A list of suggested words for replacement is then computed which may take some time depending on the length of the word The suggestions are then displayed in the popup window If the user select one replacement word the original word is replaced by the new one To finish the check and remove the spell colors execute the Terminate Checking command The user can select a different dictionnary with the Change dict command The Properties dict displays a dialog which shows the properties of the current dictionnary file size and number of words The Display dict feature allows to get a manual look into the dictionnary It displays a Words view where the user can display words matching a given word pattern The case of the word can be taken into account or not For example typing ach in the filter entry displays the list of all words matching ach 19 20 tcltkapps 1 0
11. requires less comments il i_ i aak f Least commented files xj dit3 empty f dir2test23 10 dirl dir module 130 a dir dirSrnoduled 490 dirlidirstnodules 490 dir2modules 190 2 dirlidirdimodule2 190 dirt ddirdtest25 dir le dir file for dir file for d E ra a a a Comment rate Export Part Il Support Chapter 2 Portability The goal of the Yapakit editor was to be cross platform because the fortran developers usually handle different systems where their scientific softwares are used The Tel language was therefore a language of choice because Tcl has been ported on most systems and provides a uniform interface for theses specific platforms The portability of Yapakit is therefore a by design feature 2 1 Supported systems The goal of this section is to detail the plaforms where Yapakit is available and where it is not available Yapakit is available on the following platforms e win32 1x86 e linux ix86 e solaris sparc e solaris ix86 e hpux parisc e aix rs6000 e macosx On the base of the Active State Tcl Tk 8 4 system Yapakit has been tested under the following operating systems e Windows Windows 98 Windows 2000 Windows ME Windows XP e Linux Mandrake Linux Red Hat e Sun Solaris Sparc 29 30 CHAPTER 2 PORTABILITY Remark 2 1 1 Previous releases of Yapakit included the BLT package which was used n a compiled form Because of t
12. 2 never used test23 90 No element found in file empty f 11 END SUBROUTINE wyFuncll Total 11 files 1 3 2 The Elements View The Elements view allows to get a full list of the elements in the database When the view is opened the Name field is left blank To display all the available elements 22 CHAPTER 1 TUTORIAL NAVIGATING IN SAMPLE PROJECT type in the Name field The editor automatically updates the content of the list everytime it is necessary The Elements view also allows to filter the elements matching a given type or name pattern To display only elements starting with letter m delete in the Name field and type m From here if you double left click on the myFunc11 element the editor opens the file module5 f90 and set the cursor at the line defining the subroutine myFuncl11 Sa ET a lA ee ka 3 Directories Elements Fi Resources amp D Business Yapa Proj F modules 90 IMr Funcl SUBROUTINE wyFuncllirho chi IMPLICIT WOME I Variables d entree Matching Elements FH SO amo hw he oa BREAL amp INTENT in rho chi E I Compute F marca 11 END SUBROUTINE myFuncll rbd odule F myblodule myFunc rive odules MA mukd odule23 1 3 3 The Resources View The Resources view allows to display the list of files of the database no depend of the directory in which it is located For example to d
13. Display outline call wy call my Go Eo next ii wyFu 11i m Fix Go to previous Go bo First line Go bo last line Select Current element Database properties Lines distribution Make BURN Rates distribution Largest Files Smallest Files Most commented Files myHM Least commented Files r fa List of File num of lines ass List of File num of comment lines s n Export html doc ire end The Database properties dialog allows to get an overview of the project It displays for example the total number of programs the number of files etc The content of the dialog can be exported either into a log file or into a csv formatted file which can be used with a table editor like Open Office or Excel for example Fi xl Hame tutorial db G Size 29 KB Type text script birth Wiritable pez Time Sun Oct 21 17 34 10 Elapsed time for creation hin 00 00 01 Elements statistics All 31 Program 1 Function 5 Subroutine 15 Derved type 1 Module T Interface 2 g Ok Save To Log Export To Law The Database gt Info Display least commented files displays a bar graph with the files sorted depending on their comment rate Obviously the file empty f is not commented but it does not matter More difficult is the case of test23 f90 with only 26 CHAPTER 1 TUTORIAL NAVIGATING IN SAMPLE PROJECT 10 comment rate The comment rate is a quality indicator but good quality code
14. Software 2 Termination This License Agreement is effective until terminated Micha l Baudin may terminate this License immediately and without prior notice if you breach any term of this License or for any reason whatsoever In the event of any termination or expiration you agree to immediately destroy and or erase the original and all copies of the Software any accompanying documentation and License Keys and to discontinue their use and you will not retain or store the Software or any copies thereof in any form or medium 3 Proprietary Rights The Software is licensed not sold to you Micha l Baudin reserves all rights not expressly granted to you Ownership of the Software and its associated proprietary rights including but not limited to patent and patent applications are retained by Micha l Baudin The Software is protected by the copyright laws of Canada and the United States and by international treaties Therefore you must comply with such laws and treaties in your use of the Software You agree not to remove any of Micha l Baudin s copyright trademarks and other proprietary notices from the Software 4 Distribution Except as may be expressly allowed in Section 1 or as otherwise agreed to in a written agreement signed by both you and Micha l Baudin you will not distribute the Software either in whole or in part in any form or medium 5 Transfer and Use Restrictions You may not sell license sub license lend lea
15. This plugin allows to use several external Tcl Tk software While this plugin remain the property of the author of Yapakit the Tcl Tk external software are remaining the property of their respective authors The goad is to provided simple applications to enrich the toolbox for everyday work The audience is the scientific community using Fortran for example which needs to perform computations draw functions or convert between physical units This is the full list of software distributed along with the plugin e Calc a simple but efficient calculator e Tkparam to display parametrized functions x u y u e Convert to convert between physical international units 116 CHAPTER 19 AVAILABLE PLUGINS e Dirsize to display the size of directories e Stopwatch to display time with start stop pause e Taskspace to organize your tasks in the Urgency Importance space e Zorro simple to do list manager e Tkoutline to manage tree based notes including hyperlinks and text formatting 19 21 tkcvs 1 0 This plugin allows to use TkCvs from Yapakit TkCvs remains the property of their authors e TkCvs manage files from a CVS repository to work in a team e Tkdiff compare two files and see differences 19 22 toys 1 1 This plugin allows to use several external Tcl Tk toys e Tkfont displays the available fonts on the system Unix only e Tkgamma change the gamma of the screen Unix only e Xcolors display X colors Unix o
16. ZUNMEQ INFO to LWORE is issue The result is displayed in the interactive search terminal The user only has to click in the search terminal to open the file and set the cursor at the corresponding found line In the terminal the string matching the pattern is displayed with a special color here in red so that the result of the search is obvious for the user ex Search LD Business Yapa Project l Open in editor ass Save to log Clear L Busii Close Close all The content of the search terminal can be opened in the editor as a regular plain new text so that the user can modify the text make new searches filter the result etc It can also be saved into a log file so that it can be sent by email to a colleague etc The Clear command simply deletes the content of the terminal all Search in files are filling that terminal which content can become large after several searches are made 74 CHAPTER 11 SEARCH AND REPLACE 11 6 Search terminal popup Search parameters String call Directory LD Fusiness Tapa Project 1l 5 Librairies Test lspack 3 1 l SEC File pattern Match case 0 Match word O Subdirectory search 1 Number of files matching file pattern 1346 n g An abstract of the Search in files options is displayed in the terminal 11 7 Filter F Pattern File pattern Filter in Current test Filter options Rem
17. a wuit complex algorithm which is heavily tested A specific fortran 90 auto indent algorithm is available Auto indent is also available for Tcl and txt files Moreover the following features are available for fortran source code e Commenting uncommenting source code e Upcase downcase capitalize keywords of a source code file 18 CHAPTER 12 EDITING SOURCE CODE Chapter 13 Text Editing This section discuss the features which allow the user to process texts Thanks to the rich set of features provided by the underlying langage on which the editor was built Tcl Tk the editor provides many features to process texts For example the editor provides unlimited undo redo allow to justify texts or to upcase or downcase a selected region These features are useful when writing simple text notes or when managing long data files 13 1 Unlimited undo redo Undo I Otel test26 f91 Redo moa Lindo all Files Redo all Redo all Files There is no limit in the undo redo feature One can also undo redo all modifications in one text Furthermore on can undo redo all modifications in all texts 13 2 Modified file e ansi2knr c T test scanT cl 1 0 tcl test26 90 When a text is modified a red ball is displayed at the left of the name so it is easy to know what are all the unsaved texts 19 SO CHAPTER 13 TEXT EDITING 13 3 Quit with unsaved files f Close buffer x 72 The File 0 Busin
18. automatically opened The browse pane is filled with three tabs Directories Elements and Resources 54 CHAPTER 7 DATABASE MANAGEMENT qah u A nm IM Oo Directories Elements Resources chdsqr f cobbrd f egbcon egbequ t IS CGBEQU cabrts f cobsv f The Directories widget contains a tree with an explorer allowing the browse for directories and files y Li 1 m Directories Fe Elements Fi Resources Filter Type FUNCTION r M ame 1 Case 7 Matching Elements The Elements widget contains a list to display the elements of the project sub routine function etc The user can type a name pattern in the entry By default the entry appears empty for performance reasons If the pattern types the list is updated with all the matching elements The user can in fact any string pattern that the elements must match For example the string c would correspond with the list of all elements starting with the c or C letter This filter can take the case into account That is to say that if the Case checkbox is ON and that the c letter is in the entry then the elements starting with the downcase c letters will match but not the elements starting with the upcase C letter Note that the list is updated everytime the user enters letters into the entry 7 2 HOW TO USE A DATABASE 99 Directories gt Elements Resources
19. backup Files ae Delete old trash files 60 days Copy File Recover backup Rename file History Properties F Keep only recent backups Environnement Trash old backups 60 days Files are automatically backuped whenever they are opened saved and closed The Recover backup feature in the File menu allows to recover any backuped file 9 2 Recover a backup 2 Computing list of original files among 11066 backups Done 77 00 00 08 Remaining 00 00 02 The command behind fhe File gt More gt Recover backup allows to see and get all backups associated with a given file When the user wants to recover a backup the software computes the list of original files for which backups are available 67 68 CHAPTER 9 HOW TO RECOVER A BACKUP 9 3 Select the original to recover Select the file to recover tartuffe moliere15 txt tartuffe moliere1 6 tut tartuffe moliere 7 tet tartuffe mollere 13 txt tartuffe moliere1 9 tet tartuffe molerez tat tartuffe molierez0 tat tartuffe moliere 1 tat tartufte mollere 22 Ext tartuffe molerez3 tat tartuffe moliere24 txt tartufte moliere25 twt tartuffe molere26 tet tartuffe molerezr txt tartuffe molere2d tet tartuffe moliere23 tet tartuffe moliere3 tst tartuffe moliere30 tet tartuffe moliere31 tet tartuffe mollere32 txt The user then select the original file to recover in a list box and clicks Next 9 4 S
20. entry allows to define the file pattern The Case checkbox allows to set the file pattern that the files must match se Outline Customize Update Insert list mysubzs_1 mysube5_7 mysube5_3 mysube5_ 4 IP ret When a file from the database is opened the Outline menu contains the elements found in the file When the user clicks in the menu the cursor is set at the line corre sponding to the starting of the definition of the element use precision mslib use longueur_chaine Edit precision_mslib eL L definition Ass mrepisdi Search amp replace precision_mslib implicit none ma P Search precision_mslib in source Cut E E d E ype moas e reto Copy utile pour tol Paste sequence Undo integer Feda du integer Browse integer character len pm message 2 message message When editing a file in the project the user can right click on an element which is in the database In the example shown above the user right click on the string precision_mslib which is a module used by the current module The popup windows which appears allows to edit the module precision_mslib which means that the file containing the module precision_mslib will be opened if it is not allready opened then the cursor will be set at the starting of the definition of the module precision_mslib This allows a fast navigation into the project But there is more fea
21. home username yapakit An option is to delete also the backup and trash directories where Yapakit may have created backup files or moved trashed files This may be particularily useful espe cially for the backup directory because it may contains a lot of files each one being a backup of a particular state of the files you edited with Yapakit 4 4 Protection of Yapakit The source code of the software is protected by several techniques which should make at least difficult the task of reverse engineering it even with the uncrypted source it is not allways obvious to reverse engineer my own source code anyway In particular it uses a Tcl Compiler which produces a bytecode directly usable by the Tcl interpreter 4 5 Time limitation Yapakit is in a beta state and many releases are to come with bug fixes and new features The current rule is that a release cannot work more than 180 days after it was created The time limit forces the users to go back to the Yapakit website to see if some new release is available Because Yapakit is in beta state more features and bug fixes are to come in the next months If you try to use the editor beyond the time limitation you will get a message like the following 4 6 LICENCE KEY 37 MN Error in startup script Time limitation expired at Sat Oct 27 00 00 00 Paris Madrid heure d t 2007 Go on the website to check out some new valid license key or release while executin
22. lowing default association is done between the file extension and the file mode Ci ch e CPP cpp 19 6 mode elisp 1 0 This plugin gives the highlighting feature of Emacs Lisp source code to Yapakit The following default association is done between the file extension and the file mode e elisp el 19 7 mode gnuplot 1 0 This plugin gives the highlighting feature of Gnuplot scripts to Yapakit The following default association is done between the file extension and the file mode e Gnuplot gp 19 8 mode java 1 0 This plugin gives the highlighting feature of Java source code to Yapakit The following default association is done between the file extension and the file mode e Java java 19 9 mode linker 1 0 This plugin allows to parse messages generated from linkers like Id Messages like un defined reference to are captured by Yapakit in such a way that the user can click onto messages and the editor opens the corresponding file and sets the cursor at the right position 19 10 MODE MAKEFILE 1 1 113 19 10 mode makefile 1 1 This plugin gives the highlighting feature of Makefile files to Yapakit The following default association is done between the file extension and the file mode e Makefile makefile Makefile Tabulations plays a special role in Makefiles The user should not use the keyboard key Tab to insert a tabulation into Makefiles because tha
23. n i la T Display elements Display direckories files Display resources Go to next Go to previous Go bo first line Go bo last line Select Current element Info Make If the user has a set of fortran files in which he wants to navigate he can create a database file which will allow to browse into the directories files elements subroutine function etc The first step is to create a database file with the New db command ol 92 CHAPTER 7 DATABASE MANAGEMENT Rechercher un dossier Select your source directory C Businessi apa Project 1 5 Librairies Testilapack 3 1 1 lapack 3 1 1 The editor ask then the user to select a directory containing source code files This directory is typically the src directory of the project All parsable files in the selected directory and recursively in the sub directories will be stored into the database Fortran 90 and fortran 77 files can appear in the same project Enter the name of the new database Generated doc Generated database content Generabed doc src only lapack db lapack 2 0 db lapack 2 1 db lapack 2 2 db lapack 2 3 db lapack 2 3 srconly db Nom de fichier apack 2 4 db Type database files db Annuler The user is then asked to enter the name of a database file The editor suggests a name which is the name of the last database opened The file extension is db
24. numbers in text widget ESA en oe et ee ROR EEO Oe eee DE sosa radar aia IE SUR bes alu HIS AO DOS e canso oia 13 12Upca88 downCsse sa sss nee Kaas a sa rasa DEI ee coros a bw 14 Shortcuts keyboard and mouse bindings 14 1 The Memb we De EKER RH an Do 6 D ae 1 EROS sacara aserrada arar E a E BLA EMOS osos rason eh ew eek 69 69 69 70 70 71 71 12 12 13 13 74 74 75 19 19 76 76 17 17 17 79 19 19 30 80 30 80 sl 81 sl 82 82 82 82 11 5 Openmg alle 2 9 2143 BA D a ne HERE HERES 86 Bi De eesse ee ee ee se tien 87 IV Fortran Features 89 15 Fortran mode 91 12 1 Pe IN costosas rra 91 ee ee 92 15 3 Fortran 77 SOUrCe IONOS u co owe eee CR ee ee OR SEY 93 15 3 1 Fortran 77 fixed format 94 15 3 2 Fortran 77 TAB format 94 Doge ROQUES s ssa c ke hm RA AS EEE ERAS HE KES 95 15 4 Fortran 90 element names 95 16 Distribution graphs 97 16 1 Understand lines distribution graph 97 16 2 Understand rates distribution graph 98 17 Convert f77 to F90 99 17 L Using tbe Converter a we sion se done Tes tes ares 99 17 2 Dample UE a Eee HHH Ee SESE wee Eee we OS 102 V Plugins 103 18 Plugins management 105 18 1 Dow toget pie ses odeso a hee HEE OES each 105 18 2 General Principles
25. step Rechercher un dossier xl Select your source directory D Business Yapa Project 1 5 Mouweau dossier sample src sample src Eu Librairies Output H Librairies Test Nouveau dossier 43 sample stc H dirt F dir 3 Pr sentations J TODO 1 leerte Guide hd The next step is to enter the name of the new database file Database files are containing all the informations computed during the analysis of the source files Their extension should be db This database file will be automatically loaded after the database is created It will also be available on disk for the next session Click on Save to go on to the next step 1 2 CREATING THE DATABASE 19 Enter the name of the new database Hes documents Nom de fichier tutorial db Type database files db Annuler Zi The editor then opens the New database dialog which shows the steps which will be processed for the database creation This dialog allows the user to measure the time needed for the database creation This time may be above 1 minute for large projects For the current project the process needs only a few micro seconds depending on your computer Click on Start to go on to the next step New database Step Time H M 5 T Find fles waiting ooo Parsing of files waiting f Parse directories aii Second pass Waiting afwarings wald f Dependenci
26. that interval This is done by using the math statistics histogram computation routine of TelLib The distribution is then displayed by BLT Chapter 17 Convert f77 to F90 The editor has a convert feature which allows to convert a set of files stored in a directory from the Fortran 77 fixed format source code into the free format Fortran 90 source code The features of this tool are the following e easy to use and simple graphical Wizard guides the user through the steps e convert a whole set of files in a directory and in sub directories e takes into account 2 Fortran 77 formats fixed or tab format e convert automatically from Fortran 77 comments to Fortran 90 comments e does not modify pre processing directives like ifdef for example e takes into account for continuation lines and use amp as the continuation Fortran 90 character e does not modify Fortran 77 labels so that GOTO statements can be used in the new Fortran 90 source code The current page contains a description of the Wizard which guides the user through the steps It contains also a demo of the tool in action The provided zip file contains a sample set of Fortran 77 files on which the user can test the conversion tool 17 1 Using the converter This feature can be found in the Tools menu under the Fortran sub menu 99 100 CHAPTER 17 CONVERT F77 TO F90 Fortran FF to F90 directory Once selected the f77tof
27. 0 This plugin gives the highlighting feature to text files to the editor The following default association is done between the file extension and the file mode o Text txt 19 17 notes 1 1 1 This plugin gives a simple way of storing everyday text notes The goal is to allow the user to lighten their memory and to give a fast and easy way of storing these thoughts It is some kind of Blog but with no formatting other than text The hypothesis is that one note by day is enough to store notes This plugin adds a Notes menu into Yapakit Notes are regular text files which file name contains the date of the day where the notes are written The user can define a directory in which all notes will be stored Notes gt Customize At startup all the entries in the Notes menu are disabled except the Customize entry This force the user to define the Notes directory which is a regular directory of your disk In the end this directory may contain 365 files if you write one note every day If this is the first note of the day the Notes gt Write note opens a new note If you allready wrote a note previously during the day the Write note normal behaviour is to open the note of the day The Note gt Open recent note opens the more recent note in fact the file which has the greater modification time The Search in notes features allows to make simple searches into the notes for example to remember what you did that p
28. 0 e tkevs 1 0 e toys 1 1 19 1 debugtcl 1 1 This plugin allows to debug a Tel project with various Tel Tk tools These tools remain the property of their respective authors This plugin offers facilities to e check Tcl syntax of one script with Frink and TDK checker e check Tcl syntax of one directory with Frink and TDK checker e debug a Tel script with Tkinspect or RamDebugger e open the Tcl Console e execute Tcl unit tests It includes the following tools e Frink 2 2 2 patch level 4 in source and binary form for Linux Sun Solaris Sparc and Linux e RamDebugger 5 3b e Tclunit by Bob Techentin October 24 2005 e tkinspect 5 1 6p10 This plugin adds the Debug Tel entry in the Tools menu of Yapakit 19 2 GAMES 1 1 111 19 2 games 1 1 This plugin allows to play with several Tcl Tk games These softwares remain the property of their respective authors This plugin adds the Games entry in the Tools menu of Yapakit 19 3 insert 1 0 This plugin offers several facilities to insert texts templates and special characters into Yapakit This plugin offers facilities to e insert the current data your Name your E Mail into the current text insert the content of another file into the current text e Tcl Tk templates into the current text Fortran 90 templates into the current text e Makefile templates into the current text Yapakit bug report and feature request templates e special character
29. 90 dialog appears This Wizard will guide you through the steps The first step consists in selecting the directory to convert This original directory will not be modified Instead a new directory will be created by making a copy of the original directory The conversion will be performed onto the new directory Once the directory has been set click on Next s Convert from f77 to 90 Directory Set the directory to convert This directory will be unmodified Instead a new directory will be created with Y a k a K ji the same content Only the new directory will be modified D GAVE Ho modification are done to the onginal directory Fortran Editor f77 gt 190 The second step consists in setting the Fortran 77 file extensions The files matching that list of patterns will be converted Once the patterns are set click on Next 17 1 USING THE CONVERTER 101 eq F77toF90 Convert from ff to F90 Directory Setup the directory to convert and the fortran 77 files f extensions File extension patterns like Por for must Y a D a K ji be separated by a blank space fin FFF SFP for FOR Fortran Editor f77 gt 190 The last page of the Wizard is the logger To begin the conversion click on the Con vert button The text will be filled with the messages which indicate the progression of the tool Once the conversion is performed the user can click on the Save To Log button to sav
30. EAL REWIND RSHIFT SIGN SIGNAL SIN SIND SINH SIZEOF SNGL SQRT SRAND SYSTEM TAN TAND TANH TRIM WRITE STOP Fortran 90 standard library functions list is made of the fortran 77 standard library functions list plus the following ACHAR ADJUSTL ADJUSTR ALL ALLOCATE ALLOCATED ANY ASSOCIATED BIT_SIZE BTEST CEILING COUNT CSHIFT DATE AND TIME DEALLOCATE DIGITS DOT_PRODUCT EOSHIFT EPSILON EXPONENT FLOOR FRACTION HUGE IACHAR IAND IBCLR IBITS IBSET IOR ISHFT ISHFTC KIND LBOUND LEN_TRIM LOGICAL MATMUL MAXEXPONENT MAXLOC MAXVAL MERGE MINEXPONENT MINLOC MINVAL MODULO MVBITS NEAREST NOT NULLIFY NUMBER_OF_PROCESSORS PACK PRECISION PRESENT PROCESSORS_SHAPE PRODUCT RADIX RANDOM_NUMBER RANDOM_SEED RANGE REPEAT RESHAPE RRSPACING SCALE SCAN SELECTED_INT_KIND SELECTED_REAL_KIND SET_EXPONENT SHAPE SIZE SPACING SPREAD SUM SYSTEM_CLOCK TINY TRANSFER TRANSPOSE UBOUND UNPACK VERIFY Fortran 90 or fortran 77 strings can be made of single or double quotes Fortran 90 comment lines are beginning with a line is considered as a comment 99999 but everything after a ona A fortran 77 line is a valid comment if the first string is one of the following characters Pc PC or the star character 15 3 Fortran 77 source forms There are two formats for fortran 77 language e the fixed format is the standard e the TAB format is an extension of the fortran 77 norm Although the TAB format is no standard fortran it is accepted by many compilers gf
31. Filter Type FUNCTION Name ALL Case PROGRAM ase FUNCTION MODULE F COINTERFACE The user can select the type of the elements searched PROGRAM FUNCTION SUBROUTINE etc Filter a Type FUNCTION r M ame 1 Case 7 Matching Elements If the user right click with the mouse located in the Elements pane a popup appears with 3 commands The Close command allows to close the current pane The Close all command allows to close all the panes at the same time The Export command allows to export the content of the pane into an image file f Image format x da Choose the file output format Cancel Postscript Gif Jpeg Pra The user can select the file format between Postscript Gif Jpeg or Png so that a report can be easily filled with pictures generated by the editor 56 CHAPTER 7 DATABASE MANAGEMENT os y da A Y Directories Elements Resources Filter Mare 1 Case Matching F caxpy f Do Business apa Project 1 5 Libraines Teztilapack 3 1 1BL45f5RE F coopy t D Busness apa Project 1 5 Libraines Test lapack 3 1 1 BL45 SAC cdotc f D Business r apa Project 1 5 Librainies Test lapack 3 1 1 BL45 SRC cdotu f D Business r apa Project 1 5 Libraines Test lapack 3 1 1 BL45 S RC F cobmy t 0 Businessyapa Project 1 5 Libraines Test lapack 3 1 1 BLA5 S5AC The Resources allows to display the list of files of the project The
32. H M 1 Close Close all The text content of the terminal can be opened in the editor and edited and printed afterwards like any other text 14 4 Browsing When browsing a database the tree is responding interactively with actions of the mouse The left button will open the tree if the user points on the cross and close the tree if the user points on the minus If the user clicks over a directory or file the report corresponding to the directory will be displayed 86 CHAPTER 14 SHORTCUTS KEYBOARD AND MOUSE BINDINGS ATENAS TAIAAT Directories Elements Resources 4 D Business Yapa Project 1 5 Nouveau dossierfsample 1C newF ile tat 1 14 5 Opening a file When the user executes the command Open file a dialog box appears The following shortcuts are avalaible e TAB focus the next button in the dialog box e Esc close the dialog box e Enter open the selected file Select the file to open xl Rechercher dans lapack 3 1 1 do E m Er EJ lapack 3 1 1 2ip Nom de fichier Favoris r seau Type A Files r Annuler EA Java Files aval Makefile Files makefle Makefle Perl Files pl Python Files py Relaxation Files tst Scilab Files sce 201 Shell Files Foch ksh sh tesh Tel Files itcl tk tt test 14 6 FILLING ANENTRY 87 14 6 Filling an entry One can use the classical cut copy and paste thanks
33. INDENT FORTRAN 17 12 1 4 Syntax highlighting for C C if ET3 KEY include filed h gt f else include lt file5_h gt endif felse comment f Otherwise do it the hard way extern char malloci wy comment extern void freeltj wy comment extern char malloct extern int freet fendii 12 1 5 Syntax highlighting for Makefile AUX README COPYING ChangeLog Makefile in mskefile pc configure configure in tar texinfo tar info texinfo tex tar h port h opens h getopt h regex h rmt h rmt c rtapelib c alloca c mod dir h msd dir c tcexparg c 4 level O lerel 1 backup specs testpad c H E End of system configuration section F all tar rot tar into tar OBJIS FICC FILDFLACGS o 0 0BJS1 5 LIES If the automatically selected mode is not correct the user can manually highlight a source code with the mode he wants with the Tools gt Hightlight current text command 12 2 Auto indent fortran Automatic indentation is provided for fortran 90 and fortran 77 source code The auto indent feature of the fortran 77 takes into account all the following partic ularities of the Fortran 77 language e comment lines are never indented e pre processing lines are taken into account e continuation lines are taken into account e labels are taken into account e source code blocks function subroutine program if do etc are indented The algorithm is based on
34. IT LICENSE AGREEMENT Please read carefully THIS IS A LICENSE AND NOT AN AGREEMENT FOR SALE By using and installing YAPAKIT or where applicable choosing the I AC CEPT option at the end of the License you indicate that you have read understood and accepted the terms and conditions of the License IF YOU DO NOT AGREE WITH THE TERMS AND CONDITIONS YOU SHOULD NOT ATTEMPT TO INSTALL the Software If the Software is already downloaded or installed you should promptly cease using the Software in any manner and destroy all copies of the Software in your possession You the user assume all responsibility for the selection of the Software to achieve your intended results and for the installation use and results obtained from the Software This Yapakit License License is made between Micha l Baudin as licensor and you as licensee as of the date of your use of the Software the Software is in use on a computer when it is loaded into the RAM or installed into the permanent mem ory e g hard disk or other storage device of that computer This License reflects Micha l Baudin s intent to retain full ownership of and control of the use and distribu tion of Micha l Baudin s Yapakit the License Key as here inafter defined and other applicable software collectively the Software 1 License Grant Subject to the terms and conditions of this License Micha l Baudin grants to you a personal non exclusive no
35. NCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OR CONDITIONS OF MER CHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE SOME JURIS DICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES IN WHICH CASE THE ABOVE EXCLUSIONS MAY NOT APPLY TO YOU 8 LIMITATION OF LIABILITY Micha l Baudin WILL HAVE NO LIABILITY OR OBLIGATION FOR ANY DAMAGES OR REMEDIES INCLUDING WITHOUT LIMITATION THE COST OF SUBSTITUTE GOODS LOST DATA LOST PROF ITS LOST REVENUES OR ANY OTHER DIRECT INDIRECT INCIDENTAL SPE CIAL GENERAL PUNITIVE OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OR INABILITY TO USE THE SOFTWARE IN NO EVENT WILL Micha l Baudin S TOTAL AGGREGATE LIABILITY WHETHER IN CONTRACT INCLUDING FUNDAMENTAL BREACH WARRANTY TORT IN CLUDING NEGLIGENCE PRODUCT LIABILITY INTELLECTUAL PROPERTY INFRINGEMENT OR OTHER LEGAL THEORY WITH REGARD TO THE SOFT WARE AND OR THIS LICENSE EXCEED THE LICENSE FEE PAID BY YOU TO Micha l Baudin FURTHER Micha l Baudin WILL NOT BE LIABLE FOR ANY DELAY OR FAILURE TO PERFORM ITS OBLIGATIONS UNDER THIS LICENSE AS A RESULT OF ANY CAUSES OR CONDITIONS BEYOND Micha l Baudin S REASONABLE CONTROL 14 Part I Tutorials Chapter 1 Tutorial Navigating in Sample Project The goal of this tutorial is to show to the new user the basic process to navigate into a Fortran project In this tutorial you will learn e how to create a database for the project e how to navigate in the
36. O 0 153 LOWER LSiMEf UFLO L 1 190 IFi MOT_LSAMEi UPLO U _ANG _NOT_LOWER y THEN 131 INF 1 192 ELSE IF M LT_O y THEN 1393 INFO Z 194 ELSE IF ECVYT LT O THEN 135 INFO 3 136 ELSE IF NRO LT 0 THEN 197 INFO 4 198 ELSE IF NCC_LT O THEN 12 1 2 Syntax highlighting for fortran 90 The syntax highlighting feature of the fortran 90 is based on a complex algorithm which takes into account all the following particularities of the Fortran 90 language with dif ferent colors free format is taken into account e comment line and in line comments are colored e pre processing lines are colored e strings between r characters are colored e keyword and standard library items are colored separately e everything after the 132 th column is colored Character len pm longueur info utilisateur info _ utilisateur 4 B Fichier MSLIE mr_JZ000_EquaMoy f90 derniere modification WE_Z We pas toucher a la ligne suivante 12 1 3 Syntax highlighting for Tcl m Results PBeturns l if the extension matches O otherwise proc pkg compareExtension fileName ext d global tel platform if fert eq set ext info sharedlibextensicn if tol platform platform eq windows return string equal nocase file extension fileName ext else Some unices add trailing numbers after the f0 su f we could have something like so l 2 set root fileName 12 2 AUTO
37. This view as other views in fact can be closed with a right click This opens a popup window which allows to Close the current pane or Close All panes Note that these views can be re opened since they are available in the Database menu of the editor You should not worry about the generated error in the analysis it is on purpose to display the possibilites of the analysis 3 Directories Elements _ Resources amp D Business Yapa Preip F modules 90 Analysis of the directory 1 My Funcl D Business Yapa Project 1 5 Mouveau dossier sample src a la nn A a RE f 4 IMPLICIT NONE Warnings E MODULE myModule2 never used module 905 6 Variables d entree SUBROUTINE mysub25 3 never called test25 f 7 PEAL 3 INTENT in rho chi SUBROUTINE mySuh25 4 never called ftesti5 f 5 SUBROUTINE myModule3 myFunc5 never called modu a gt CONpABE 25 Line 5 is containing a Tab modulet 90 Line 6 is containing a Tab modulet 0 Line is containing a Tab moduled fol FUNCTION mylMloduletromyFunc never called modules SUBROUTINE myModulezS omysubl3 1 never called te SUBROUTINE myModulezsomysubl3 2 never called te INTERFACE myModule 3 ormysub23 4fomystupid Interfa ayModulel3 omysub13 5 calls myModule 35 MTY SUB 2 myModwe23 2 uses the module WYMODULE4S which h Error myModule25 2 uses the module undefinedio du MODULE myModule23_
38. Time database Thu Jun 28 21 20 04 Database is up to date gt Ok Save To Log Export To Csy Allow to know whether a given database file is up to date or not thanks to the Check database command Update database x Step Time H M S a fa Cleandb waiting Empty wamings waiting Compute list waiting Parsefles waiting f Dependencies Waiting 3 Compute files to update Waiting 8 8 89 Parse dependent files Waiting Parse directories waiting Second pass waiting Qfwamings waiting Save database Waiting DT wating O Ok Save To Log Cancel Update a database with minimal processing When source code files are modified the informations stored in the database are not up to date anymore The database needs an update which can be done by this dialog box The database update is minimal in the sense that it does not need to parse the whole project but only the files which have been modified or created and the files that depends on that modified files Chapter 8 File Management 8 1 New file Hew Ext File Ctrl h New FAO File New FF File al Ctrl O pen Mew Ecl File Recent files Reload file Reload all nes Cela New des File New files can be created with the correct extension and mode f90 txt etc Open Ctro kh ga a ay Ae T SA aS GAS Recent files Empty list Reload file a T
39. Yapakit Fortran Editor Yapakit User s Guide Micha l Baudin 09 03 2008 Abstract This report is a User s Guide for Yapakit v1 0 The first part is a small tutorial for Yapakit The second part is devoted to the software support the portability of the editor is detailed and the installation process is fully presented The third part of this document is presenting the main editing features The final part of this guide is devoted to Fortran features Many Yapakit features are illustrated by an extensive set of screenshots Contents Introduction License I Tutorials 1 Tutorial Navigating in Sample Project 1 1 Getting the Fortran sources 1 2 Creating the Database 1 3 Navigation in the Project 1 3 1 The Directories View 1 3 2 The Elements View 1 3 3 The Resources View 1 3 4 Right Click Navigation 1 4 Global Analysis of the project IT Support 2 Portability 2 1 Supported systems 2 2 Yapakit StarP ck 2 2 asas 3 Known bugs O Unit IS ses ANSE 3 2 Known bugs 3 3 Known missing features 4 Installation LL Quek guide oa ce Lois esse 4 2 Yapakit Environment and Configuration 4 3 Uninstall Yapakit 4 4 Protection of Yapakit 111 10 15 17 17 18 20 20 21 22 22 24 27 29 29 30 31 31 31 32 415 Time lation s sx a
40. a eR a 30 to id III 37 III Editor Features 39 5 Overview 41 DeL Menu bar and tool BEE 2 ss zu a u 0 00 dun ss nern ne 41 Bill OO ee dav eee eeb ea 42 Dee Window Managing 4 4 bees eae os ee LEE PRE RE HD GH 43 ec ee ee a e ee 43 322 Malente osados osas aos 43 5 2 3 Browse pane 4 n de ses a ee ne 43 32 4 earch terminal de 00 u ha SER a 4 4 44 5 2 5 Recent files menu 44 ue CUS LL RS RNA Sn md EEK a 45 34 Inmternationalisati d s sa do a dm ee 45 Mes Ce Ee Eee ew ee 46 DO Yapakit stale 6 a a REE ed 47 out Automated tas en ee e 47 6 Execute Command 49 7 Database Management 51 7 1 Howto create a database 5 305 00 00 Fe du sua an 51 7 2 How to use a database nn nen 53 8 File Management 63 Me ee ee AAA eee oe 63 8 2 Renaming AUS s a o aowe s Be ee ow Be Ee ED Ge we a Hew 63 8 3 Files are not deleted 64 RM an cee ee ee ae a ame 64 85 DREI Tee 2 60 0 crasas keiner 65 8 6 Files properties eee OBO ma dan EERE GH HH EDO 65 8 7 Environment properties 44048486545 ben be wed oe 4 65 9 How to recover a backup 67 EL Automate DAC e sas rs 6644 bbws ee Shake ehe Eo 67 9 2 Re cover a BAT gt e s ssa saas Ee ee ee ee ee 67 9 3 Select the original to recover 68 9 4 Select the
41. a A daleld 23 modules eptodulazi 24 usa epica led De modal e procedure ayBubiz_l myBubiz_z Up to date inet Cokan 3 Disco ll Bures t apai Preah 5 Meer et le pereci nc del nd Mode 0 Overview In this section we describe the main graphical widgets with which the user can interact We first detail each zone of the editor s workspace The menubar and the 3 toolbars are also detailed Editor Workspace menu bar tool bars SC editor pane a browse pane LOGICEE E TOR METLE ep es terminal pane I ES EEE my odos Sais Tape VRR are erh LE PEU En status bar uns my alert ZI models pin i T4 BE EU A DB weile procedure my l wet F 2 F es J F F r x L a m E Yapakit workspace can be divided into several zones e The menu bar let the user access to the main features of the editor e The toolbar zone contains up to 3 toolbars e The editor pane lets the user edit the files e The browse pane contains trees which allow to dynamically explore the content of a Fortran project It can also contain listbox widgets which allow for example to display the list of files matching a given file name pattern e The terminal pane contains the result of the searches made by the user It can also contain the messages generated by the commands run in the editor Menubar and toolbar The top of the editor is containing the menubar and the toolbar
42. a Name module 30 Lines 46 Words 130 Characters 1127 Pages 1 Made fai SIZE 1 KE Type text Writable WES Time Sun Jun 17 12 58 54 Faris Madrid heure d t 2007 archive hidden o longname D Business rapa Project 5 Yapa dew devel testshlez proje readonly 0 T E Ok Save To Log Export To Cay Get information about the file date size number of lines words mode size etc 8 7 Environment properties f Environnement Properties i x Pa Date Thu Jun 28 22 59 28 Paris Madrid heure d Gi Tel system A tel interactive o tel version 0 4 tcl_patchLevel 8 414 tel library CT cl 6 4 14 Mbtcl 4 tel precision 12 Auto_path tem 0 C Documents and Settings Administrateur item 1 C Documents and Settings dministrateur item 2 C Tcl 8 4 74lib item 3 CET cl 8 4 14 lib tcl 4 item HA C Tol 8 4 141brtellb1 3 item 5 L Tol 8 4 14 1b tellb1 3 math Es IE Ok Save To Log Export To Law 66 CHAPTER 8 FILE MANAGEMENT Display the environnment Tel system operating system environment variables disk volumes The Tel auto_path global variable is a list of directories in which the Tel system automatically searches for scripts and packages Chapter 9 How to recover a backup 9 1 Automatic backup Backup file More Info trash directory Info backup directory Save Ctrl 5 Display trash files Save s s E Al Display
43. articular day You can insert a template note with Insert note template The Display notes features opens a pane in which the user can display all notes files or display only notes on a particular day The Properties menu entry opens a dialog box and display general informations about the current notes directory in which notes are stored number of notes file size and more 19 18 plotdata 1 0 This plugin is a naive attempt at displaying a data file with BLT widgets This tools adds the entry Plot in the Tools menu of the editor It allows to directly plot a two columns data file with either a X Y graph or a barchart The sample txt file located inside the plugin directory plugins plotdata 1 0 is a sample text file which contains two columns separated with a blank space The first line is 1 0 2 0 the second line is 2 0 4 0 etc If the user executes the Tools gt Plot gt Plot Graph one dialog box appears which asks for a data file If one choose the sample txt file a X Y graph is displayed 19 19 SPELLCHECK 1 0 115 19 19 spellcheck 1 0 This plugin allows to check the spelling of text files It adds the Check Spell entry in the Tools menu of the editor The check is done on the base of one dictionnary which is a simple list of words This dictionnary must be stored in a regular text file Two dictionnaries are provided with the current package
44. ate of conversion E Files en test dir nev files 2007 11 12 21 59 09 The following picture is the content of the original test dir directory which contains the three Fortran 77 files Nom Taile Type chdsgr f 23Ko Fichier F cgbbrd f 15ko Fichier F cobcon f 7ko Fichier F The following picture is the content of the new directory with the new Fortran 90 files Nom _ Type chdsar fa 24 ka Fichier F90 cabbrd F30 16 Ko Fichier F90 cabcon F90 ako Fichier F90 Part V Plugins 103 Chapter 18 Plugins management This section explains how the plugins are managed in Yapakit In the first section one details the general principles of this management especially the way of enabling disabling the plugins The next two sections describe the way that plugins are stored in the Yapakit directory structure and the content anatomy of one sample plugin One section detail how the plugins are loaded into Yapakit The last two sections focus on how to remove or add a plugin into Yapakit 18 1 How to get plugins The currently available plugins are available from the Download page on the Yapakit web site yapakitwebpage Download html For example the current plugins zip file is the following yapakitwebpage zip plugins2007 11 24 15 47 13 zip In the zip file is stored a directory containing all the plugins available as zip file again Installing a plugin simply consists in unzipping the corre
45. ces fs Masters F module f30 F module4 F90 F madule3 f90 F filel for Explore the file dependecies of your fortran files Display the masters or the slaves of a file the masters of a given file are those that the current file is depending on The dependencies are based on the call tree fortran 77 or fortran 90 and on use statements in fortran 90 60 File names mp_atn_LST 0 mz_humero_rauine Ti me_lyddane fai mz_val_code_r tour al me _brouner Fa me_eck_hech fai mMu_quat_3rot f390 rir tita F0 mwi car _kep_hyperb Fao mw car cir fai mw _car_cir_equa Pao rt car geod fai mr_Equabdoy_J2000 790 rr J2000_Equahioy 0 mw_eir_egua_car Pao myi_car_equa_ellis Pao mwi_car_kep_parab Hi rmt topo _E_car_sgd 190 mul_car_kep_ellip Fab mr_EquaWral_Equaloy fo muwl_car_equa_hyperh fan tmr_Equabdoy_Equallral fo mt car geac Hi mt topo H car sad 90 mw eir cartal hufmero_roufine_rrelik fan mr_Terlrai_Equalrai fan parametres _intemes_mslih fo mr_J2000_Tervrai F0 mr_Equatrai_Terrai fan CHAPTER 7 DATABASE MANAGEMENT Po Number of lines Display statistics of the project Display list of 30 largest files in the project x gt Name test project db UL Size 30 KB Type text script bin sh Writable Yes Time Thu Jun 28 21 20 04 Elapsed time for creation Acres 00 00 02 Elements statistics All 31 Program 1 Function 5 Subroutine 15 Cenved t
46. coffee In Yapakit the number of shortcuts is the least possible and each shortcut is the most classical possible If not the shortcuts are detailed here 14 1 The menubar Items in the menubar have one of their letters underline For example the F letter in the File menu is underlined If the user press Alt f the menu opens Then he can select 83 84 CHAPTER 14 SHORTCUTS KEYBOARD AND MOUSE BINDINGS one menu item by using the Up and Down arrow keys The selection of one command is done thanks to the Enter key The user can access to sub menus thanks to Left and Right arrow keys In the menu File the New command is followed by Control N which means that Control n is a shortcut for the New commmand File Edit Search Jools Data Hew Ext File Ctrl h New Open Ctra Recent files d Reload file Reload all Close Ctrl g Close all Display Files Trash file Backup file More Save Ctrl 3 Search Tools DataBase Ou Goto line F What line Search and replace Ctrl F Repeat search Ctra Search in Files iChrl H Filter 14 2 Editing The classical interactions with the keyboard are avalaible if you press a you get an a which I hope will not surprise you Special characters like or are available if your keyboard allows you to type these kind of letters The cut copy and paste actions are available through the following shorcuts e Control c c
47. current file is executable the directory is set to the directory name of the file and the command is set to the current file lf the current file is a makefile the directory is set tothe directory name of the makefile and the command iz set to make f makefile gt This dialog box allows to execute an external command The parameters of the command are the directory name in which the command is executed and the name of the executable f Execute command KAR x E Execution Directory r Command ftelsh all tal Suggest Cancel The suggest button allows to compute automatically the execution directory and the command in a given set of circumstances If the text currently displayed is an executable script the directory is set to the current directory and the command is set to the script If the current file is a Tcl script the same thing happens The execution directory and the command parameters are associated with an history 49 50 CHAPTER 6 EXECUTE COMMAND 0 Execution Directory D Business Convert Common l 7 optax m Command ls Makefile 9295 options Makefile generic Hake file qeneric expl Open in editor Hake file qeneric expz Save to log Make file qfortran Clear Hake file qfortran options Close Makefile objects Close all Makefile ohjects backup bone in H 1M 5 00 00 00 Directory D Business Conrert Common 1 7 optax m Command ls The result of th
48. directories the files e how to navigate in the elements subroutines functions modules e how to analyze the whole project with the global properties number of lines etc 1 1 Getting the Fortran sources The project used in the current tutorial is available as a zip file containing only Fortran sources It is available at the following web address http perso orange fr yapakit fortran tutorialNavigatingInSampleProject sample STC ZIp These sources have no special computational meaning they are only here for test pur poses Once unzipped you should get this directory tree AL sample src EH diri 17 18 CHAPTER 1 TUTORIAL NAVIGATING IN SAMPLE PROJECT 1 2 Creating the Database To create a new database go in the Database gt New DB menu 5 Data Base Outline Customiz A New DE E Open DE Close DE Recent DE Save DB Save DB as Mm Update DB Delayed creation of DB Delayed update of DE Check DE Delete DE Display elements Display direckories files Display resources Go to next Go to previous Go bo First line Go bo last line Select Current element Info Make Then select the sample src directory This is the directory containing the sources The directory may contain sub directories as in the current example The editor au tomatically searches sub directories for Fortran sources and include the files into the database Click on Ok to go on to the nex
49. e author of Yapakit me to get informations about 38 CHAPTER 4 INSTALLATION who really uses the software you not just who downloads it from the web site Since Yapakit is in beta state feedback from users will allways be welcomed Part III Editor Features 39 Chapter 5 Overview Yapakit is a Fortran editor The goal of this editor is to provide an integrated develope ment environnement for Fortran 5 1 Menu bar and tool bar File Edit Search Tools DataBase Outline Customize Insert Library Motes Help Se oOo seal ara Ra 2016 EE A El aL P AA AE Y w EE I The menubar contains the classical menus File Edit Search Tools Data Base Elements Insert Customize and Help The File menu is dedicated to file managing new file open file close file delete file rename file file properties and printing The Edit menu is dedicated to file editing cut copy and paste undo and redo and text modifications upcase downcase and capitalisation indentation etc The Search menu is helping the user to find and or replacing words or sentences in the current file or in multiple files User defined menus can be added thanks to the plugin mechanism Al 42 CHAPTER 5 OVERVIEW 5 1 1 Toolbars L ey 7 E E New DB be T E Close DB i gt AO Bad wo ca Directoris a Pr Undate DB Delayed creation of DE
50. e command is displayed into the Execution terminal which content can be edited saved or cleared During the execution the user can stop the process by clicking the Stop button 0 Execution gfortran I srce f30 COMMUN fonc I sre f 30 COMMUNY quidbf 1 MC Program Files g9 5 bin ar exe cr bin giortran optax a libo gfortran I src gt 0 COMMUN _ fonc I srce f30 COMMUN quidbf I Ci Program Files qg95 binfar exe cr bin fgtortran optax a 1libe gfortran I src f30 COMMUNS fonc I src f90 COMMUN quidbf I MC Frogram Files gebr binfar exe cr binsgiortranoptax a libo gfortran I fsre f30 COMMUNS _ fonc a0 a bet 9 fsre f 30 COMMUN s guidbf 1 TGE GOTO 100 l _ fsre f 390 idbi lectur idbf 30 324 11 100 ENT IF Z Warning Obsolete GOTO at 1 jumps to END of construct at 2 Run a makefile with the given arguments Make is associated with special tags which allow to open the file and set the cursor to the correct error or warning line location immediately Parsed messages for the following fortran compilers gfortran g95 intel fortran 7 1 and 8 1 pgi 5 1 Absoft Chapter 7 Database Management 7 1 How to create a database ils Data Base Outline Customize New DE Open DE Close DB Recent DB Save DE Save DE as Update DB Delayed creation of DB Delayed update of DE Check DE Delete DE ras Fl
51. e divided into two or more panes either horizontally or verti cally which authorizes to edit two files at the same time The Customize gt New pane command creates a new editing pane there is no limit in the number of pane which can be displayed although the graphical space is obviously limited depending on the screen of the user The Customize gt Delete pane command deletes the last pane In the general customize dialog Customize gt Settings gt General if the checkbox Pane horizontal is checked then each editing pane are inserted horizontally into the editing zone If the checkbox is unchecked then each pane is inserted vertically Why you should use Yapakit The following is a list of reasons to use Yapakit specifically instead of another editor or environment e It is free easy to install and easy to use e Navigate in a small or large gt 10 code lines Fortran project e Manages both Fortran 77 and Fortran 90 e senerates automatically an html documentation of your project e Convert your fixed format Fortran 77 into Fortran 90 free source code format e Helps the reverse engineering of an existing Fortran project e Generate Fortran 90 dependencies for inclusion in a Makefile takes module de pendencies into account e It can be used on Windows Linux or Sun Sparc Why you should not use Yapakit The following is a list of reasons not to use Yapakit Although these features are no
52. e the text into a logfile Once finished click on Exit 102 CHAPTER 17 CONVERT F77 TO F90 Ar XI Convert from f77 to 90 Directory Push the Convert button to begin the conversion The directory will be first copied then the fortran 7 files Ta a K matching the given file pattern will be converted and their D file extension will be modified FF Ftof90 package 1 1 Fortra n E d ItO r Tue Nov 1315 50 25 Paris Madrid 2007 Windows MT Original directory 0 Business apakit Project 1 5 2 telier test Fortran 77 file extensions fin FT SF A for FOR SF SF Getting date of the day New director O Businessyapakit Project 1 5 taler tests t Copying D Business apakit Project 5 2 teler tests plugin s Searching for fr Fe Pe for FOR SF fin Do Business tr Found 3 files Processing 0 Businessyapakit Project 1 5 2 amp tellertesterplug Processing 0 Businessyapakit Project 1 5 2 Ateler tests plug Processing D Business Y apakit Project 1 5 2 Atelertests plugi done Tue Now 13 15 50 26 Paris Madrid 2007 lt Back Save To Log Convert Exit 17 2 Sample use The following picture is a capture of the test directory for which a zip archive can be found at test dir zip You can use it to test the capabilities of the converter The tested files are extracted from Lapack As you can see in the picture the new directory containing the new Fortran 90 files is named test dir new files d
53. elect particular columns for all lines of one file there is no possibility to select specific columns for a given range of lines Of course the list of missing features is not complete and users are encouraged to contact the author to ask for missing features that they think would be worth to include Chapter 4 Installation This chapter is devoted to installing Yapakit on a computer This section contains a quick installation guide with a detailed list of the supported systems and the environment configuration needed to run Yapakit The environment configuration is presented in the next section along with the basic configuration of Yapakit itself The last two sections deals with Yapakit source code protection and time limitation 4 1 Quick guide Yapakit is currently available on the following operating systems win32 1x86 linux 1x86 solaris sparc solaris 1x86 hpux parisc aix rs6000 macosx These are the steps to go through to install and run Yapakit Identify the platform where you want to install and run Yapakit Send an e mail to yapakit fortran gmail com with Yapakit request for platform xxx as the subject You will get back your license key as a reply within a few hours Download and unzip the zip file containing Yapakit for your platform 33 34 CHAPTER 4 INSTALLATION e On windows double click on yapakit exe and enter the license key in the dialog e On Linux Unix platforms make
54. elect the version select the version to recover UU Thu May 31 23 50 02 Fans Thu May 31 23 50 02 Paris Thu May 31 23 48 00 Paris Thu May 31 23 45 48 Paris Thu May 31 23 38 76 Paris Madrid heure d t 2007 Madrid heure d t 2007 Madrid heure d t 2007 Madrid heure d t 2007 is Madrid heure d t 2007 is Madrid heure d t 2007 is Madrid heure d t 2007 is Madrid heure d t 2007 is Madrid heure d t 2007 Madrid heure d t 2007 Prey Copy to clipboard Save As Open Cancel The dialog then displays a list of backup versions available for the original file The content can be copied to clipboard for direct insertion in another file saved as another file or directly opened Chapter 10 Printing 10 1 Export to pdf Cii IT QT PET I Print Printing Properties The user can export the source code into formatted or unformatted pdf files Unfor matted pdf files are simple pdf with no special layout In formatted pdf files the editor uses a different font for comments for keywords for standard library functions and for strings 10 2 Printing with Unix Linux Under the Unix systems one can visulalize the file before printing it thanks to a cus tomized postscript viewer gv for instance Under unix the printing system is based on the a2ps and lpr commands 69 70 CHAPTER 10 PRINTING 10 3 Printing with Windows f Windo
55. es plain left right center The user can also see invisible characters such as blank spaces or tabulations The search and replace dialogs have been made has powerful as possible The search and replace can be done on one file or several files in one time Regular expressions are taken into account The filter dialog allows to remove or keep only lines matching a given pattern The Search for files dialog allows to display the files with several sorting methods by name by date by size or by file tails Fortran Project Views Yapakit offers four main views all of which can be exported into picture files for inclusion in reports The Directories view is a tree which allows to browse throw the directories and the files of the project It also allows to navigate into files with the details of the content of the files subroutines functions modules etc The Elements view is a list box which allows a fast navigation in a project made of a large amount of subroutines functions or modules The user only has to set the first letters Yapakit compute the list that match that letters The Resources view is a list box which allows a fast navigation in a project made of a large amount of files The system is the same that the Elements view but for files The Outline view is a tree which allows to browse the content of the current file The user can then navigate throw subroutines or functions and can set the order of apparition of the ite
56. es aii Save and open db Wating Total ai Ok Save To Log Cancel Once the database is created all buttons are green and the right side of the panel indicates the measured time for each step The content of this dialog may be saved into a log file For now it suffices to click on Ok to go on to the next step f Mew database Step Time H M 5 Sai TE alPasrootes lboentomo lSecord pass Done mh OOOO Elan e AT Ok Save To Log Cancel 20 CHAPTER 1 TUTORIAL NAVIGATING IN SAMPLE PROJECT 1 3 Navigation in the Project 1 3 1 The Directories View After creating the database the editor automaticaly creates 3 views Directories Ele ments and Resources The editor should then look like the following screen capture 3 Directories Elements Resources EH sample sre The first thing you might want to do is directly navigating into the project To do this left click on the sign at the left of the sample src directory This allows to open the sub directories Left clicking again on dir1 then dir4 then module f90 allows to see the content of the file without opening it do e Sn I iF 3 Directories EE Elements a Resources 4 D Business Yapa Project 1 5 Nouveau dossiersample sre u newF ile tat l HH sample src The M at the left of myModule is because the editor knows that myModule is a module F corresponds to a func
57. ess Yapa Project 1 5 Yapa dev devel tests files test26 30 has been modified Save it Mon Annuler The user cannot leave Yapakit with unsaved texts If he does so a dialog box allow to save unsave files 13 4 Content of selection f Selection PRIMARY content x ist occurence of mySub26_1 uses mySub2b_ 2 I the second not I Ifthe parsing of the called subroutines i done on the first l occurence tis mySub26_2 which it grabbed and mySub26_3 is unused TF the parsing of the called subroutines i done on the second occurence it 13 5 Copy and paste When copying and pasting one can see the content of the Clipboard and the content of the Selection The difference between the Clipboard and the Selection is a feature of the Tk library When the user selects a part of the text the selected string is copied into the Selection When the user use the copy command the string is moved from the Selection into the Clipboard This feature can be used when moving text strings between applications 13 6 Goto line 7 Gotoine ES I Enter line number u m j Cancel 13 7 LINE AND COLUMN NUMBER IN STATUS BAR 31 Put the cursor at the specified line number This is useful when a compiler report a problem for a particular line number this feature can be useful 13 7 Line and column number in status bar 2 to date Line 23 Column 23 Direct T
58. ext Editing html Reload all ue Source Code Editing html Close Ctrl g Er Close all Shortcuts and Keyboard _ Mouse Bindings hkml Search html Display Files Na Printing html Trash file Operating System and Portability html Backup file License html More Libraries html File Manaoement htnl Recent files are listed in the file menu and can be opened from one session to another 8 2 Renaming a file x Enter new file name develtests tles project ste di dir4 module tad amp crea 63 64 CHAPTER 8 FILE MANAGEMENT 8 3 Files are not deleted Close all Display Files Trash file Backup File More Save Ctrl 5 Never delete a file they are instead put in the trash directory In the trash directory the files are managed so that they are never deleted but renamed instead for example if you trash two files with the same file tail In fact in the editor there is no way to directly delete a file from the disk Instead the editor allows to automatically remove files which are older than 60 days In fact this cannot lead to space problems because files generally edited by hand are small in size relatively to the space available on modern disks Backup file More Info trash directory Info backup directory 5 Ctrl s avs Display trash files Save 45 i Al Display backup files Delete old trash files 60 days Copy File Recover backup Rename File His
59. g error errmsg procedure editor slicenseCheck line 11 invoked From within editor licenseCheck procedure editor setup line 111 invoked From within editor setup rootdir invoked From within set isvalid editor setup rootdir eval body line 8 invoked From within Compiled no source code available error called a copy of a compiled script invoked From within Ebcload bcewal 4 TclPro ByteCode 201 7 6 4 3022600240533 1 1 22 WOE lt 1 H8s 0un9w yTw411qw 411 3 log 3 mi BL eval body line 4 invoked From within Compiled no source code available error called a copy of a compiled script invoked From within Ebcload bcewal 4 TclPro ByteCode 2 0 1 7 6 4 3022600240535 1 1 22 WOE lt 1H8s Dundw yTv411 013811 3 a 3 Di In that case simply go back to the web site and download an up to date release 4 6 Licence key The following dialog appears at the first startup of Yapakit which asks for a new user name and license key Enter a valid license attempt 41 10 fx Ok Cancel The field User is meant to be the name of the user but is not mandatory The field Key is the licence key provided by the author of Yapakit by email This software cannot start without a valid license key To get a valid license key simply send an email to yapakit fortran gmail com with Yapakit request as the subject The goal of this feature is for th
60. he current line and column is displayed in the status bar It is updated every time the user move the cursor 13 8 Line numbers in text widget context The fi the sei If the occur EI If the occur el What In all 14 module m The line numbers can be displayed at the left of the text This feature is available from the Customize gt Line numbers menu 13 9 Justify lines CORINE Vraiment je ne sais pas si c est un bruit qui part Le quelque conjecture ou d un coup de hasard Mais de ce mariage on m a dit la nouvelle Et j ai trait cela de pure bagatelle DECON Quoi donc la chose est elle incroyable CORINE A tel point Que vous m me Monsieur je ne vous en crois point The commands in the menu Edit gt Justify gt Justify text to allow to justify the selected text or lines to plain left right or center When the justification is done the selected region is then considered as a single string The commands in the menu Edit gt Justify gt Justify lines to allow to justify all lines of the selected region where each line is justified separately 82 CHAPTER 13 TEXT EDITING 13 10 Fill text l Apres avoir tudi le sommeil il faut passer aux r ves et rechercher d abord quelle partie de l me se montre le r ve Est ce une affection de l entendement ou de la sensibilit les deux seules parties de notre tre qui nous fassent conna tre les choses
61. his Yapak t was not available on the platforms where BLT was not available Yapak t is now based on the Plotchart package part of the Tklib project a work of Arjen Markus 2 2 Yapakit StarPack Yapakit is released as a Tel Starpack and the goal of this section is to describe how this starpack is made The Yapakit editor is available as a system specific executable and a set of addi tionnal directories The Yapakit executable contains a Tcl Tk interpreter the Yapakit packages and a set of additionnal packages all of which are stored in a virtual file sys tem Therefore the user does not have to get an existing Tcl Tk system installed on the target system to run Yapakit This feature is known as a Starpack in the Tcl community The executable was created with the TclApp software a part of the Tcl Dev Kit of Active State Chapter 3 Known bugs 3 1 Unit tests This software has been developped using a methodology based on testing The 500 unit tests are run on each release More than 1500 source code and text files are under test in the test database This is no a guaranty for a software without bugs but is a guaranty that every detected and fixed bug will be consistently fixed in next releases Such a software would not be possible without a unit test database The Tcl package tcltest is the base of the unit test framework 3 2 Known bugs Although an effort has been made in order to produce a software as free of b
62. ibility of interrupting the process when desired 11 1 Search amp Replace Dialog box x Cane Search rcs g Replace with src imagess el Directory D Business Y apa Project 1 5 2007 06 24 Yapa dx File pattern Eha ef Search options Match case Restart from beginning Match word Match line Regular expression Replace in Current text Opened files Files in directory C Recursive Replacements o lt lt Previous Replace Replace All Dismiss The Search amp Replace dialog is mainly interactive and allows to search for a string in the current text If the Opened files options is chosen only files allready opened in the editor are processed If the Files in directory option is chosen only files directly in the chosen directory are chosen If Recursive option is chosen all files in the chosen 71 12 CHAPTER 11 SEARCH AND REPLACE directory and recursively in all subdirectories are processed These search and replace algorithms and especially the last one are tailored so as to be efficient when large amount of data is processed The Recursive option which is only partly interactive has been optimized on set of files which contain more than 500 files if one file is modified after a replacement is done the new file content is saved and then closed so that the editor has only a limited number of opened files at one t
63. ime 11 2 Search options Search options Match case Restart from beginning l Match word l Match line Regular expression Allow to take or not to take the case into account to match a single word a single line or even a regular expression 11 3 Search in files f Search in files x A Search all Directory 0 78 uainess Yapa Project 1 5 Libraines Test lapac r File pattern html y Search options Match case T Match word Match line Regular expression M Search in subdirectories Files visited 0 Files matching 0 String matching 0 The Search in files dialog which is not interactive allows to search for file contents on a larger file set that the Search amp Replace dialog The results are displayed in the Search terminal in the terminal pane located at the bottom of the editor 11 4 SEARCH IN FILES PROGRESS BAR 13 11 4 Search in files progress bar 7 Weit ES ig Searching E Done 91 00 00 40 Remaining 00 00 03 When the search in files process is running a progress bar is displayed so that the user is informed of the current state of the search process and can stop it if it is too long an error has been made on the search etc 11 5 Search terminal I Business Yapa Project 1 5 Librairies Test lapack 3 1 1 5RC 2unmrq riS EXTERNAL HEPBLA ZLARFE ZLARFT ZUNMFE 178 CALL EPELA
64. isplay the list of files begining with m type m in the Name field of the filter and the editor automatically updates the list of files matching the m file pattern iwa ET A er A A SE Directories 2 Elements Resources 4 D Business Yapa Proj F moduleS f90 Filter 1 i ir Tonei Mame Ir SUBROUTINE myFuncllirho chi Case 7 Al 4 IMPLICIT NONE To 5 Matching 6 Variables d entree j T REALiS INTENT iin rho chi F module t90 D Business rapa Project 1 5 Nouveau dossier sample src a F module2 F30 D Business Y apa Project 1 5 Nouyveau dossier sample src 3 Compute 10 module3 t90 D Business Y apa Project 1 5 Nouveau dossiersample sre F module4 190 D Business r apa Project 1 5 Nouveau dossier sample src F module5 P90 O Business Y apa Project 1 5 Nouveau dossier sample src 11 END SUBROUTINE myFuncll 1 3 4 Right Click Navigation While editing the module f90 file you should see that myFuncl calls the subroutine mysubl2 at line 37 From there set the cursor on the mySub12 string with a left click and right click on your mouse This opens a popup window which contains the Edit mySub12 command which if chosen directly opens the file filel for and sets the cursor at line 6 at the definition of the subroutine mySub12 1 3 NAVIGATION IN THE PROJECT 23 F module 190 REALIS 22 myFuncl I Variable interne
65. lank lines e the number of comment lines e the number of code lines The distribution associated with the blank lines is not displayed For example con sidering the number of lines distribution if there is a point with x 1000 lines and y 50 97 98 CHAPTER 16 DISTRIBUTION GRAPHS files this means that there are 50 files which contains around 1000 lines The distri bution is computed by identifying the minimum and the maximum number of lines or code lines or comment lines in all files This range is divided in 100 intervals Then for each interval we count the number of files which fall in that interval This is done by using the math statistics histogram computation routine of TclLib The distribution is then displayed by BLT 16 2 Understand rates distribution graph A Cod mt 0 Comme rt rate Bbik ae 2000 Humber of files _ N 50 100 Line Rate 561 The distribution is a x y diagram e on the x axis there is the rate e on the y axis there is the number of files which contains the corresponding rate In fact three distributions are displayed at the same time e the rate of code lines e the rate of comment lines e the rate of blank lines For example considering the code rate distribution if there is a point with x 50are 50 files which contains around 50distribution is computed by dividing the Ointervals Then for each interval we count the number of files which fall in
66. ly and are accessible with tabs in a notebook The text editing region may be splitted into two or more parts Panes are added and deleted when desired This allow to see differents parts of one file at the same time 5 2 3 Browse pane ei a pe 4 Directories Es Elements ial Resources cbdsqr At the left of the window a browse pane is dedicated to the analyse of the content of a database T he user can browse into directories files and elements of the database 44 CHAPTER 5 OVERVIEW 5 2 4 Search terminal Search 117 src images customise look prng gt br gt 156 src images dynamic help search png gt lt br gt Los src ilmages progress bar png gt lt br gt D Business Yapa Project 1 5Oser s Guide sPrinting html 9 lt div style text align Jjustitr lt img alt src L Business Yapa FProject 1l User s Guide earch html 9 lt div style text align justify gt lt img alt src D Business Yapa Project 1 5Oser s Guide ssShortcuts and Keybo 97 lt img alt src imaqes userquide barmer pnoa The bottom of the window is a terminal Results of the search in files and of the execution of a command are displayed in this terminal The content of each terminal tab may be deleted hidden or saved into a log file for future analysing 5 2 5 Recent files menu a cu a Open Chrl 0 pda ay AY ae aa oh Gh t I Recent files Empty list
67. ms in the list Fortran Specific Tools The focus has been mainly made on Fortran Yapakit can generate an html documentation of your fortran project This page al lows a static navigation throw directories files and elements of the project Furthermore the comments are automatically extracted from the source without any modification of the source itself and thanks to a customizable comment extractor algorithm Yapakit can display several figures which allows to get a global view of the project and its main features It allows to see the general properties of the project the largest files the smallest files the least commented files and the lines distribution by type of lines code comment blank These figures can be exported into several pictures formats for inclusion in a report Yapakit make the management of fortran Makefiles more easy It includes a de pendency algorithm which takes into account modules dependencies That data can be exported into a Makefile as well as a simple list of the objects files to generate Yapakit includes a f77 to f90 free format conversion tool which can be applied either file by files or to a collection of files stored in one directory including the sub directories 10 License Copyright C 2004 2007 Micha l Baudin All Rights Reserved Yapakit is trademark of Micha l Baudin All other products mentioned are trademarks or registered trademarks of their respective companies YAPAK
68. n transferable and limited license to use the Software solely to create compile test and deploy in source or object code form your own application programs Works Yapakit is authorized for use during no more that 180 days from the date of download or installation into your hard drive You may use the software on more than one computer or on a network so long as you are the sole user of the Software A network is any combination of two or more computers that are electronically linked and capable of sharing the use of a single software program You are not permitted to sell lease distribute transfer sublicense or otherwise dispose of the Software in whole or in part for any form of actual or potential commercial gain or consideration Yapakit can be used for personal commercial or non commercial use You may use the software in a teaching or learning environment You are not permitted to sell lease distribute transfer sublicense or otherwise dispose of the Software in LT 12 whole or in part for any form of actual or potential commercial gain or consideration Contact yapakit fortran gmail com to discuss any redistribution options not covered by this license agreement Micha l Baudin reserves all rights not expressly granted to you herein This clause is intended to protect the rights of Micha l Baudin s intellectual property and to prevent distribution of products that provide competitive functionality to the
69. nly e Tkwhiteboard an electronic whiteboard e Tkcolors display all Tk colors Chapter 20 Insert Plugin In this section details on the Insert plugin are given This plugin is like other plugins optional in the sense that removing it does not alter the way that the Yapakit core features behave f Customize Yapa settings x Ss Comments Developpement Ss Insert Html generation author name M ichael Baudin e mail ttisstoto com phone number on 02 03 04 project name Yapa Ok Default The user can insert the date e mail project name author name These options can be customized in the Customize dialog 117 118 CHAPTER 20 INSERT PLUGIN il Insert Library Motes Help Date Name E Mail Project name LU Eile content F30 program F90 subroutine F90 Function F90 derived type F90 module More F90 select case F90 do Io poe F90 do while Ta a ine F90 module variable Tel wish line Mare F30 module procedure F90 recursive Function Makefile Linux F90 recursive subroutine Makefile Windows F90 Function reference Yapa bug report Yapa feature request Special character Several templates for fortran 77 fortran 90 Tcl and Makefile can be inserted into the current file
70. ns 5 Fortools 5 insert 9 mode c II mode elisp ID mode Fortran C2 mode gnuplot 9 mode java 9 mode makefile 9 mode perl 9 mode python The plugins directory contains Tcl packages which are stored in directories There is exactly one package by sub directory 18 4 ANATOMY OF A PLUGIN 107 18 4 Anatomy of a Plugin The following picture shows the content of the mode perl plugin E mode perl tel 2Ko ActiweTcl Script ES pkgInde x tcl lko ActiveTcl Script The file pkgIndex tcl is the package index for the directory The file mode perl tcl contains the script of the plugin 18 5 How Plugins are loaded At the startup of the editor the list of all sub directories of the emphplugins directory is computed That list of directories is added to the Tel global auto_path variable so that Tcl knows that these directories may contain packages The name of the directory may be different from the name of the package This allows that the directory name may include a version number to makes the manual management of the plugins easy The editor loads the plugin by using the package require packagename Tel command Each plugin directory may contain one or several Tcl files and may contain sub directories in a way that is internal to the plugin The only requirement is that the pkgIndex tel located at the root of the plugin directory defines the list of Tel scripts to source in order to load a
71. of this editor is to provide an integrated development environment for Fortran projects It provides a tool to ease the navigation into the Fortran basic units function subroutine derived type etc which make a project The target projects are Fortran 77 and Fortran 90 from small projects lt 10 000 lines of code to large size projects gt 1 000 000 lines of code The current state of this editor is experimental and should be considered as a beta version The goal of this chapter is to provide an overview of the current features of Yapakit In the first section we describe the main graphical widgets available the main one being the editing pane Then we give reasons why to use Yapakit and reasons why not to use Yapakit In the 4th section we describe the main features of Yapakit and in the 5th section we describe the features designed specifically for Fortran Fle Ed Search Took DatsBsse COstomke Insert Library Notes Helo Hegeeoasal rr dnd a 01 BEBE er 442 HUF Mase Y iO Tal targ da Deectoses Jelemere Resouces Firoki F meda Coit l Con E I Comment j MOLE syflodulaz TRTEGER DIREMSTON aila ALL LELE PRECISE DIRT HELE PRECISION DIHERSTON i HALE PRECISION DIMENSION LOGICAL DIMEMSIOW ALL Lo laxo MCCULE myitodaled E AS r 42 EHD MODULE syHoculs gt gt BurinserYopakis Projece L f 2fAreliersceerres iles prodenc rro diri ects 230 E use poda la E usa evil 4 ur
72. opy e Control v paste e Control x cut e Control z undo If the text has a selection it is copied into the Tk s primary selection You can paste it with the Insert key of the keyboard Moving in the text is allowed thanks to the arrows Up Down Left and Right and the Scroll Up and Down keys The mouse wheel is taken into account Faster scrolling is avalaible thanks to these two shortcuts e Control Home move the insertion cursor to the beginning of the text and clear any selection in the widget 14 3 TERMINALS 89 e Control End move the insertion cursor to the end of the text and clear any selection in the widget Moreover the following actions are avalaible e ButtonPress 3 the right button of the mouse makes the context popup window appear e TAB indent the current line context sensitive The TAB key is bound to the automatic indentation and cannot allow to insert a real TAB Instead you can insert an TAB at the current cursor position with Control i This is useful in a Makefile for example 14 3 Terminals No editing is allowed directly in a terminal Instead the right button of the mouse allow you to acces to a popup menu containing the following items e Open in editor Save to log Clear e Hide Hide all Execution Directory D Business Yapa Proj Command ls BLAS Open in editor lapack 3 1 1 zip Save to log _ Clear TESTING Tone in
73. ortran for example and is taken into account in Yapakit The current section details the different source code forms which are taken into account in the editor These details are available in good fortran books but some insight on what Yapakit considers as a valid fortran statement can be interesting in some situations 94 CHAPTER 15 FORTRAN MODE 15 3 1 Fortran 77 fixed format In this form the line is decomposed into several fields depending on the column number of the character on the line e columns 0 to 4 are containing the labels e column 5 is containing the continuation character e column 6 to 71 are containing the statements e columns 72 to the end are comments continuation character i i labels A statements comments F lt O 1 2 3 4 5 6 7 8 9 10 11 F1 72 210 PRINT The continuation character can be any character 15 3 2 Fortran 77 TAB format This format was used at a time where the editors were not able to indent automatically the source code Notice that even recent editors like Microsoft Visual Studio Eclipse Photran does not implement automatic indentation The line is considered tab format one of the following two conditions is satisfied e case A there is a tab in columns 0 to 5 e case B there is a tab in column 0 followed by a digit 1 2 or 9 If the line is not tab format it is expected to be in fixed format If the line is in tab format e case A the sta
74. ove lines matching pattern Opened files Keep only lines matching pattern Files in directory Recursive ces Filter lines matching specific pattern in the current file or in multiple files opened files files in directory files in directory and in subdirectories Chapter 12 Editing Source Code Several features are available to ease the editing of the Fortran source code Syntax highlighting is available for Fortran 77 and Fortran 90 source code Moreover the automatic indentation and comment uncomment features are provided in the editor With the additionl plugins syntax highlighting is provided for other languages as well elisp gnuplot java perl python shell 12 1 Syntax highlighting 12 1 1 Syntax highlighting for fortran 77 The syntax highlighting feature of the fortran 77 is based on a complex algorithm which takes into account all the following particularities of the Fortran 77 language with dif ferent colors e fixed format and TAB format are taken into account with colored labels comments are colored e pre processing lines are colored e the 6 th column continuation is colored strings between r characters are colored keyword and standard library items are colored separately everything after the 72 th column is colored 19 76 CHAPTER 12 EDITING SOURCE CODE 183 Aue 154 Executable Statements 185 156 Test the input parameters 187 135 INF
75. package The name of the package associated with the plugin is computed from the content of the pkgIndex tcl file 18 6 How to Remove a Plugin Removing the plugin pluginName simply consists in deleting the directory plug ins pluginName 18 7 How to Add a Plugin Adding a new plugin pluginName simply consists in moving the directory under the plugins directory 108 CHAPTER 18 PLUGINS MANAGEMENT Chapter 19 Available Plugins The current page is a full list of available plugins for Yapakit Plugins add one or several features to Yapakit without any change to the core of Yapakit Each plugin is made of one or two parts e a Yapakit Plugin Script e and in some cases external softwares The licence associated with Yapakit Plugin Script is the same as the Yapakit Licence The external softwares remain the property of their respective authors The details of how to get and install the plugins is explained in the Plugins Man agement section of this document The full list of available plugins is the following e debugtcl 1 1 e games 1 1 e insert 1 0 e library 1 2 1 e mode c 1 0 e mode elisp 1 0 e mode gnuplot 1 0 mode java 1 0 mode linker 1 0 e mode makefile 1 1 e mode perl 1 0 109 110 CHAPTER 19 AVAILABLE PLUGINS e mode python 1 0 e mode scilab 1 0 e mode shell 1 0 e mode tcl 1 0 e mode txt 1 0 e notes 1 1 1 e plotdata 1 0 e spellcheck 1 0 e tcltkapps 1
76. pakit on a target platform is meant to be fast and simple The user simply unzip a platform specific zip file installation is done The uninstallation of Yapakit is delete the Yapakit directory It cannot be simpler There is no need for an existing Tcl Tk system since Yapakit contains its own internal Tcl Tk interpreter The current version of Yapakit is a zip file You can use for example http www 7 zip org to unzip the release Inside you will find a directory yapakit release 2007 xx xx containing the full release The main executable is the file yapakit release 20XX XX XX XX XX XX platform or yapakit release 20XX XX XX XX XX XX win32 1x86 exe on Windows sys tems 4 3 UNINSTALL YAPAKIT 39 e Under Windows platforms the user only has to double click on yapakit release ZOXX XX XX XX XX XX win32 1x86 exe to run the software An option is to create a link to the executable and to put it onto the Windows desktop but this is not stricly necessary e Under Linux Unix platforms the user may have to change permissions so that the yapakit file can be executable This can be done with for example the command chmod u x yapakit release 20XX XX XX XX XX XX linux 1x86 on the Linux system Simply type yapakit release 20XX XX XX XX XX XX linux ix86 in a terminal to run the software An option is to add the path to the directory containing yapakit to the PATH environment variable but this is not
77. s Each menu in the menubar can be displayed with a left click on the mouse The File menu can also be displayed with the keyboard with Alt f menu bar main poten N 7 edit toolbar AR EME The toolbars can be displayed or hidden depending on the choice of the user By default all toolbars are displayed The Customize gt Main toolbar resp Edit toolbar and Browse toolbar command allows to hide the main top toolbar if is is displayed and allows to display it if it is hidden Editing pane The editing pane contains a Notebook widget which enables to edit several files which can be displayed whenever the user clicks on the corresponding tab Each tab contain an icon and the file tail of the file under edit The icon depends on the type of file identified by its extension so it is important that the file extensions are consistent with the file content For example the icon associated with the fortran files is a blank rectangle containing a blue F letter If the file is modified and unsaved a red bullet is displayed instead of the icon to let the user remember that the file has to be saved notebook tabs A text widget la o o INTEGER DIMENSION ALL DOUBLE PRECISION DIMENSION DOUBLE PRECISION DIMENSION DOUBLE PRECISION DIMENSION LOGICAL DIMENSION ALL END MODULE myModule3 line numbers l 2 3 4 5 6 A 8 9 1 The editing zone can b
78. s such as tabulation or carriage return The Name E Mail Phone number and Project Name can be customized in the general Customize feature of Yapakit 19 4 library 1 2 1 This plugin allows to manage a simple database of CD or DVD The goal is to provide a simple some will say too simple way of finding a particular file stored in a collection of backup CD or DVD where each CD DVD is identified with a particular label for example CD 1 CD 2 etc The user can store that database into a csv file and add the table of content of the CD or DVD into the current database Do not worry it is not the whole content of the CD which is copied into the cvs file Each file found in the CD or DVD is analysed and its file name is registered in the database Other additionnal informations such as file size and type of file are also computed Each file is associated with a category depending on its file extension These are the currently available categories e Software EXE e Sound CDA WAV WMA MP2 MP3 e Text TXT 112 CHAPTER 19 AVAILABLE PLUGINS e Picture JPG GIF PSD JPEG e Film AVI MPEG WMV MOV MPG e File anything else The tool allows to filter all files matching a given category typical collection of around 100 CD is stored in a csv file which size is less than 500 kB 19 5 mode c 1 0 This plugin gives the highlighting feature of C C source code to Yapakit The fol
79. se rent share assign transmit telecommunicate export distribute or otherwise transfer the Software to others except as expressly permitted in this License Agreement or in another agreement with Micha l Baudin In order to use the Software you will be required to obtain a License Key and agree to this License Agreement for the use of the Software You will not disclose or provide access to your License Key to any other person or entity You must comply with all applicable Canadian and other export control laws in your use of the Software Except as may be expressly permitted above you may not modify reverse engineer decompile decrypt extract or otherwise disassemble the Software 6 NO WARRANTY Micha l Baudin MAKES NO WARRANTIES WHATSO EVER REGARDING THE SOFTWARE AND IN PARTICULAR DOES NOT WAR RANT THAT THE SOFTWARE WILL FUNCTION IN ACCORDANCE WITH THE ACCOMPANYING DOCUMENTATION IN EVERY COMBINATION OF HARDWARE PLATFORM OR SOFTWARE ENVIRONMENT OR CONFIGURATION OR BE COM PATIBLE WITH EVERY COMPUTER SYSTEM IF THE SOFTWARE IS DEFEC TIVE FOR ANY REASON YOU WILL ASSUME THE ENTIRE COST OF ALL NECESSARY REPAIRS OR REPLACEMENTS 7 DISCLAIMER Micha l Baudin DOES NOT WARRANT THAT THE SOFT WARE IS FREE FROM BUGS DEFECTS ERRORS OR OMISSIONS THE SOFT 13 WARE IS PROVIDED ON AN AS IS BASIS AND Micha l Baudin MAKES NO OTHER WARRANTIES OR CONDITIONS EXPRESS OR IMPLIED WITH RE SPECT TO THE SOFTWARE OR ANY ACCOMPANYING ITEMS I
80. sponding zip file and copy it into the plugins sub directory of the Yapakit installation directory 105 106 debuatcl 1 1 zip games 1 1 zip inser 1 0 1 zip libramy 1 2 1 zip mode c 1 0 z1p mode elizp 1 0 z1p mode gnuplot 1 0 z1p mode ava 1 0 z1p mode linker 1 0 zip mode rnaketile 1 1 z1p mode perl 1 0 zip mode prthorn 1 0 z1p mode scilab 1 0 21p mode zhell 1 0 zip mode tol 1 0 z1p mode txt 1 0 zip notes 1 1 1 zip plotdata 1 0 zip spellcheck 1 0 z1p teltkapps 1 0 z p tkovs 1 0 z p toys 1 1 zip 18 2 General Principles CHAPTER 18 PLUGINS MANAGEMENT The Yapakit editor integrates a plugin system which allows to configure easily the editor with additional features which does not need a modification of the core These plugins can be enabled or disabled by a simple creation of destruction of the directory containing that plugins Some plugins are already in the release of the editor but additional plugins will be available as separate downloads There is no current way for users to develop their own plugins since the API of the editor is not public The goal of the current page is just to allow you to configure the editor features by understanding how plugins are managed so that you can add or remove a plugin as you wish 18 3 Plugins Location The following picture shows the content of the release directory E 3 yapakit release 2007 10 28 23 17 07 I doc DO images D lib 5 msgs E 5 plugi
81. strictly necessary The documentation is stored in the doc directory under the root of the release directory The doc directory contains the same documentation as the online documen tation During the first session the user should configure the backup and trash system The backup system allows to recover older versions of the edited files The trash system allows to recover the files that were put into the basket case Go into the Customize menu select Settings and go on to the General tab Set your backup and trash direc tory which must be existing directories the editor does not create the directories if it does not allready exist Customize Yapa settings A BY Look HE General gg Pin ba Html generation SS Comments Backup directory D BACKUP e Trash directory D APOUIBELLE Backup max mum versions number 10 Beep when errors 2 Fane horizontal w Open browse bos automatically w Encoding system l 08059 1 Ok Default 4 3 Uninstall Yapakit Users who wish to uninstall Yapakit should first remove the directory containing Yapakit then the yapakit directory created by Yapakit to store preferences of the user e Under Windows platforms the preferences directory of the user is typically the directory C Documents and Settings UserName yapakit 36 CHAPTER 4 INSTALLATION e Under Linux platforms the preferences directory of the user is typically the direc tory
82. t implemented yet they are planned in a near future e There is no direct support for team working Although Yapakit does not in clude a system for CVS nor SVN we provide a plugin which makes the use of TkCvs TkSvn easy e Automatically compile your Fortran projects is not possible yet Yapakit includes features which allow to generate parts of the Makefile but it is not currently possible to automatically compile a Fortran project e Interactively debugging your Fortran projects is not possible yet e It cannot be used on AIX HP UX Sun Solaris for ix86 Mac OS X This is a problem currently under work Main Features As a standard text editor Yapakit allows to e create edit save rename e backup e trace history of one file The main window can be splitted in two parts either horizontally or vertically The user can navigate throw the files thanks to tabs in a Notebook graphical widget Yapakit offers also advanced editing features in addition of the basic upcase down case and capitalize The editor allows unlimited undo or redo even undo redo all in all files It allows several sorting methods of the lines increasing decreasing unique or not It offers upcase downcase capitalize of the keywords in the source code For Fortran files Yapakit provides e comment uncomment e automatic indentation features for source code There are several fill unfill up to the 72 th column and several justify featur
83. t key is bound to the indent feature of the editor Instead one can use the keyboard sequence Control i to insert a real tabulation In order to see further details in the Makefile one can use the display invisible characters feature so that tabulations are clearly displayed 19 11 mode perl 1 0 This plugin gives the highlighting feature of Perl scripts to Yapakit The following default association is done between the file extension and the file mode e Perl pl 19 12 mode python 1 0 This plugin gives the highlighting feature of Perl scripts to Yapakit The following default association is done between the file extension and the file mode y e Python py 19 13 mode scilab 1 0 This plugin gives the highlighting feature of Scilab scripts to the editor The following default association is done between the file extension and the file mode e Scilab sce sci 19 14 mode shell 1 0 This plugin gives the highlighting feature to Shell scripts to the editor The following default association is done between the file extension and the file mode e Shell csh ksh sh tesh rc 19 15 mode tcl 1 0 This plugin gives the highlighting feature to Tel Tk scripts to the editor The following default association is done between the file extension and the file mode e Tel atel tk tel tk test 114 CHAPTER 19 AVAILABLE PLUGINS 19 16 mode txt 1
84. t look more compact Edit gt More gt Set double interline command insert a blank line between two lines Chapter 14 Shortcuts keyboard and mouse bindings This section presents the shortcuts for Yapakit as well as the interaction with the key board and the mouse The shortcuts and the response of the software to keyboard and mouse events are differents depending on the widget considered e the menu bar in which the user can select commands e the text widget in which the user can edit his files e the terminal widget in which the user can see the results for executed commands search commands debug logs Of course the most detailed paragraph in this page is dealing with the editing of files because Yapakit is mainly an editor Before going into details it must be said there is a very limited number of shortcuts in Yapakit Furthermore is must be clear that there is no way for the user to define his own shortcuts There is two reasons for that The first is that although shortcuts are making the editing process faster they are occupying a place in my human memory and that space is so precious that I like to use it in a better way The second reason is that shortcuts are not easy to know because each software has often its own shortcuts During one day I use at least a dozen of different softwares and each one has its own shortcuts so that if I want to remember all I have to take drugs or at least a lot of
85. tement starts from the tab to the end of the line e case B the statement which is a continuation line starts from the column 2 column 0 is for the tab column 1 is for the continuation digit Notice that case A includes that one label may be followed by a tab as in this example since tabulations are by definition invisible I replace it by the lt TAB gt string 20 lt TAB gt print toto 15 4 FORTRAN 90 ELEMENT NAMES 95 15 3 3 Examples e fixed format 20 print toto e tab format case A lt TAB gt print toto e tab format case B lt TAB gt print toto lt TAB gt 1 tata 15 4 Fortran 90 element names For each fortran 90 module elements in that module are named with nameOfMod ulefunctions interfaces derived types This allow to distinguish between subroutines which have the same name but which are located in different modules 96 CHAPTER 15 FORTRAN MODE Chapter 16 Distribution graphs 16 1 Understand lines distribution graph Namber of ines AE H mber orfcock Iles H mberotccmmertiier 1500 1000 Humber of files 1000 2000 000 Number of lines per file The distribution is a x y diagram e on the x axis there is the number of lines e on the y axis there is the number of files which contains the corresponding number of lines In fact three distributions are displayed at the same time e the number of lines comment code or b
86. the file yapakit your platform executable with chmod u x yapakit your platform Then run Yapakit from command line with vapakit your platform and enter the license key in the dialog e Enjoy There is no limit in the number of requests users can do If you need Yapakit both on Windows and Linux or any other platform let me know in the email so that I can send back to you the corresponding keys The following is a sample licence key report the one that you should get by email It contains the name of the release you are requiring the target platform the serial key and the expiration date see below for details for that particular feature License key report Release directory yapakit release 20XX XX XX XX XX XX win32 ix86 Platform win32 1x86 Serial key XXXXX XXXXX XXXXX XXXXX XXXXX Expiration date XX XX 20XX When running Yapakit for the first time the following dialog should appear The User field is optional The Key field is mandatory copy the XXXXX XXXXX XXXXX XXXXX XXXXX string from the email to the dialog and click OK The key will be stored into the user s preferences data file when the session is closed that is when you quit Yapakit That way when you run Yapakit the second time the key is read and the dialog does not appear anymore Enter a valid license attempt 1 10 Ed Ok Cancel 4 2 Yapakit Environment and Configuration The installation of a Ya
87. tion If you double left click on the myModule string of the tree the editor will automatically open the file highlight it with the proper Fortran rules and set the cursor at the line defining the element myModule Be sure to double left click and not to left click to set the cursor This is because the first left click set the focus on the tree only the double left click allows the defocus the tree to set the focus on the text 1 3 NAVIGATION IN THE PROJECT 21 ee Sp LA 3 Directories Elements a Resources F module t90 E sample src 1 Comment l Z I Comment 3 MODULE myModule 4 use wyModuled dir 5 LOGICAL DIMENSION ALLOCATABLE 6 INTEGER DIMENSION ALLOCATABLE module FD 7 INTEGER DIMENSION ALLOCATABL UM myModule 8 DOUBLE PRECISION DIMENSION ALL 3 DOUBLE PRECISION DIMENSION 3 A Fl mpModule myFunct 10 DOUBLE PRECISION DIMENSION 2 2 11 LOGICAL DIMENSION ALLOCATABL module FAD 12 CONTAINS 13 My Funcl test25 f 14 FUNCTION myFuncliargument rrav chi 15 3 dis 16 IMPLICIT NONE 17 13 I Variables d entree 13 reali dimensionf 1 10 intent i 20 4 1 TT In the Directories view if you left click on the sample src string in the tree the editor will open a new view with an analysis of the directory Note that left clicking on the sample src and left clicking on the or sign in the tree is different
88. to Control x Control c and Control V CHAPTER 14 SHORTCUTS KEYBOARD AND MOUSE BINDINGS Part IV Fortran Features 89 Chapter 15 Fortran mode The fortran is the target of the Yapakit editor that is why it is worth to describe some details on the fortran mode The Yapakit editor takes into account the fortran 77 and fortran 90 languages separately 15 1 File patterns In Yapakit the mode is computed from the extension of the file The file patterns associated with fortran 90 mode are the following 190 F90 95 F95 03 F03 The file patterns associated with the fortran 77 mode are the following AN F 77 F77 for FOR 91 92 CHAPTER 15 FORTRAN MODE e tn o FTN There is currently no way of customizing these associations between a file extension and an editing mode If the user has a file with a special fortran file extension which is not recognized by Yapakit as a fortran file for example myfile myfortranextension the user should rename the file and modify the file extension 15 2 Highlighting The highlighting is based on the identification in the source code of different types of tokens These tokens are the following e keywords are the basic tokens of the language e standard library functions extends the language and provide higher level features e comments e strings In fortran there is no standard library so the distinction between a ke
89. tory Properties Fa Keep only recent backups Environnement Trash old backups 60 days Files are automatically backuped wherever the user opens save and quit a file Backup files are named with their date and can be recoverd if necessary The backup directory is managed if the disk space is limited the user can keep a limited number of versions for each original file or can delete backup files older than 1 month 8 4 File history Thu Jun 28 22 57 30 Paris Madrid heure d t 2007 Thu Jun 28 22 30 50 Faris Madrid heure d t 2007 al E Mon Jun 25 00 34 28 Pars Madrid heure d t 2007 Sun Jun 17 13 07 08 Paris Madrid heure d t 2007 Sun Jun 17 12 36 16 Pars Madrid heure d t 2007 Sun Jun 17 12 03 38 Faris Madrid heure d t 2007 Sat Jun 16 18 06 50 Paris Madrid heure d t 2007 Sat Jun 09 09 30 46 Paris Madrid heure d t 2007 A a E a A a mm Copy to clipboard Save As Diff Open Cancel The file history of the current file can be traced thanks to the same feature from the File gt More gt History menu The Diff button allows to display the differences between the current version and the selected backup version It is based on the Tkdiff 8 5 SAVE ALL FILES 65 external tool 8 5 Save all files If several files are modified do not waste your time to save one file after another save all files in one click 8 6 Files properties x
90. tures stored in the Browse sub menu of the popup window 7 2 HOW TO USE A DATABASE ov P gt 3 tion des precisions retenues ef Edit precision_mslib l lo a e E tion des longueurs de chaines de carac Search amp replace precision_mslib lic Search precision_mslib in source Cut t Copy lou Paste ilisateurs Undo Se int Redo l palane dir aada ratan Browse Draw use tree of precision _mslib integer 22 bibli Draw hierarchy use tree of precision_mslib character lenspm message messa Get info on file type_mslib Pan Masters Files of type_mslib F30 type tm code retour Slaves Files of type_mslib Fag Get info on dir source tu sgd Get info on precision _mslib I utile aussi bien pour des positi I que l axe des X soit a l Est ou au Nord The Browse sub menu allows to use extensively the content of the database One can draw the Use tree of a fortran 90 module the call tree of a fortran 77 or 90 subroutine function or program One can draw the masters or the slaves of a given file the masters of a file are the files that the current file depends on in the dependency tree One can finally display informations on the current element file or directory 46 E y Ml O Directories Z Elements Fi Resources fs precision_melib precisior_melib longueur_chaine_melib In the example above one can draw the Use tree of the module precision_mslib
91. ug as possible several detected and undetected bugs remain in Yapakit e In fortran files array are colorised as functions subroutines which is wrong This is because it is not easy to distinguish them the analysis requires a two passes algorithm which is not done in the highlighting process e When searching for a string printed on several lines the tk text search command fails It is a limitation of the tk widget e The parsing of fortran files does not take into account the preprocessor commands This can lead to a wrong analysis of the source code For example some warnings can be displayed for example unused subroutine which are not correct when the user takes the preprocessor instructions into account This bug could only be corrected if a preprocessor command was used before the parsing of any file Only the user can give this command to Yapakit since it includes the list of preprocessor macros and a preprocessor executable like fpp fortran preprocessor for example 31 32 CHAPTER 3 KNOWN BUGS 3 3 Known missing features This section details a list of features which are not available in Yapakit yet but are planned in the future e When one file is opened in the editor and then modified on the disk Yapakit does not inform the user of the modification It should suggests the user to reload the file if needed e There is no possibility to make a rectangular selection with the mouse Although it is possible to s
92. version 68 10 Printing IUL EST ne a 02 Pants wi Vos Lime es es Ruin eee pa ku hear 10 8 Priming witi Windows s so 446404584 64 8 26 Ooo eo wu wad 10 4 Customize printing settings 11 Search and Replace 11 1 Search amp Replace Dialog box 112 Besich apudis 2 cence ba Na a base nah hee ae a Be Ll Oe TTS owe ee BEER EES Hew ERED ERS oH 11 4 Search in files progress bar Il Deore Oe eh eR we Bk eee ee ee ee eee Ss 11 6 Search terminal popup L a a an a bu br HH wR Ew Le TOR 2 aka 12 Editing Source Code 12 1 Sybase OPN we ee bw eR we 40 end 12 1 1 Syntax highlighting for fortran 77 12 1 2 Syntax hiehliehting for fortran 90 lt esos eee a Mba Syntax Mente nine Tor Tel ss ctw ses ass Er a des 12 1 4 Syntax highlighting for C C 12 1 5 Syntax highlighting for Makefile 122 Auto indent TOT FAD ss He Bus ose a Re a eu ait 13 Text Editing 13 1 Unlimited wade ted gt 2 2 5 3 priori a Gee ae 13 2 MIO Ble 32 se da ne D Rs 13 3 Quit with unsaved files 13 4 Content of selection 13 0 Copy and Peete es si En a a ah KEG hd res EDs 130 Goto Dne ee daad ieoa kd d DE HE See ESE Se Oe ne 13 7 Line and column number in status bar 13 8 Line
93. ws printing properties copies copies T oS pool device driver AOC hdcnarne page dimensions page margin page minimum margins page orientation pixels per inch port print flag r solution 1 O Telecopieur winepool 05021 03fb printerD e 827011695 1000 1000 1000 1000 0000 portrait 200 200 MSP all 200 200 Ok Save To Log Export To Low Under Windows the printing system is integrated into Yapakit 10 4 Customize printing settings f Customize Yapa settings xj a Look ER General as Print Print Font Linus ape command usr bin a2ps ne nunmb Linux lpr command printer Postscript viewer qv Sun aps command a2ps HP Sun lpr command Ipr Ok Default fs Html generation Ss Comments Verdana q2 Select The user can customize the a2ps and the gv command for printing thanks to the Customize Settings Print menu Chapter 11 Search and Replace The search feature is a very important tool for any editor As such it has been a domain of many developments is rich of many powerful features and has suffered many tests The main goal is to provide a tool which can be used for the simplest search task of searching in the current text as well as the more complex task of replacing a word into a whole set of files located in many different directories The current dialog allows the user to master the process of replacing a string in several files with the poss
94. y user can feel confortable with a few minutes In addition a significant effort has been made to provide contextual help My idea was to put the help as close as possible to the menus and buttons Balloon helps are displayed if the pointer i e the mouse stays quiet on any button of the toolbar All menus are associated with help messages displayed in the status bar All dialog boxes are kept as simple as possible and are explained when necessary with dynamic balloon messages 5 6 YAPAKIT STATE 47 5 6 Yapakit state AA T Searching Done 2 00 00 01 Rermaining 00 01 27 21 091 OG ul sERELA KERELA A gt Allways know in what state Yapakit is We use progress bars when possible and wait dialogs when not possible If a progress bar is displayed the remaining time is available so that the user never loose time When possible a stop button is displayed so that the user can interrupt the current process and stop to loose time 5 7 Automated tasks The automated tasks allow to save a lot of time when processing several files save all files undo all undo all files and many more Do not make boring tasks Time is precious The saved time can therefore be devoted to more interesting tasks like playing tetris debugging an algorithm taking a coffee with colleagues or going home if possible 48 CHAPTER 5 OVERVIEW Chapter 6 Execute Command Execute one command and display resulta lf the
95. ype 1 Module ri Interface 2 Ok Save To Log Export To Cev Display the database properties number of directories of files of elements the date of the database etc the file properties number of files code rate comment rate etc 7 2 HOW TO USE A DATABASE 61 i Himbeer ot les 2 Mimberorcade lirez N mberorcommertiies 1500 1000 Humber of files 300 er 1000 2000 000 Number of lines per file Displays the lines distribution as a graph for example the comment rate distribu tion TESTIMG ElG zerrgg TESTIMGElG cerrggf TESTIMG ElGderggf TESTIMG ElGEergg f TESTINSEIS derrstf TESTING EIGerrst f TESTINGEIGzerrst f TESTING EIG cerrst f TESTIMGLiMreerux f TESTING ceux f TESTING Idem f TESTIMNGLIMSerux TESTINGEISYdgets1 f TESTING ES gets f TESTING El dgets2 f TESTING El get f TESTING El dents f TESTING EIS Sets f TESTIMG ElGicerhs f TESTIMGrElSrdget34 f TESTING El gets f TESTINSLIM echkeg f TESTIMS LIM cchkeg f TESTINS LIM dchkeg f TESTING ALIMAschkeg f TESTINGEIG ents f Ssrozdlarum SRGlaruy f TESTING LiIMdent f TESTING LSet f File names I ro Comment rate 357 Display the 30 most commented files as a bar chart the 30 least commented files bar chart also 62 CHAPTER 7 DATABASE MANAGEMENT x Date now Thu Jun 28 21 41 18 Paris Madrid heure d t z G Database file test project db
96. yword and a standard library function is somewhat arbitrary Fortran 77 keywords are the following AND ASSIGNMENT CALL CHARACTER COMMON COMPLEX CONTINUE CYCLE DIMENSION DO DOUBLE ELSE ELSEIF END ENDDO ENDIF ENDPROGRAM ENDPROGRAM ENDSUBROUTINE EQ EQUIVALENCE EXIT EXTERNAL FALSE FORMAT FUNCTION GE GOTO GT IF IMPLICIT INCLUDE INTEGER INTRINSIC KIND LE LOGICAL LT NE NONE NOT OR PARAMETER PARAMETER PAUSE PRECISION PRECISION PRINT PROGRAM REAL RECURSIVE RESULT RETURN SAVE SUBROUTINE THEN TO TRUE WHILE BLOCK DATA Fortran 90 keywords are the fortran 77 keywords plus the following keywords CASE CONTAINS ENDINTERFACE ENDMODULE ENDTYPE INTENT INTERFACE MODULE ONLY OPERATOR POINTER PRIVATE PROCEDURE PUBLIC SELECT SEQUENCE TYPE USE ALLOCATABLE OPTIONAL Fortran 77 standard library functions list is the following ABS ACOS AIMAG AINT ALOG ALOG10 AMAXO AMAX1 AMINO AMIN1 AMOD ANINT ASIN ASIND ATAN ATAN2 ATAN2D ATAND BACKSPACE CABS CCOS CHAR CLOG CLOSE CMPLX CONJG COS COSD COSH CPU_TIME CSIN 15 3 FORTRAN 77 SOURCE FORMS 93 CSQRT DABS DACOS DASIN DATAN DATAN2 DBLE DCMPLX DCOS DCOSH DDIM DEXP DIM DINT DLOG DLOG10 DMAX1 DMIN1 DMOD DNINT DPROD DREAL DSIGN DSIN DSINH DSQRT DTAN DTANH ENDFILE ERF ERFC EXP FLOAT FLUSH GAMMA GETENV HFIX IABS ICHAR IDIM IDINT IDNINT IEOR IFIX ILEN IMAG INDEX INQUIRE INT INT2 ISIGN LEADZ LEN LGAMMA LGE LGT LLE LLT LOC LOG LOG10 LSHIFT MAX MAXO MAXI MIN MINO MINI MOD NINT NULL NUM_PARTHDS NUM_USRTHDS OPEN QCMPLX QEXT RAND READ R
Download Pdf Manuals
Related Search
Related Contents
Samsung HT-C7300 User Manual ダウンロード Math 115-syl-Winter2015sec.1741 AGREEMENT Fortinet FortiLog-100 User's Manual Termozeta Pocket 5000 MANUEL D` INSTRUCTIONS & PIÈCES Copyright © All rights reserved.
Failed to retrieve file