Thursday, September 18, 2014

IDE Architecture

An overview and introduction to some of the conventions I will be using in constructing the IDE.

IDE architecture overview
The architecture of the IDE is loosely based on MVC concepts.
The model is the documents, that is, the Kori ASG code. It loads, saves, searches, and modifies the code.
The view presents the documents. That is, it translates the code from ASG to human readable statements.
The control is the app. It handles the events from the GUI, determining what the response should be. Commands that change the presentation, like scrolling, resizing, user preferences, are handled directly here. Others are passed to the doc or view as needed.
Manages the menus, tool, status, and WISADs.

File Extensions

Some of the file extension.
*.c
C language files: used for small ancillary functions.
*.cpp
C++ language files: code for the classes.
*.h
Header files: interface to the classes and functions.
*.mak
Make include-able files: extra information needed by make(1).

File Prefixes

File prefixes are use to categorize the source code.
app...
Starts the program. Acquires system resources. Sets up the GUI. Manages the GUI for any control that does not change the data. Cleans up when done.
doc...
Loads, saves, searches, and modifies the data.
vw...
Presents the documents.
kit...
Part of app: Handles the menu, toolbar, status bar, pop-up menus, and mouse appearance.
wiz...
Part of app: Handles the wizards.
net...
Part of app: Network interface, especially sockets.
prf...
Part of app: Handles user preferences.