Terminology
Proxima
Naming conventions
In the text below, we will refer to the installation directory as
$proxima/, that contains the directories
proxima/,
generator/ and the Proxima instances (e.g.
dazzleEditor/).
File name conventions in $root/proxima/src/<layer>
Folders in
proxima/src/ correspond to the presentation layers with their interpretation counterparts and the level below them. The
evaluation layer also contains the
document level.
<level>.hs | ... |
<abbr-level>Types.hs | Basic data type definitions of a level |
<abbr-level>Utils.hs | Utility functions on the tree structure of a level |
<abbr-layer>LayerTypes.hs | Basic data type definitions of a layer |
<abbr-layer>LayerUtils.hs | Utility functions for a layer |
<abbr-layer>Present.hs | Exports function presentIO, to present the level (output= <level>) |
<abbr-layer>Interpret.hs | Exports function interpretIO, to interpret the level (input= <level>) |
File name conventions for an instance
Main.hs | Calls proxima with sheets |
Evaluator.hs | instance EvaluationSheet? definition ('implicit sheet') |
Presentation.ag | AG, how to present things |
ProxParser.hs | Parser and structure recognizer |
Reducer.hs | instance ReductionSheet? definition ('implicit sheet') |
ScannerSheet.x | Alex scanner |
DocumentTypeDefinition.prx | Datatype definitions |
<module>_Generated | Generated module from DocumentTypeDefinition.prx, with pieces of manual written code |
<module> is one of
- DocTypes
- DocumentEdit
- DocUtils
- PresentationAg
- ProxParser
Naming conventions
clip | Clipboard, for copy-paste |
reuse<...> | reuse a structure, replace changed things |
Str<...> | Structure |
Elt | Element (in XML) |
Terms
ID
An
IDP or
IDA denotes the identity of a token, used to store the whitespace and focus information for that token.
Hole
All data types from
DocumentTypeDefinition.prx are extended with a
Hole.
A hole in a data structure denotes an undefined value at that place.
Path
The position of a node in a parse tree is represented by a path (
type path = [Int]).
Starting from the root node, the values in the list denote which child (field) of the current node is descended (counting from 0).
So for example, with this toy example
Root = Root title:String Expr
Expr = Plus Expr Expr
| Val Int
and this parse tree
Root
"foo"
(Plus
(Val 1)
(Val 2)
)
then
[1,0] is the path to
Val 1, and
[1,0,0] the path to
1.
Node
A node is a tuple of some data structure and the Path that leads to it.
Clip
Clip stands for clipboard, and is used with selecting, copying, pasting and inserting structures.
--
MartijnSchrage - 04 Mar 2010