summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-08-04 10:29:01 +0100
committerVincent Sanders <vince@kyllikki.org>2015-08-04 10:29:01 +0100
commita3224e5daea03c4dbf28a2d6a5c0ddb3ece1ed0a (patch)
treea1c6e20da3680df8d4fb212f29118d3fafe802e8 /README
parent6862f9c5c94bf8f668227f4bce200006ff2c7d17 (diff)
downloadnsgenbind-a3224e5daea03c4dbf28a2d6a5c0ddb3ece1ed0a.tar.gz
nsgenbind-a3224e5daea03c4dbf28a2d6a5c0ddb3ece1ed0a.tar.bz2
Update README with info on generated output
Diffstat (limited to 'README')
-rw-r--r--README56
1 files changed, 56 insertions, 0 deletions
diff --git a/README b/README
index eb42c83..a6efd38 100644
--- a/README
+++ b/README
@@ -288,6 +288,62 @@ The binding file consists of three types of element:
The cdata block is output.
+Generated source
+----------------
+
+duk_libdom
+
+ This binding type generates several files as output:
+ - binding.c
+ support function source
+
+ - binding.h
+ header to declare the support functions and magic constant
+
+ - prototype.h
+ header which declares all the prototype builder, initialiser
+ and finalizer functions.
+
+ - private.h
+ Which defines all the private structures for all classes
+
+ - C source file per class
+ These are the main output of the tool and are structured to
+ give the binding author control of the output while
+ automatically generating as much code as possible.
+
+ The files are generated in sections:
+ tool preface
+ binding preface
+ class preface
+ tool prologue
+ binding prologue
+ class prologue
+ initialiser
+ finalizer
+ constructor
+ destructor
+ methods
+ getters and setters
+ prototype
+ class epilogue
+ binding epilogue
+ tool epilogue
+ class postface
+ binding postface
+ tool postface
+
+ The preface, prologue, epilogue and postface are all
+ verbaitum output from the binding and class elements in the
+ binding. All the other sections are generated code augmented
+ and controlled by the binding.
+
+ Method generation produces a method with appropriate
+ signature added to the prototype. Any verbatum cdata from
+ the binding is added after the code that automatically
+ populates a private pointer of the appropriate type
+ (named priv).
+
References
----------