diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-07-21 23:48:45 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-07-21 23:48:45 +0100 |
commit | 1288d8c535edd2ce29eebdc4acca6b2beab89841 (patch) | |
tree | 162bd2d090e03a7ffb9523797c1dd2aebbce236f /README | |
parent | 94137186a3e2270e9b96f243a82a77a590c17f01 (diff) | |
download | nsgenbind-1288d8c535edd2ce29eebdc4acca6b2beab89841.tar.gz nsgenbind-1288d8c535edd2ce29eebdc4acca6b2beab89841.tar.bz2 |
Change binding grammar to new approach.
Diffstat (limited to 'README')
-rw-r--r-- | README | 62 |
1 files changed, 61 insertions, 1 deletions
@@ -7,4 +7,64 @@ files and a binding configuration file. building -------- -The tool requires bison and flex as pre-requisites
\ No newline at end of file +The tool requires bison and flex as pre-requisites + +Commandline +----------- + +nsgenbind [-v] [-g] [-D] [-W] [-I idlpath] inputfile outputdir + +-v +The verbose switch makes the tool verbose about what operations it is +performing instead of teh default of only reporting errors. + +-g +The generated code will be augmented with runtime debug logging so it +can be traced + +-D +The tool will generate output to allow debugging of output conversion. +This includes dumps of the binding and IDL files AST + +-W +This switch will make the tool generate warnings about various issues +with the binding or IDL files being processed. + +-I +An additional search path may be given so idl files can be located. + +The tool requires a binding file as input and an output directory in +which to place its output. + + +Web IDL +------- + +The IDL is specified in a w3c document[1] but the second edition is in +draft[2] and covers many of the features actually used in the whatwg +dom and html spec. + +The principal usage of the IDL is to define the interface between +scripts and a browsers internal state. For example the DOM[3] and +HTML[4] specs contain all the IDL for acessing the DOM and interacting +with a web browser (this not strictly true as there are several +interfaces simply not in the standards such as console). + +The IDL uses some slightly strange names than other object orientated +systems. + + IDL | JS | OOP | Notes +-----------+------------------+----------------+---------------------------- + interface | prototype | class | The data definition of + | | | the object + constants | read-only value | class variable | Belong to class, one copy + | property on the | | + | prototype | | + operation | method | method | functions that can be called + attribute | property | property | Variables set per instance +-----------+------------------+----------------+---------------------------- + +[1] http://www.w3.org/TR/WebIDL/ +[2] https://heycam.github.io/webidl/ +[3] https://dom.spec.whatwg.org/ +[4] https://html.spec.whatwg.org/ |