home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 2: PC
/
frozenfish_august_1995.bin
/
bbs
/
d07xx
/
d0766.lha
/
MPE
/
MPE.DOC
< prev
next >
Wrap
Text File
|
1992-11-21
|
24KB
|
589 lines
*** Modula-2 Programming Environment Version 1.38 ***
⌐ Copyright 1992 DigiSoft
written in Modula-2 version 4.0d by
Marcel Timmermans
DISCLAIMER
-----------------------------------------------------------------------------
The author is NOT responsible for the suitability or accuracy of this
documentation and/or the program(s) it describes. Any damage sustained by
the use or misuse of this documentation and/or the program(s) it describes
is the responsibility of the user her/him self.
----------------------------------------------------------------------------
COPYRIGHT
----------------------------------------------------------------------------
MPE, ⌐ Copyright 1992 by DigiSoft. All rights reserved. This program may
be distributed non-commercially only providing that the documentation and
copyright notice remains intact and are included with the distribution.
This program is Public Domain so no financial donation is necessary.
----------------------------------------------------------------------------
INTRODUCTION
----------------------------------------------------------------------------
This is a program to make work easier for making a program with M2Amiga.
How many times you have typed m2c <program name>, if there is any
error than m2emacs <program name>, m2c .. m2l etc. offcourse you can use
m2make but than again you have to give all the switches you want to use
(no debug, Minimum Arts etc.)
I have tried to make a program that supports all kind of options to
build a program. I hope you like it.
Features:
o - Settings are kept by every project.
o - After an error during compiling an editor will be called
o - you can edit a report file for your program
o - you can set 'every' options for the M2Amiga V4.0 Compiler and Linker
o - Also you can use M2Make
o - You can run your program from MPE.
o - Creates an autoheader if you want it.
o - A special version with the use of Reqtools.library
(Reqtools is Copyright (c) by Nico Franτois.)
o - You can load M2POOL from MPE
o - You can start M2Project from MPE
o - You can start M2LibLink from MPE
o - A help function for the menus after pressing the help key
(let me know if you like this option or not)
o - ARexxPort (MPE_PORT)
o - And most important it is FREE
REQUIREMENTS
----------------------------------------------------------------------------
MPE was programmed in M2Amiga V4.0d on an Amiga 3000 Kick 2.0 with 4 MB
memory and a 100MB harddisk but it should run on a standard 512 KB machine.
MPE ,about 80 KB size, needed about 120 KB memory. However if you want a
good use you need at least 1.0 MB memory. It's is tested on kickstart 1.2,
1.3 and 2.0. It's only tested with M2Amiga V4.0.
Note: If you use a earlier version of M2Amiga than 4.0 and you want to use
MPE, Please send me the options for the compiler, linker and m2make.
and i will try to make a special version for this specific compiler
version.
----------------------------------------------------------------------------
INSTALLATION
----------------------------------------------------------------------------
MPE should be working with all kickstarts versions.
At the moment you can't use MPE from the workbench at kickstart 1.2 / 1.3
if you want to use it from the WB then use IconX at kickstart 1.2 / 1.3
MPE is easy to install, just copy it to the directory m2:
When you run MPE at the first time you get a default setting choosed by
myself. But you can change your default setup and save it. By using the
pull-down menu, settings - save default.
----------------------------------------------------------------------------
HOW TO USE
----------------------------------------------------------------------------
It's not very difficult to use, but here is an explanation for the menus.
(also available in the program after pressing the help key)
----------------------------------------------------------------------------
AREXX PORT
----------------------------------------------------------------------------
The name of the port is MPE_PORT. Its my first atempt to make a program wich
work with arexx. So there can be some failures in it. Please let me now !
KEYWORDS
PARSE After this command you get an requester to choose a file
to make an autoheader or an update from the autoheader.
ABOUT Silly command, Info about MPE
HELP Make the help command active
EDIT MAIN => Mpe starts the editor and load the main program.
MODULE => Mpe starts the editor and load the module.
COMPILE MAIN => Mpe compiles the main program, Mpe doesn't give
a result back. (not yet)
MODULE => Mpe compiles the module, Mpe doesn't give a result
back (not yet)
LINK MPE start the linker.
example:
rx "Address MPE_PORT COMPILE MAIN" the main program will be compiled
rx "Address MPE_PORT ABOUT" You get the about requester.
You see it is not diffecult to use.
I know, some commands are not usefull but i want create an arexx-port
just for learning and i added at MPE. So if neverone use this port i remove
it in the next update. The program is only 2550 bytes bigger, so why
not. if you have some ideas to improve the arexx-port please send me a
letter with your ideas.
PROJECT MENU
----------------------------------------------------------------------------
This menu consists of the following items:
Load Project: <right Amiga P>
Function : Here you can load your directory where the program is standing
witch you want to use. (f.e. DH0:M2/MPE do not choose the
subdirs txt, bin, obj, sym or txt. The program sees this
by it's self.
Load Main : <right Amiga ?>
Function : Here you can load your main program.
Load Module : <right Amiga O>
Function : Here you can load your module. If you don't have
a module you don't need to load something.
Resident :
Function : At the sub-items you can set M2C, M2L or/and M2Make resident.
This information shall also be saved to the config file.
At the end of the program i remove all the program's of
the resident list.
I do this with the command "resident", so it must exist.
Make Project:
Function : With this item you can choose the options and start the
program M2Project. In the subitem you can set the options
for M2Project. With start, the program M2project will
be started.
About :
Function : Here you find the information about the program, author,
version etc.
Quit : <right Amiga Q>
Function : This item you need if you want to leave the program.
A requester ask's to save settings or quit or cancel.
You can also use a letter.
'Y' for quit
'M' for Save & Quit
'N' for Cancel
This is only if you use the standard version
Not for the version with reqtools.library
EDITOR MENU
----------------------------------------------------------------------------
This menu consists of the following items:
MP/MOD : <right Amiga E>
Function : When you choose this item an editor (the want you choose in
settings) will be started with the active file.
A File : <right Amiga />
Function : When you choose this item the program put an file requester
on the window and you can choose any file you want to edit.
Report : <right Amiga R>
Function : When you choose this item the program loads a report file
into the editor with the main module name.report.
Get *E : <right Amiga F>
Function : This item finds an error file produced by M2C. It's specially
for when you choose build (M2make).
A file requester disappear on the screen and shows all the
file's which have an error. When you load this file it will
be automatically the Module file and or if it is the main
file the main file will be loaded.
Doc File :
Function : When you choose this item the program loads a <MainName>.DOC
file in the editor from the project directory.
COMPILER MENU
----------------------------------------------------------------------------
This menu consists of the following items:
MP/MOD : <right Amiga C>
Function : When you choose this item the program compiles the active file.
(main or module)
Options :
Function : In a sub item menu you can set your options for the M2Amiga
V4.0 compiler. At the last sub-item menu you can give your
own options.
LINKER MENU
----------------------------------------------------------------------------
This menu consists of the following items:
MP/MOD : <right Amiga L>
Function : When you choose this item the program links everything.
If the main file is changed it compiles first the main file.
If the second file or .def file is changed it compiles first
the second file. if every goes right than the linker will be
started. (Just try to see )
NOTE : If the program has more sub modules THEY WON'T COMPILE IF
THEY ARE CHANGED THEREFOR YOU NEED TO CHOOSE MAKE.
Options :
Function : In a sub item menu you can set your options for the M2Amiga
V4.0 linker. At the last sub-item menu you can give your own
options.
LibLink : <right Amiga ]>
Function : When you choose this item the program links the mainfile with
every otherfile its needed.
NOTE : - There is NO Checking on succesfull or not !!!!
- There is NO Checking if the mainprogram,module is
compiled or NOT !!!!
Options :
Function : In a sub item menu you can set your options for the M2Amiga
V4.0 liblinker. At the last sub-item menu you can give your
own options.
RUN MENU
----------------------------------------------------------------------------
This menu consists of the following items:
Go Main : <right Amiga G>
Function : When you choose this item the program compile if necessary,
linked everything together end run the program.
Argument : <right Amiga A>
Function : In this item you can give your arguments
SETTINGS MENU
----------------------------------------------------------------------------
This menu consists of the following items:
Change Ext. : <right Amiga M> and <right Amiga D>
Function : In the sub-items you can choose between a .mod file or a .def
file.
Workfile : <right Amiga 1> and <right Amiga 2>
Function : In the sub-items you can choose between the main file and
secondfile for making active.
Processor :
Function : In the sub-items you can choose the processor type
you want to compile for it.
Change
Settings :
Function : After choosing this item you get a requester where you can
change your default editor, usermenus.
Further you can set the following options on or off:
- Debugger (Must M2Debug loaded or not )
- Create a new Default File
( When you type a filename in the filerequester, when
your load a module or main program, which doesn't exist
MPE creates the filename with a default text like:
MODULE <Name>.MOD
BEGIN
CLOSE
END <Name>.
When you choose the a module the program makes a '.mod'
and a '.def' file.
You can switch this option on or off.
)
- Change CONST AutoVersion
( When there is a header created, and only then, AutoVersion
can be changed to the latest version.
You must use something like this
CONST AutoVersion = '1.0'; CONST AutoVersion = "1.0";
The text is case depended, so if you use AUTOVERSION the
program don't find the CONST.
Also you must use a text Constant, NOT AutoVersion = 1.0;
So you choose the menuitem CreateHeader then the program
creates a header for you if it doesn't exist.
if the header exist the program asks you for the update
text and for a version number.
This version number comes in the constant AutoVersion.
So it's only usable when a header was created.
You can switch this option on or off.
)
- Make Backup File
( When the program creates a header, you can make a backup
called <Name>.BK!. This for when something goes wrong.
I don't hope so.
So i'm not responsible when your source file is broken.
Please Switch this on.
If your use the program a long time and it never failed
at this item, you can switch it off.
If anything goes wrong, please let me now.
)
- M2Pool loaded at start
( When you select this item M2pool shall be loaded )
- Change ENV: options also
( If you change the compiler, linker or make options
mpe write this also to env:m2c , env:m2l and env:m2make
)
- Module check
( this items check if your loaded program is a MODULE or
a IMPLEMENTATION MODULE. The program checks if <name>.def
exist if not then the program scans the text source )
Load
Settings : <right Amiga ->
Function : Here you can load your project settings.
Save
Settings : <right Amiga +>
Function : Here you can save your project settings.
Save
Default :
Function : Here you can save your default settings.
This contains: - Compiler, Linker and M2Make options
- Resident options
- Sort editor
- User Menu
- Debugger On/Off
- Create a new default file On/Off
- Change CONST 'AutoVersion' On/Off
- Create backup file AutoHeader On/Off
- Change ENV: options also On/Off
- Change Module check On/Off
NOTE : The main and second file name shall not be saved.
SPECIAL MENU
----------------------------------------------------------------------------
This menu consists of the following items:
Shell : <right Amiga S>
Function : Here you can start the Command Line Interface.
This menu item executes 'NewShell', so it must exist. and
the program must find it. Otherwise it will not executed.
User 1 : <right Amiga !>
Function : Here the program execute your file out the Setting Menu.
You can use something like 'C:list bin/' or whatever you want.
User 2 : <right Amiga @>
Function : Here the program execute your file out the Setting Menu.
User 3 : <right Amiga #>
Function : Here the program execute your file out the Setting Menu.
Execute : <right Amiga X>
Function : At this item the program ask you with a StringRequester
what you want to execute.
InfoHeader : <right Amiga I>
Function : Here you can fill in your default header info.
This mean when you creates your first header.
The name is depended from the active file.
CreateHeader: <right Amiga H>
Function : This item creates the header at the active file.
If the header exists a few things happened.
- A requester asks for the new version number.
- A requester asks for the update string.
- When AutoVersion is on the version number in the
Constance 'AutoVersion' shall be changed.
If CONST AutoVersion = '1.0' And you fill in the
string requester 1.1 then you get
CONST AutoVersion = '1.1'.
By the way if you use (*# AutoHeader:=FALSE *)
Please put this in the top of your file
the program doesn't create a header file.
You must use '(*#', '#' stands for MPE options.
Example Header (like idea from Jan van der Baard, Thanks Jan )
(*#-- BEGIN AutoRevision header, please do NOT edit!
*
* Program : MPE.mod
* Copyright : 1992 ⌐, DigiSoft
* Author : Marcel Timmermans
* Address : Holthuizerdreef 13, 6852 JH HUISSEN, HOLLAND
* Creation Date : 21-12-1991
* Current version : 1.06
* Translator : M2Amiga 4.0d
*
* REVISION HISTORY
*
* Date Version Comment
* --------- ------- ------------------------------------------
* 25-04-1992 0.80 First test Option
* 05-05-1992 0.90 Changed requesters, Compile generator
* 09-05-1992 1.00 First Release
* 23-05-1992 1.01 Changed mayor bug in run program
* 23-05-1992 1.02 Added AutoRevision Header
* 23-05-1992 1.03 Change Settings window with more options
* 26-05-1992 1.05 Make a headerparser and changed settings
* 27-05-1992 1.06 Changed create default write for files
*
*-- END AutoRevision header --*)
I hope your like it. New suggestions are welcom !!
So you know the menus and now you can load your project, main module, second
module, compiling, linking , building etc.
----------------------------------------------------------------------------
KNOWN BUGS
----------------------------------------------------------------------------
o - When you put in the user options a program that detach itself,
sometimes it is possible that under KickVersion 1.2/1.3 the system
hangs. I don't know why this is happend.
----------------------------------------------------------------------------
FUTURE CHANGES
----------------------------------------------------------------------------
o Remove the bug's offcource
If you have more suggestions, please let me know.
-REVISION HISTORY-
****************************************************************************
*
* REVISION HISTORY
*
* Date Version Comment
* --------- ------- ------------------------------------------
* 25-04-1992 0.80 First test Option
* 05-05-1992 0.90 Changed requesters, Compile generator
* 09-05-1992 1.00 First Release
* 23-05-1992 1.01 Changed mayor bug in run program
* 23-05-1992 1.02 Added AutoRevision Header
* 23-05-1992 1.03 Change Settings window with more options
* 26-05-1992 1.05 Make a headerparser and changed settings
* 27-05-1992 1.06 Changed create default write for files
* 28-05-1992 1.07 Optimized some routines
* 28-05-1992 1.08 added resident options
* 28-05-1992 1.09 Added .doc optie by editor
* 30-05-1992 1.10 Remove lock bug, free one lock to much
* 31-05-1992 1.11 Remove Ref opt., changed options routine
* 07-06-1992 1.12 Remove Mayor bug from LoadSettings
* Remove some bug's for A3000 use
* 08-06-1992 1.13 Changed some minor bugs in Settings
* 13-06-1992 1.14 Added Reqtools library options
* 15-06-1992 1.15 Added some error routines
* 25-06-1992 1.16 Added m2pool option
* 01-07-1992 1.17 Changed routine QuitM2pool, Release 2
* 05-08-1992 1.18 Changed procedure startCompiler
* 06-08-1992 1.19 Added menu ProcessorType
* 07-08-1992 1.20 Make check for obj type (Processor sort)
* 09-08-1992 1.21 added m2project program
* 10-08-1992 1.22 added help text option
* 10-08-1992 1.23 remove minor bug dir_filerequester
* 11-08-1992 1.24 added options to ENV:
* 23-08-1992 1.25 Make a better structure and comment progs
* 24-08-1992 1.26 change updatesettings procedure
* 25-08-1992 1.27 Added module check option
* 25-08-1992 1.28 Give more information to user,loading etc
* 30-08-1992 1.29 Don't rember Project path in configrecord
* 30-08-1992 1.30 Added M2liblink with options to mpe
* 01-09-1992 1.31 Changed compiler options
* 13-09-1992 1.32 Cleanup some routines
* 22-09-1992 1.33 Remove bug filerequester and autoheader
* 23-09-1992 1.34 Change autorevision procedure. Now you
* can give more text than just a little bit
* of words. Maximum is 10 lines of text.
* You don't have to insert \n or something.
* 27-09-1992 1.35 Added an ARexxPort with some commands,
* its my first atempt to work with arrex in a
* program so don't hit me when something
* goes wrong ! But report the Bug.
* 07-10-1992 1.36 Optimize the routines in the
* filerequester and the gadgets support
* module.
* 08-10-1992 1.37 Make input and output possible by running
* the program by a simple way starting a
* newcli with the needed program.
* 01-11-1992 1.38 Release 4
*
(*-------------------------------------------------------------------------*)
The author,
My english is not very good, so i hope you will accept my bad writing.
If you find any bugs, or you have ideas to make the program more
user-friendly, please report to me at the following address:
Marcel Timmermans
Holthuizerdreef 13
6852 JH, Huissen (gld)
Holland / Europe.
After the date 30-november-1992 i'm moving out to a new home.
Than my new address is:
Marcel Timmermans
AagjeDekenStraat 22
6836 RM Arnhem
Holland / Europe.
Please, if you like (or don't) the program or you make use of it
let me now.
Greeting's to
- Fridtjof Siebert
- Jan van den Baard
- Dr. Maybe
- Lars Van Jeurissen
- A+LAG for M2Amiga.
- Fred Fish for his great job.