-
Very long ago ;)
-
- first ideas for code generator for automated generation of
BOOPSI classes. Tries with awk and awk-simulating programs
-
1994 Still long ago ;)
-
- built a simple template expander to build an internal variables
management for XDME.
-
1996 - old generator
-
- Started NyktOP as a textbased framework of templates to support
myself writing a bigger C++ project (RODEO/II). (started w/ awk,
then reused the old template expander)
- This support should cover the complete generation thats also done
by MOOSE, but unfortunately this is more getting a collection of
hacked and unmaintainable templates than a framework.
-
1997 - old generator
-
- finished RODEO/II
- the template based code generators are now quite complete, but
the system is still (more than ever before) something like a
collection of hacks.
-
end 1997 - old generator
-
- Tries to rewrite the existing templates with underlined keywords (in
vane, discontinued)
-
spring 1998 - nykditor
-
- While hacking a statemachine-editor (hey, is all, that I do hacking?)
got the idea to restart NyktOP with other languages support and to reuse
the editor for model editing.
-
august 1998 - nykditor / nyktop-tcl
-
- support library for tcl as part of nykditor.
-
fall 1998 - old generator
-
- TCL generator in old .pre format; trying to keep the editor
generic in order to reuse it with other duties.
- First tries to support perl
-
end 1998 - nykditor
-
- statemachine editor basically functional. editor is now reusable
also with pseudo-moose notation and netz-notation for "semantische
netze". First tries to make parts of the editor oo.
-
start 1999 - nykditor
-
- added basics of a simple eer-config for editor. (saw the notation
in the db- school book of a friend.
-
early 1999 - nykditor
-
- since the statemachine data model must be reused in Smalltalk,
multiple inheritance is a nono - hey, U've seen that really early
-
99-05-01 - generator
-
- perl based generator started: perl-generator.
-
99-05-0* - nyktop-perl
-
- perl support library fixed.
-
99-05-06 - nykditor
-
- changed the data-modell to aggregation instead of inheritance. I.e.
Data object and Gfx object are now separated. Old configurations
don't work any more - U need a complete data model for every
configuration now). Note, that elder slang files don't work with
the new data format, since slang structure = class hierarchy
-
99-05-10 - generator
-
- tcl-generator moved from .pre to perlbased generator
-
99-05-15 - generator
-
- file-split: parser & separate code generators;
smalltalk generator added.
-
99-05-17 - generator
-
- gperf generator added
-
99-05-23 - nyktop-perl
-
- added simple modules to allow perl-style
"use nyktop::class(classname);
use nyktop::attribute(attribute,type);"
instead of calling
the commands.
-
99-05-22 - web page
-
- Web pages stated
-
99-05-25 - *
-
- disclaimers added
-
99-05-27 - generator
-
- pre-generator added. export to old template based generator
now possible.
-
99-05-30 - nykditor
-
- changed editor class names;
- States component is working again
-
99-05-31 - nykditor
-
- Moose config is working again
-
99-05-31 - nyktop-tcl lib
-
- now runtime generation of access methods and of instance functions.
oo notation is now usable (and its a bit faster that old procedural
notation)
-
99-06-02 - web page
-
- minor changes; added parts of RODEO/II documentation, which
describe the the old .pre-based code-generator (german only)
-
99-06-08 - nyktop-tcl lib
-
- speed up in access methods (direct var access instead of *ViaHandle)
-
99-06-10 - nykditor
-
- textPos; context menus
- major reduction of "modality"
-
99-06-11 - generator
-
- added fromSlang.pl to import MiniMoose slang files.
-
99-06-12 - nykditor
-
- Patterner config added (old ered- and netz- configs still not updated,
since noone uses em)
- moose renamed to minimoose
- started rewriting gui components with vtcl.
-
99-06-13 - nyktop-tcl
-
- due to the fact, that reading slang-files is a pain with interpreting
languages (12 secs for 50 objects in tcl), I've added a fast-dump command.
This writes the objects database as tcl-set commands; this file format is
definitively _not_ portable to other NyktOP supported languages, thus
its usage is strongly disencouraged (but it is 5 (write) to 50 (read)
times faster than slang-I/O (about 1/3 sec for 50 objects, almost zero
time)) ;)
-
99-06-13 - web page
-
- minor changes;
- Added history.html, html.tar.gz
-
99-06-14 - nykditor
-
- added line decor
- major restructuring in order to make replacements work
(bindings still need update)
- nyktop-tcl got support for "temp objects"
-
99-06-15 - nykditor
-
major changes in file structure to prepare ongoing switch
to vtcl-based gui
-
99-07-16 - nyktop-tcl
-
added support for lex-generated scanner (c-module)
-
99-08-01 - nykditor
-
vtcl based gui now being used in states & minimooose
-
99-08-03 - nyktop-tcl
-
fixed a bad bug in dcoI* - obviously that methods had never worked
-
99-08-05 - nykditor
-
vtcl-based gui should now truly support zooming (may be some oddities
remain) (nykditor.tcl should be rewritten asap completely)
-
99-08-05 - web page
-
updated the html pages a bit
-
99-08-20 - nykditor
-
Bugfix in methods: 'center' overwrote an attribute name. Thus
delete did not work in the recent version.
Just for fun (decor for a friend's thesis): another more classical
Entity Relationship configuration (no generator support).
-
99-08-22 - generator
-
Just for fun: a Visual Basic (or vba?) code generator. (only for
models w/out inheritance at all)
-
00-02-19 - generator
-
(Sorry for the long gap ... had some exams).
Added a conversion of 'gen.html.tplt' and some rough conversion of
'gen.[Ch].tplt' called 'htmlcc' (html documentation of cc sources)
and 'cc' (cc sources).
Started some restructuring in the generators area: Output is now
sent through a command instead working on files directly. Started
some sort of OO interface to the '.input' file's structure. (Still
not yet finished; furthermore preparing the step from 'long coded'
generators to 'distributed' generators)
The generator modules 'gperf', 'htmlcc', 'idl', 'java', 'perl',
'pgsql', 'pre', 'st', 'tcl' and 'vb' do generate now w/out
major problems. The generated code however (not usable at all)...
Code of the generator modules 'htmlcc', 'perl', 'pre' and 'tcl'
has been tested. It is surely not perfect, but it is working.
-
00-03-02 - generator
-
Added a basic Python code generator and prepared initial
python runtime support library. (slang writer is ok, slang reader
is to be finished yet)
-
00-03-02 - web page
-
minor updates in sources, index, tgz into subdir
-
00-03-05 - generator
-
Added a basic sql3 generator. now we should start implementing
support libs ;)
-
00-03-24 - nyktop-perl runtime lib
-
started rewriting slangio.pm (more in a oo way - the python solution
was just too nice)
-
00-03-30 - nykditor
-
minor bugfixes in callback: redraw did not deallocate prior instances
of the temp decor dots. (annoying especially in company with
.fdumps)
-
00-04-20 - nyktop-python runtime lib
-
First steps of a generic XML reader.
-
00-04-2x - generator
-
separate perl generator for immediate code generation. (no need for
the nyktop library).
-
00-05-05 - generator
-
Added a basic XML DTD generator (and also a python module to
read some kind of xml files). However many many constructs will
lead to 'illegal' DTDs (XML has some very senseless restrictions
like only global !ELEMENTs and limited #PCDATA).
-
00-05-1* - generator
-
split generator.pl into frontend.pl and support_input. thus we should
be able to reuse support_input for the framer project and frontend.pl
for slang files.
added support modules basics.pm for some common initialization.
-
00-05-1* - generator
-
made idl generator basically work. Since however we have no
working CC generator, the generator is quite useless I fear.
-
00-05-1* - framer
-
Since the current generators every time consist of only one great
function, they tend to be spaghetti code. They would get much more
flexible if we could cut them into little pieces that are loosely
bunched together. For this purpose we are starting the framer
sub-project
-
00-06-0* - generator
-
Added a basic Javascript code generator (divided into two parts:
one (js) for te runtime structures and one (js_back) to prepare editor
interfaces).
-
00-06-1* - generator
-
Added a basic CGI interface code generator based on js_back to
prepare default editor interfaces).
-
00-06-28 - html
-
Updated history, changed index.html's encoding to utf-8 (now
greek should B readable).
-
00-07-12 - framer
-
First framer based generator: 'xol'. Now we need a frameweork
around to support definition of new patterns.
-
00-07-27 - generator
-
Added framer/tclcgi.pm: tcl-based cgi-binaries
Added generator/tclcgi.pm: tcl-based cgi-binaries (together with
sql-interface).
-
00-07-28 - *
-
Changes in distribution scripts (I did not notice, that '.gz'
contains file creation timestamp).
New archive web (more like an example).
Moved tcl-slang into tcl.
-
00-08-10 - html2cgi
-
Added a new subproject html2cgi: a converter from html
to cgi code (currently supported outputs: tcl)
-
00-08-2* - html2cgi
-
html2tcl is quite usable now;
-
00-08-28 - generator
-
Tried to make delphi language support working (used fpk
as compiler). connections and circular uses cause the
compiler to break; I fear this is a weakness of O-Pascal.
-
up to 01-04-14 - generator
-
Obviously nobody uses nyktop - I still haven't got any bug-report ...
Its been some time around now: finished my exams, left my flat in
kaiserslautern; started a new job in frankfurt (still searching for a
new flat, thus my private net.access is nearby non-existant)...
ok, in the meanwhile i've added several new generator modules;
they are quite closely connected to my current job (vshop)
- ccdefines.pm produces defines (text & id) for all attributes
and classes (working)
- ccmkf.pm produces Makefile.am files for zuse with automake
and ccmministl generator (working)
- ccministl.pm produces some minimalist cc classes based on
stl containers (working but still in development)
- ccdbif.pm produces some frontend classes, that can be put in
front of a database result set in order to add type checking
etc. (working but still in development)
support_pseudo.pm has got some improvements to support these
modules and some external functions.
Some other components have been created just for fun and have
not been checked nor tested at all:
- fpk.pm produces free pascal (delphi - like) code (just started;
hey while writing this history, I just note, that for the delphi.pm
I already had used fpk ... is fpk.pm perhaps obsolete?)
- php4.pm produces php classes. (just started)
- xmi-2-input.py should extract at least some information from an
(uml) XMI file into .input files
TODO: In the next time I should think about usercode,
methods and a working pattern system, since I've got a real lot
of method-patterns at least for ccministl.pm (outTo-, getFrom-
and/or checkFrom- for -SQL/DBResult, -Form/Parameters an/or
-Applet/RInfo). And something like generator-inheritance wouldn't
be bad either: the different cc-modules have very much in common.