home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 5 / FreshFish_July-August1994.bin / bbs / dev / ace-ag-docs.lha / ACE-AG-Docs / AIDE.Guide < prev    next >
Encoding:
Text File  |  1994-03-26  |  12.0 KB  |  364 lines

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