summaryrefslogtreecommitdiff
path: root/src/webidl-parser.y
Commit message (Collapse)AuthorAgeFilesLines
* restructure AST node creation to avoid castsVincent Sanders2016-11-271-57/+93
| | | | | | | | | | | | | | | | This changes Abstract Syntax Tree node creation for both webidl and genbind syntax tress. If a node is to be created with a numeric value instead of a pointer a separate API is now used instead of casting through void. This fixes parsing and AST building on big endian 64bit platforms where casting through void, which is completely undefined behaviour, generates different and non-functioning code. The solution in this patch is properly portable and correct without relying on casting at all. Thanks to James Clarke <jrtc27@jrtc27.com> for the original debugging and patch demonstrating how to work round the bug.
* Correctly annotate unused variables with a macroVincent Sanders2016-02-061-2/+3
|
* Process extended attributes for constructorsVincent Sanders2015-09-301-101/+164
| | | | | Extended attributes for constructors and named constructors are now parsed into the AST as operations ready to be used to generate output.
* Add WebIDL parsing of dictionariesVincent Sanders2015-08-171-75/+225
| | | | | | This adds correct parsing of dictionaries into the AST. These entries in the AST are not yet used but do not affect generation of interfaces.
* Basic type checking for operation argumentsVincent Sanders2015-08-131-2/+22
| | | | | | | Arguments passed to basic operations are checked for type if they are strings, bolleans or numbers. Operations that are overloaded, special or have elipsis are not checked.
* Extend WebIDL parsing to cope with second edition IDL static interface elementsVincent Sanders2015-08-111-14/+92
|
* Update the interface map to contain all operation argumentsVincent Sanders2015-08-091-1/+13
| | | | | | | | | This extends the interface map (the intermediate representation) to have information on every operations arguments including overloading and optional arguments. This is important to allow automated checking of passed parameters numbers and types in future.
* Update the webidl parser to cope with specials and overloaded methodsVincent Sanders2015-08-021-20/+62
|
* Add property generation and add it to prototype constructionVincent Sanders2015-07-291-1/+1
|
* Load the WebIDL files specified in the bindingVincent Sanders2015-07-221-15/+89
| | | | | | | | | | | | | This loads the WebIDL specified in the bindings into an Abstract Syntax Tree (AST) and performs the mixin operations for implements. Additionally the specs now use a slightly extended IDL syntax. Instead of wholesale implementing the second edition of the IDL spec the parser has been updated to cope with iterator and Promise keywords as those are the only changes used in the dom and html specifications. A bug was also fixed in the lexer where negative int literals were not recognised.
* cope with older bison deirectives to get a pure parserVincent Sanders2014-05-021-1/+4
|
* fix extended attribute AST ordering and nestingVincent Sanders2013-01-311-16/+36
|
* annotate the webIDL AST with extended attributesVincent Sanders2013-01-281-10/+189
|
* add type suffix annotations to webidl ASTVincent Sanders2012-11-271-4/+25
|
* make property shared status and type handling selection genericVincent Sanders2012-11-211-4/+4
|
* add AST construction of constants in interfacesVincent Sanders2012-11-111-4/+55
|
* ensure all Dictionary paths return the correct value and do not add junk nodesVincent Sanders2012-11-071-0/+1
|
* implement the "implements" webidl directiveVincent Sanders2012-10-311-18/+37
|
* fix webidl DictionaryMember grammarVincent Sanders2012-10-231-1/+1
|
* The name of teh tool is nsgenbind correct this everywhereVincent Sanders2012-10-231-1/+1
|
* remove junk debugVincent Sanders2012-10-041-5/+0
|
* fix polymorphism in teh AST generationVincent Sanders2012-10-041-50/+94
|
* add modifier to allow setting of readonly or unsigned etc.Vincent Sanders2012-09-261-2/+27
| | | | add property getter/setter body
* put return type in argument list so we can have multiple prototypes per ↵Vincent Sanders2012-09-251-24/+29
| | | | operation (method)
* add interface function return typeVincent Sanders2012-09-241-0/+9
|
* add interface function argument and type processingVincent Sanders2012-09-241-14/+205
|
* add basic function body creationVincent Sanders2012-09-241-1/+1
|
* cope with partial interfacesVincent Sanders2012-09-201-17/+69
|
* add preamble outputVincent Sanders2012-09-141-1/+10
| | | | add operation nodes to webidl ast
* fixus interface memer attributesVincent Sanders2012-09-141-2/+24
|
* fix linking into global chainVincent Sanders2012-09-131-2/+9
|
* add debug dump to webidlVincent Sanders2012-09-131-0/+30
|
* construct the interface target nodeVincent Sanders2012-09-111-110/+122
|
* clean up parser warningsVincent Sanders2012-09-101-2/+21
|
* clean up AST building for both parsersVincent Sanders2012-09-101-23/+27
|
* alter InterfaceMembers to be left recusrsiveVincent Sanders2012-09-071-3/+9
| | | | Document accurately the changes from the w3c grammar
* slightly rearrange Web IDL start term to be left recusrsive and not have ↵Vincent Sanders2012-09-071-7/+4
| | | | reduce/reduce conflicts
* add copyright and licence noticesVincent Sanders2012-09-071-5/+10
|
* fixup error reporting to give linenumberVincent Sanders2012-09-071-4/+10
|
* make tests workVincent Sanders2012-09-051-2/+8
| | | | add basic commandlien handling
* Fix up bison usageJohn-Mark Bell2012-09-051-2/+0
|
* start using core buildsystemVincent Sanders2012-09-041-3/+1
|
* Initial version of netsurf webidl javascript binding geenrator toolVincent Sanders2012-09-041-0/+762