Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – tendra.SVN – Blame – /trunk/doc/components – Rev 6

Subversion Repositories tendra.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6 7u83 1
Components
2
==========
3
 
4
This document describes the various libraries, modules and tools which
5
are proposed to exist after the restructuring described by the
6
./outlineplan document.
7
 
8
 
9
Libraries
10
---------
11
 
12
After restructuring, we will be set to design APIs for two publicly-
13
available libraries:
14
 
15
 libTenDRA  The TenDRA compiler proper, providing an API interface.
16
 
17
            This should not be aware of how each producer and
18
            installer is implemented.
19
 
20
            The current tools (tcc, tnc, tld et al) then become simply
21
            CLIs to this library - essentially as they are currently,
22
            but with a formal interface instead of ad-hoc.
23
 
24
 libANDF    This is a point of confusion. libANDF is to be an API to
25
            manipulate ANDF (in much the same way as DOM and SAX
26
            manipulate XML).
27
 
28
            This was origionally to be called libTDF; unrelated to
29
            the original libTDF, which is a support library that is
30
            not visible to the user.
31
 
32
            This library is to be used by anything that accesses TDF.
33
            This includes the CLI tools (disp, tnc and such), the
34
            producers, and installers.
35
 
36
 
37
These libraries should not execute external programs, to avoid
38
configurations per-platform.
39
 
40
Both of these libraries are to be formed of existing code, with a new
41
publically acessible API specified to access them.
42
 
43
 
44
Modules
45
-------
46
 
47
The following modules will hook into libTenDRA:
48
 
49
 Installers Output from TDF to each machine's instructions.
50
 
51
 Producers  Parsing from input languages to TDF.
52
 
53
Each Installer and Producer is a dynamically-linked module, loaded at
54
runtime. These use libANDF for inputing or outputting TDF data.
55
 
56
 
57
Tools
58
-----
59
 
60
The following command-line interfaces are user-facing programs, which
61
may be used separately from the TenDRA project:
62
 
63
 disp       TDF pretty-printer.
64
 
65
 tcc        An interface to libTenDRA, capable of loading various
66
            producer and installer modules.
67
 
68
 tld        The TDF Linker.
69
 
70
 tnc        The TDF Notation Compiler (An unstructured TDF assembler
71
            and disassembler).
72
 
73
 tpl        The PL_TDF Compiler (a structured TDF assembler).
74
 
75
 lexi       A lexical generator.
76
 
77
 sid        Syntax Improving Device: a parser generator.
78
 
79
 calculus   An algebraic type system tool.
80
 
81
 
82
Utilities
83
---------
84
 
85
The following command-line interfaces are developer-facing programs,
86
which are specific to development of the TenDRA project:
87
 
88
 tspec      An API specification generation tool.
89
 
90
 make_err   A tool to manage the producer's error catalogues.
91
 
92
 make_tdf   A tool to generate TDF encoding and decoding routines.
93
 
94
            This is for libANDF, and, confusingly, uses the old lib/tdf.
95
 
96
 
97
A transition from the previous directory structure to the new layout
98
required for these components is described in the ./restructure
99
document.
100