summaryrefslogtreecommitdiff
path: root/src/webidl-lexer.l
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2015-07-22 22:12:05 +0100
committerVincent Sanders <vince@kyllikki.org>2015-07-22 22:12:05 +0100
commitd36c21c4f53270f9ba8137bb1e84a7de45fea0f3 (patch)
tree4adbd1bc49738ae348009b1be6ec54c43d038d8f /src/webidl-lexer.l
parent8bc392a91daf4cc1a27a8e6777af1a29ed24e3c4 (diff)
downloadnsgenbind-d36c21c4f53270f9ba8137bb1e84a7de45fea0f3.tar.gz
nsgenbind-d36c21c4f53270f9ba8137bb1e84a7de45fea0f3.tar.bz2
Load the WebIDL files specified in the binding
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.
Diffstat (limited to 'src/webidl-lexer.l')
-rw-r--r--src/webidl-lexer.l7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/webidl-lexer.l b/src/webidl-lexer.l
index 74b9bb8..e49b813 100644
--- a/src/webidl-lexer.l
+++ b/src/webidl-lexer.l
@@ -86,7 +86,7 @@ lineend ([\n\r]|{LS}|{PS})
hexdigit [0-9A-Fa-f]
hexint 0(x|X){hexdigit}+
-decimalint 0|([1-9][0-9]*)
+decimalint 0|([\+\-]?[1-9][0-9]*)
octalint (0[0-8]+)
@@ -207,6 +207,11 @@ void return TOK_VOID;
readonly return TOK_READONLY;
+Promise return TOK_PROMISE;
+
+iterable return TOK_ITERABLE;
+
+legacyiterable return TOK_LEGACYITERABLE;
{identifier} {
/* A leading "_" is used to escape an identifier from