Commit 5e3fafb0 authored by Thomas van Noort's avatar Thomas van Noort
Browse files

Post-migration cleanup: removing folders that are already in other repositories

parent 588ebdf9
Pipeline #21074 failed with stages
in 16 seconds
This diff is collapsed.
\About
\DClean Options
\c A utility to change the options
\c of Clean applications
\c© 1998
\cUniversity of Nijmegen
\cand
\cHILT - High Level Software Tools B.V.
\cNijmegen - The Netherlands
\dFor information about the Clean System
\d see <http://www.cs.kun.nl/~clean/>
\EndAbout
\Help
\DClean Options
\c A utility to change the options
\c of Clean applications
\c© 1987-1997
Clean Options is a utility to change the run-time options of PowerPC
applications that are generated with the Clean Programming environment.
\DCopyright Notice and Disclaimer
© 1998
Computing Science Institute
University of Nijmegen
Nijmegen - The Netherlands
and
HILT - High Level Software Tools B.V.
Nijmegen - The Netherlands
e-mail: clean@cs.kun.nl
www: <http://www.cs.kun.nl/~clean/>
We do not make any warranty, either express or implied, with respect to this
software.
\DUsage
Choose "Open Application..." from the File Menu, or drop an application on
the Clean Options application.
\DExplanation of the options
Application options are stored in the resource of the corresponding application
and examined by its run-time system before the execution starts.
\b¥ Configuration
Set the heap space and the maximal amount of space available for the stacks.
The stack space is created outside the heap space. The extra memory is needed
for administration and is highly determined by the number of files and
windows that are opened. 40 to 60K will be enough in general. An application
may crash when this value is set too low.
The application will stop with a run-time error message when a heap turns out
to be too small during execution. It will also stops when the stack is too small
and code is generated to test on the stack boundaries.
When the stack boundaries are not checked the program may crash or behave
unpredictable after a stack overflow.
Increase the space sizes when the application needs more memory. It is also
possible that the application requires less memory. For an optimal tuning look
at the run-time information that the application can produce (see below).
\b¥ Information
An application can produce all kinds of information to make an optimal tuning
of the memory size to be assigned to the application possible.
The execution time will be displayed when the application stops and Show
Execution Time is chosen.
Each time the garbage collector is invoked this is displayed when Show Garbage
Collections is chosen. The run-time system uses both a copying as well as a
mark-scan garbage collection algorithm. It automatically switches between
these two garbage collection strategies to obtain an optimal time/space
behaviour. This option gives you information about how well the heap size
was chosen.
In addition, also the sizes of the different stacks are printed when Print Stack
Size is chosen. This helps to tune the sizes of the stacks.
\b¥ Output
With these options one has control over the way the result of the Start function
is displayed.
Choose Show Constructors and all constructors and brackets will be shown.
Choose Basic Values Only if you only want to display basic values only (integers,
booleans, strings, characters, reals).
Choose No Console if the I/O of the program is handled via the I/O libraries.
When this option is chosen no console (output window) for the program will be
provided and the result of the Start function will not be displayed. When the
Clean program explicitly tries to write to the console a console window will be
opened. So, when your program terminates unexpectedly probably a run-time
error has been detected. Choose one of the other Output options and run the
program again to be able to read the error message.
The font and size of the generated output on the console can also be set in the
dialog that appears when the Font button is pressed. This option has no effect
when the output of the program is done via the I/O libraries of Clean.
\EndHelp
module CleanOptions
import StdInt, StdBool, StdArray, StdMisc
import EdProgramState, EdOptionsMenu1, EdCleanSystem, EdWindowsMenu, EdPath
import linker_resources
import deltaTimer, deltaWindow, deltaEventIO, deltaFileSelect, deltaDialog
// RWS
import RWSDebug
Start :: !* World -> * World;
Start world
# (aboutDialogue,world)
= accFiles (\f->MakeAboutDialog "Clean Options" f Help) world
# (events, world)
= OpenEvents world
# ({world}, events)
= StartIO [about, menus,appleEvents] {editor=InitEditor "", world=world} [] events
with
about
= DialogSystem [aboutDialogue]
menus
= MenuSystem [file]
appleEvents
= AppleEventSystem {openHandler = OpenFile, quitHandler = Quit, clipboardChangedHandler = NoOp}
file
= PullDownMenu 0 "File" Able
[ MenuItem 1 "Open Application..." (Key 'O') Able Open,
MenuItem 2 "Help" (Key 'H') Able Help,
MenuSeparator,
MenuItem 3 "Quit" (Key 'Q') Able Quit
]
# world
= CloseEvents events world
= world
Quit :: *p (IOState *p) -> (*p, (IOState *p))
Quit p io
= (p, QuitIO io)
Open :: ProgState IO -> ProgIO
Open p io
# (open, path, p, io)
= SelectInputFile p io
| not open
= (p, io)
# (p, io)
= ChangeApplicationOptions path p io
= (p, io)
OpenFile :: {#Char} ProgState IO -> ProgIO
OpenFile path p io
| RemovePath path == HelpFile
= Help p io
// otherwise
= ChangeApplicationOptions path p io
Alert :: String !*state !(IOState *state) -> (*state, IOState *state)
Alert message state ioState
= OpenModalDialog alertDialog state ioState
where
alertDialog
= CommandDialog 1 "" [size] okID [text, okButton]
size
= DialogSize (Pixel 341) (Pixel 98)
okButton
= DialogButton okID okPosition "OK" Able AlertOK
okID
= 11
okPosition
= ItemBox 273 68 60 20
text
= StaticText 12 textPosition message
textPosition
= ItemBox 25 8 306 55
AlertOK :: DialogInfo *state (IOState *state) -> (*state, IOState *state)
AlertOK info state ioState
= (state, CloseActiveDialog ioState)
Error :: {#Char} ProgIO -> ProgIO
Error message (state, ioState)
= Alert message state ioState
ChangeApplicationOptions :: {#Char} ProgState IO -> ProgIO
ChangeApplicationOptions path p=:{world} io
# ((read, applicationOptions, pef_size), world)
= accFiles (ReadApplicationOptions p.editor.defaults.ao path) world
| not read
= Error "Application options could not be read" ({p & world = world}, io)
# p
= {p & world = world, editor.defaults.ao = applicationOptions}
# (p=:{world}, io)
= ApplicationOptions p io
# (written, world)
= accFiles (WriteApplicationOptions p.editor.defaults.ao pef_size path) world
| not written
= Error "Application options could not be written" ({p & world = world}, io)
= ({p & world = world}, io)
ReadApplicationOptions :: ApplicationOptions {#Char} *Files -> ((Bool, ApplicationOptions, Int), *Files)
ReadApplicationOptions applicationOptions path files
# (ok, (fs, fn), hs, heap_size_multiple, ss, flags,
initial_heap_size, memoryProfilingMinimumHeapSize, pef_size, application_and_extra_memory_size, files)
= read_application_options path files
| not ok
= ((ok, applicationOptions, 0), files)
= ((ok, {FlagsToApplicationOptions flags applicationOptions & ss=ss, fs=fs, fn=fn, hs=hs,
em=application_and_extra_memory_size-pef_size,
heap_size_multiple=heap_size_multiple, initial_heap_size=initial_heap_size,
memoryProfilingMinimumHeapSize=memoryProfilingMinimumHeapSize}, pef_size),
files)
WriteApplicationOptions :: ApplicationOptions Int {#Char} *Files -> (!Bool, !*Files)
WriteApplicationOptions applicationOptions=:{ss, fs, fn, hs, em, heap_size_multiple, initial_heap_size,
memoryProfilingMinimumHeapSize} pef_size path files
= create_application_resource path (fs, fn) hs heap_size_multiple ss flags
(pef_size+em) initial_heap_size memoryProfilingMinimumHeapSize files
where
flags
= ApplicationOptionsToFlags applicationOptions
NoOp :: *p (IOState *p) -> (*p, (IOState *p))
NoOp p io
= (p, io)
This diff is collapsed.
Version: 1.3
DefCompiler
NeverMemoryProfile: False
NeverTimeProfile: False
StrictnessAnalysis: True
ListTypes: NoTypes
ListAttributes: False
Warnings: False
Verbose: False
ReadableABC: False
ReuseUniqueNodes: False
DefCodeGen
CheckStacks: False
CheckIndexes: False
KeepABC: False
TargetProcessor: CurrentProcessor
DefApplication
HeapSize: 409600
StackSize: 102400
ExtraMemory: 81920
IntialHeapSize: 204800
HeapSizeMultiplier: 4096
ShowExecutionTime: False
ShowGC: False
ShowStackSize: False
MarkingCollector: False
Profile
Memory: False
MemoryMinimumHeapSize: 0
Time601: False
Time: False
Output
Output: ShowConstructors
Font: Courier
FontSize: 8
WriteStdErr: False
DefProject
Verbose: False
Clipboard
Editor
TabSize: 4
Font: Courier
FontSize: 8
AutoIndent: True
WindowPosition
X: 0
Y: 0
SizeX: 500
SizeY: 300
DefEdit
Editor
TabSize: 4
Font: Courier
FontSize: 8
AutoIndent: True
WindowPosition
X: 0
Y: 0
SizeX: 500
SizeY: 300
Errors
Editor
TabSize: 4
Font: Courier
FontSize: 8
AutoIndent: True
WindowPosition
X: 0
Y: 0
SizeX: 500
SizeY: 300
Types
Editor
TabSize: 4
Font: Courier
FontSize: 8
AutoIndent: True
WindowPosition
X: 0
Y: 0
SizeX: 500
SizeY: 300
Project
Editor
TabSize: 4
Font: Courier
FontSize: 8
AutoIndent: True
WindowPosition
X: 0
Y: 0
SizeX: 500
SizeY: 300
module DialogueUtilities
import StdEnv
import Diagnostics
Start
= 17
import StdDialog
:: *DialogueIds :== Int
NewDialogueIds :: DialogueIds
NewDialogueIds
= 0
Don`tCare :== 0
:: DialogueDefinition *prog =
{
title
:: DialogTitle,
attributes
:: [DialogAttribute],
items
:: [],
buttonIds
:: Int
}
NewDialogueDefinition :: {#Char} [DialogAttribute] -> DialogueDefinition *programState
NewDialogueDefinition title attributes =
{
title
= title,
attributes
= attributes,
items
= [],
buttonIds
= 0
}
class StateWithDialogueIds .a
where
GetDialogueIds :: a -> (DialogueIds, a)
PutDialogueIds :: DialogueIds a -> a
OpenDialogue :: (DialogueDefinition *prog) *prog (IOState *prog) -> (*prog, IOState *prog) | DialogueIds prog
OpenDialogue def prog io
# (ids, prog)
= GetDialogueIds prog
# (id, ids)
= NextDialogueId id
# prog
= PutDialogueIds prog
= (prog, io)
// CloseDialogue :: DialogueIncarnation
/*
Button :: {#Char}
Title :: {#Char} ItemPos -> DialogItem s (IOState s)
class Dialogue a
where
PutValues :: a Dialogue -> Dialogue
GetValues :: a -> (a, Dialogue)
class NewDialogue :: a ->
*/
\ No newline at end of file
definition module EdCommandsMenu;
/* The commands of the Edit menu */
import EdProgramState;
Compiler :: !ProgState !IO -> ProgIO;
CheckSyntax :: !ProgState !IO -> ProgIO;
GenerateAssembly :: !ProgState !IO -> ProgIO;
BringUpToDate :: !ProgState !IO -> ProgIO;
Run :: !ProgState !IO -> ProgIO;
definition module EdConstants;
/* The constants for the Editor */
import deltaSystem;
from EdTypes import :: WindowPos_and_Size{..}, :: Pathname, :: List,:: SearchKind (Implementation),
:: Processor (CurrentProcessor), :: Output (ShowConstructors), :: ListTypes (NoTypes),
:: SearchType (SearchImports);
import EdTextConstants;
/* The version number of the compiler */
Version :: Int;
/* The name of the help and preferences files */
HelpFile :== "Clean Help";
// RWS options: HelpFile :== "Clean Options Help";
PrefsFile :== "CleanPrefs";
ApplicationName :== "CleanIDE";
/* The name of the system directory */
SystemDir :== "Clean System Files";
/* The names of the auxilary files for the error and type window */
ErrorPathname :== "Errors";
TypePathname :== "Types";
/* Default values */
/*
DefIgnoreCase :== False;
DefBackwards :== False;
DefWrapAround :== True;
DefMatchWords :== False;
DefSearchKind :== Implementation;
DefScan :== SearchImports;
DefExportsOnly :== False;
DefFindVerbose :== True;
DefTabWidth :== 4;
DefAutoIndent :== True;
DefCompilerMemoryProfile :== True;
DefCompilerTimeProfile :== True;
DefStrictnessAnalysis :== True;
DefTypes :== NoTypes;
DefAttr :== False;
DefWarnings :== False;
DefVerbose :== False;
DefComment :== False;
DefReuseUniqueNodes :== False;
DefCheckStacks :== False;
DefCheckIndices :== False;
DefKeepABCFile :== False;
DefTargetProcessor :== CurrentProcessor;
DefHeapSize :== 409600;
DefStackSize :== 102400;
DefExtraMem :== 81920;
DefaultHeapSizeMultiple :== 4096/*16*256*/;
DefaultInitialHeapSize :== 204800;
DefShowExecTime :== False;
DefShowGCs :== False;
DefPrintStackSize :== False;
DefOutput :== ShowConstructors;
DefProfile :== False;
DefProfile601 :== False;
DefMemoryProfile :== False;
DefMemoryProfileMinimumHeapSize :== 0;
DefWriteStderrToFile :== False;
DefBeVerbose :== False;
*/
/* initial cursor blinking rate (will be ignored) */
BlinkRate :== 30;
/* interrupt rate of interruptable processes (like Find Definition, Bring Up To Date etc.) */
InterruptRate :== 30;
/* Picture offsets */
PictureTop :== -31000; // Lowest save value
MinBottom :== -30700; // PictureTop + 300
PictureLeft :== -6;
PictureRight :== 4000;
LinesLeft :== 0; // Must be zero!
/* Window constants */
FirstEditWdID :== 4000;
NoWdID :== 0;
HelpWdID :== 1;
ClpbrdWdID :== 2;
ProjectWdID :== 3;
ErrorWdID :== 4;
TypeWdID :== 5;
ClpbrdWdTitle :== "Clipboard";
ErrorWdTitle :== "Errors";
TypeWdTitle :== "Types";
DefWindowPos_and_Size :== {posx=0,posy=0,sizex=500,sizey=300};
WdCorner :== (0,0);
WdInitSize :== (500,300);
WdMinSize :== (70,70);
HorScroll :== 10;
VertScroll :== 10;
/* Ids of the menu(item)s */
MFileID :== 10;
INewID :== 101;
IOpenID :== 102;
IOpDefID :== 103;
IOpImpID :== 104;
ISwapID :== 105;
ICloseID :== 106;
ISaveID :== 107;
ISavesID :== 108;
IPrintID :== 109;
IReverID :== 110;
IQuitID :== 111;
MEditID :== 20;
IUndoID :== 200;
ICutID :== 201;
ICopyID :== 202;
IPasteID :== 203;
IClearID :== 204;
IBalanID :== 205;
ISelecID :== 206;
IFormaID :== 207;
IShiftLeftID :== 208;
IShiftRightID :== 209;
MSearcID :== 30;
IFindID :== 301;
IFindNID :== 302;
IFindSID :== 303;
IReplaID :== 304;
IFindEID :== 305;
IFindIdID :== 306;
IFindDID :== 307;
IFindIID :== 308;
IGotoCID :== 309;
IGotoLID :== 310;
MCommaID :== 40;
ICompiID :== 401;
ICheckID :== 402;
IGenerID :== 403;
IBriUDID :== 404;
IExecuID :== 405;
MProjeID :== 50;
INewPrID :== 501;
IOpePrID :== 502;
ISetPrID :== 503;
ICloPrID :== 504;
IWinPrjID :== 505;
MOptioID :== 60;
ICleanID :== 601;
ICodeGID :== 602;
IAppliID :== 603;
IProjeID :== 604;
IPathsID :== 605;
ILinkOptionsID :== 606;
MWindoID :== 70;
INextWID :== 701;
IShowCID :== 702;
IHelpID :== 703;
ISaveaID :== 704;
IClosaID :== 705;
IWindoID :== 706;
MFreeID :== 90; // First free menu id.
IFreeID :== 901; // First free menu item id.