home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Programme_zum_Heft / Programmieren / Kurztests / ACE / AIDE / aide.doc < prev    next >
Text File  |  1994-10-24  |  14KB  |  425 lines

  1.  
  2.                  +-----------+
  3.                  | AIDE v1.1 |
  4.                  +-----------+
  5.  
  6. Introduction
  7. ------------
  8. AIDE (ACE Integrated Development Environment) is a freely distributable 
  9. graphical front-end for the development of ACE programs.
  10.  
  11. It is written in ACE and currently requires AmigaOS Release 2.04 or higher 
  12. to run.
  13.  
  14. AIDE uses the PIPE: device, so either your startup-sequence script must 
  15. contain the line "mount PIPE:" or you must type this from a shell before 
  16. running AIDE.
  17.  
  18. I will try to get a future version of AIDE running correctly under 1.3 when 
  19. I get some time, but for anyone wishing to have a go at doing this I have 
  20. included the source code (which is also freely distributable but I retain 
  21. the copyright to it). The problems under 1.3 seem to be related to the way 
  22. in which AIDE uses a NewShell and PIPE. In any case, at present if you start 
  23. the program under 1.3, a requester will appear telling you that you need Wb 
  24. 2.04 or higher to run AIDE.
  25.  
  26. ** Please note that this restriction only applies to AIDE not ACE!! **
  27.  
  28. Anyway, if you do have Release 2.04 or higher, you can start AIDE by 
  29. double-clicking its icon from the Workbench. With AIDE, you never need to
  30. start from a shell again when developing ACE programs, although you may 
  31. spawn a shell by selecting an item from AIDE's Project menu (see below).
  32.  
  33. Before starting AIDE for the first time however, you must examine and 
  34. possibly edit one file. This configuration file is discussed next.
  35.  
  36.  
  37. Setting Up
  38. ----------
  39. AIDE requires a file called AIDE.config to be present in the same directory
  40. as itself. Without this, the program won't run.
  41.  
  42. A sample AIDE.config is included in the AIDE archive. It looks like this:
  43.  
  44. ---------------
  45. #
  46. # AIDE configuration file.
  47. #
  48. # For each AIDE configuration variable, 
  49. # replace its value with the full path 
  50. # of the tool or directory of your choice.
  51. #
  52. # All definitions are optional. Place a '#' 
  53. # before a name if you want to comment out
  54. # the corresponding definition.
  55. #
  56.  
  57. ##
  58. ## TOOLS
  59. ##
  60.  
  61. # Editor (default=c:Ed).
  62. #
  63. EDITOR=sys:tools/memacs
  64.  
  65. # File viewer (default=ACE:bin/muchmore).
  66. #
  67. VIEWER=ACE:bin/muchmore
  68.  
  69. # Calculator tool (no default).
  70. #
  71. CALCTOOL=ACE:utils/ACECalc/ACEcalc
  72.  
  73. # AmigaGuide tool. If this entry is set, AIDE uses ref.guide, ace.guide
  74. # and aide.guide instead of the equivalent .doc files. 
  75. #
  76. # Example.Guide also relies upon this tool.
  77. #
  78. # The tool itself is likely to be either AmigaGuide or MultiView. 
  79. #
  80. AGDTOOL=sys:utilities/AmigaGuide
  81.  
  82.  
  83. ##
  84. ## DIRECTORIES
  85. ##
  86.  
  87. # Temporary directory for preprocessor,compiler,assembler & linker
  88. # (default=T:).
  89. #
  90. TMPDIR=T:
  91.  
  92. # Directory in which to (initially) look for ACE source files.
  93. # If not specified, defaults to directory in which AIDE is started from.
  94. #
  95. SRCDIR=ACE:prgs
  96.  
  97. # Directory in which to put built executables and icons.
  98. #
  99. # If not specified, this defaults to the directory in which
  100. # the source file which is being compiled resides.
  101. #
  102. #BLTDIR=ACE:Run
  103.  
  104. # Directory in which docs for the compiler, assembler & linker reside
  105. # (default=ACE:docs).
  106. #
  107. DOCDIR=ACE:docs
  108.  
  109. ---------------
  110.  
  111. In the example above, it is assumed that ACE: is a valid ASSIGN (see 
  112. the "Installation" file which comes with the ACE distribution). Notice
  113. that lines commencing with a "#" are taken to be comments. 
  114.  
  115. AIDE has no built-in editor so you need to specify your favourite. I may
  116. eventually write an editor, but my current feeling is that I can spend
  117. my time more productively in other ways, given the plethora of text editors
  118. available for the Amiga. The same is true for file viewers.
  119.  
  120. If anyone wishes to write a text editor for AIDE, feel free to let me know
  121. about it. Likewise, if you think I should supply a particular FreeWare
  122. editor with AIDE, I'll be glad to consider any suggestions you have.
  123.  
  124. Note that the editor you specify in AIDE.config must be capable of taking
  125. command-line arguments (a file name). The same applies to the file viewer.
  126.  
  127. Once you have set the entries in AIDE.config to your satisfaction, you can 
  128. start AIDE from the Workbench. Note that in order to speed up the load time
  129. of AIDE.config you may wish to copy it to say, AIDE.config.full and remove 
  130. all lines starting with '#' from AIDE.config.
  131.  
  132.  
  133. Using AIDE
  134. ----------
  135. There are six pull-down menus in AIDE: Project, Program, Compiler, Linker,
  136. Utilities and Help. The Project menu is for general house-keeping tasks; the 
  137. Program menu is for editing, compiling and running ACE programs; the Compiler 
  138. menu is for setting compiler options; the Linker menu allows you to specify a 
  139. number of object files or scanned libraries to link with your main ACE 
  140. program; the Utilities menu provides access to a number of useful programs; 
  141. and the Help menu gives you access to documentation for the compiler, assembler,
  142. linker and the ACE language.
  143.  
  144. The entries in each menu will now be described briefly.
  145.  
  146.  
  147. Project Menu
  148. ============
  149.     New        -    Invokes the editor with a blank slate.
  150.  
  151.     Open...        -    Invokes the editor with a file name
  152.                 which you must specify via a file 
  153.                 requester.
  154.  
  155.     View...        -    Lets you view a file which is selected 
  156.                 via a file requester.
  157.     
  158.     Delete...    -    Lets you delete a file specified via a
  159.                 file requester.    
  160.  
  161.     Print...    -    Lets you choose a file to print via a
  162.                 file requester.
  163.  
  164.     Execute...    -    Allows an AmigaDOS command to be executed.
  165.                 The command and its arguments are entered
  166.                 into an ACE input requester, a console
  167.                 window is opened for any I/O associated 
  168.                 with the command and the latter is executed
  169.                 if possible.
  170.                 
  171.     Spawn Shell    -    A NewShell process is started for more
  172.                 comprehensive house-keeping than the 
  173.                 "Execute..." option is intended for.
  174.                 
  175.     About        -    Brings up a message box telling you briefly 
  176.                 about AIDE.
  177.  
  178.     Quit AIDE    -    Exits from AIDE.
  179.  
  180.  
  181. Program
  182. =======
  183.     Set Source...    -    Lets you specify the ACE source file
  184.                 to work with via a file requester. No
  185.                 other Program menu items are accessible
  186.                 until this has been done for the first
  187.                 time.
  188.  
  189.                 The file requester for "Set Source..."
  190.                 starts up in the directory which was
  191.                 referenced the last time this option was 
  192.                 invoked (see also SRCDIR entry in AIDE.config). 
  193.  
  194.                 If the file selected does not exist,
  195.                 ACE will invoke the editor.
  196.  
  197.     Edit Source    -    Invokes the editor with the current 
  198.                 source file as its argument.
  199.  
  200.     Run        -    Runs the current program, compiling it
  201.                 first if necessary.
  202.  
  203.     Run in Shell... -    Runs the current program in a shell, 
  204.                    compiling it first if necessary. Before
  205.                 the program is run, AIDE asks for command
  206.                 line arguments via an input requester. 
  207.                 Supply no arguments if none are required.
  208.         
  209.     Compile        -    Compiles the current program, putting
  210.                 the target assembly source file into the 
  211.                 temporary working directory specified in 
  212.                 AIDE.config. No executable is produced.
  213.                 This is useful if you just want to see
  214.                 whether a program compiles and/or want
  215.                 to inspect the assembly source file.
  216.  
  217.     Make Executable    -    "Makes" the current program, putting
  218.                 all intermediate files and the final
  219.                 executable program into the temporary
  220.                 working directory specified in AIDE.config.
  221.  
  222.       Build Application    -    Does the same as "Make Executable" but
  223.                 also copies the final executable from
  224.                 temporary storage to the same directory
  225.                 as the original source file or to the
  226.                 directory specified by the BLTDIR config
  227.                 variable. If an icon is requested, this
  228.                 is also copied.
  229.     
  230. Create Linkable Module    -    Creates an object module which can later 
  231.                 be linked with an ACE program. The only
  232.                 difference between this option and Make 
  233.                 Executable (above) is that no linking occurs
  234.                 and ACE's -m switch is used. See also "Creating
  235.                 & using ACE subprogram modules" in ace.doc.
  236.             
  237.      View Assembly 
  238.         Source     -    Allows you to view the target assembly
  239.                 source file which results from compiling
  240.                 a program.
  241.  
  242.      View Preprocessed 
  243.         Source    -    Allows you to view the APP preprocessed 
  244.                 source file.
  245.  
  246.        View Compiler 
  247.         Errors    -    Lets you see the errors (if any) generated
  248.                 by the last compilation. This pertains to
  249.                 ACE errors only at this stage.
  250.  
  251. Compiler
  252. ========
  253.     There are seven compiler options in this menu: Preprocess Source,
  254.     Break Trapping, Assembly Comments, Create Icon, List Source Lines, 
  255.     Optimise Assembly and Window Trapping. The latter six correspond 
  256.     to the compiler's command-line switches: b,c,i,l,O and w respectively.
  257.     See ace.doc's "Compiler options" section for details of each of these.
  258.  
  259.     Since AIDE always uses ACE's -E switch to create an error file,
  260.     this option is not available in this menu. Compilation errors are
  261.     however, viewable from the Program menu's "Show Compiler Errors"
  262.     item (see above).
  263.  
  264.     Items in this menu which have a check mark to their left are set.
  265.  
  266.  
  267.     The "Optimise Assembly" option is set by default when AIDE starts.
  268.  
  269.     "Preprocess Source" is also checked at startup. To prevent ACE
  270.     source code from being preprocessed by APP, uncheck this item.
  271.  
  272.     Note that if you want AIDE to create an icon for an executable,
  273.     the file ACE:icons/exe.info MUST exist. This is required by ACE
  274.     as well (see ace.doc).
  275.  
  276.     To save the current compiler options, select the last item in
  277.     the menu: "Save Options". Next time AIDE is run, the Compiler menu 
  278.     will be restored accordingly.
  279.  
  280.  
  281. Linker
  282. ======
  283.     In addition to the normal assembled program file and the scanned
  284.     libraries incorporated by the linker into the final executable,
  285.     additional object files to be linked can be specified via this
  286.     menu.
  287.  
  288.     Unless you are using external functions from other scanned libraries 
  289.     or modules (written in ACE, C or assembly etc), you may never have 
  290.     cause to use this facility.
  291.     
  292.     The list of extra modules to be linked is displayed as part of
  293.     the menu. These new items cannot be selected and are for display
  294.     purposes only.
  295.  
  296.     Add Module...        -     Adds an object file or scanned 
  297.                     library to the list of modules to 
  298.                     be linked. 
  299.     
  300.     Remove Module...    -     Removes an object file or scanned 
  301.                     library from the list of modules to 
  302.                     be linked.
  303.  
  304.     Remove All Modules    -    Removes all modules from the list
  305.                     of extra files to be linked.
  306.  
  307.  
  308. Utilities
  309. =========
  310.     Calculator        -    Invokes the calculator of your
  311.                     choice as specified by CALCTOOL
  312.                     in AIDE.config.
  313.  
  314.     Create BMAP file *    -    Converts the FD file for a library
  315.                     into a .bmap file used by ACE and
  316.                     AmigaBASIC when calling shared
  317.                     library functions. The .bmap file
  318.                     is stored in the ACEbmaps: directory.
  319.  
  320.     AmigaBASIC to ASCII *    -    Converts a compressed AmigaBASIC
  321.                     file into an ASCII text file for
  322.                     use by ACE.
  323.  
  324.  
  325.     * AIDE expects the utility to be in ACE:utils.
  326.  
  327. Help
  328. ====
  329.     This menu provides access to the documentation for the compiler,    
  330.     assembler and linker from within AIDE.
  331.  
  332.     In addition, access to the ACE Language Reference manual, ACE 
  333.     examples, ACE history and this document can be gained via the 
  334.     Help menu.
  335.  
  336.     If you have the AmigaGuide docs: aide.guide, ace.guide and 
  337.     ref.guide ensure that they reside in ACE:docs (or whatever DOCDIR 
  338.     is in AIDE.CONFIG) and that you have an AGDDIR entry in AIDE.CONFIG.
  339.  
  340.     AIDE.GUIDE can reside in ACE:AIDE instead, if so desired.
  341.  
  342.  
  343. AIDE's "Make" Process
  344. ---------------------
  345. As you may have gleaned from the above, AIDE has a simple inbuilt "make" 
  346. capability.
  347.  
  348. This means that before it builds or makes an exectuable and prior to 
  349. compiling or running a program, AIDE checks to see whether compilation
  350. needs to take place at all.
  351.  
  352. If you have created an executable and then decide to run it, AIDE 
  353. will not re-compile the source first. Likewise, if you want to build 
  354. an executable and the program has already been compiled, the executable 
  355. will be copied from AIDE's temporary workspace.
  356.  
  357. In like manner, if you have compiled a program to produce an assembly source
  358. file, so long as you don't edit the ACE source file, AIDE will not recompile
  359. the program before assembling and linking it.
  360.  
  361. On the other hand if you edit a source file, next time you go to run it,
  362. AIDE will "bring the program up to date" by compiling, assembling and linking
  363. it first.
  364.  
  365. If you modify the modules list in the Linker menu, AIDE will recompile  
  366. everything. This is overkill really and a future version will limit this
  367. to the link phase.
  368.  
  369. Making a change to any of the options in the Compiler menu will cause
  370. previous makes to be ignored also.
  371.  
  372. In order to preprocess, compile, assemble and link a program, AIDE first
  373. creates a shell script and then executes it, opening a shell in order to
  374. do so.
  375.  
  376. Meanwhile, AIDE awaits a final message from the shell process via PIPE: 
  377. before continuing. In addition to some status messages which AIDE will
  378. display, one of two final messages will be received.
  379.  
  380.      MakeDone
  381.      or
  382.      MakeAborted
  383.   
  384. If an error or user break occurs during preprocessing or compilation, the
  385. shell process returns a "MakeAborted" message and AIDE acts accordingly, 
  386. by, for example, not running the program.
  387.  
  388. If an error or user break occurs during assembly or linking however, you 
  389. will be left staring at a shell prompt. The simplest way out of this is
  390. to issue the following two commands at the shell prompt:
  391.  
  392.     QuitMake
  393.     EndCli
  394.  
  395. one at a time. These will: (i) send a message back to AIDE telling it that 
  396. something has gone awry during assembly or linking; (ii) close the shell. 
  397. In case you are interested, "QuitMake" is an alias (for "MakeAborted") set 
  398. up by AIDE.
  399.  
  400. This is one area in which AIDE could be improved, but at least the solution 
  401. is workable.
  402.  
  403.     
  404. Final Comments
  405. --------------
  406. As you can see, there is certainly scope for improvement and it is my hope
  407. that AIDE will continue to get better over time.
  408.  
  409. Feel free to make any suggestions about AIDE and please report any bugs 
  410. to me. See ace.doc for details of how to contact me by e-mail, snail-mail
  411. or telephone.
  412.  
  413. If you make any substantial changes to AIDE I'd appreciate knowing about 
  414. them, since I may be able to incorporate such modifications into the next 
  415. release. Naturally any contributions will be acknowledged.
  416.  
  417. In any case, I hope you find AIDE to be a pleasant environment in which
  418. to develop ACE programs.
  419.  
  420. Regards,
  421. David Benn, Launceston, Tasmania
  422.  
  423. 12th October 1994
  424.