From a9f6df9e7116492847db39adb8bf4e36a06b3058 Mon Sep 17 00:00:00 2001 From: Stephen D'Angelo Date: Fri, 20 May 2016 12:25:31 -0400 Subject: [PATCH] parser: Support .pragma statements These are returned as "qmlpragma" with the token following ".pragma" (e.g. "library"). --- src/parser.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/parser.js b/src/parser.js index f63400c..f0791fe 100644 --- a/src/parser.js +++ b/src/parser.js @@ -823,6 +823,9 @@ function qmlweb_parse($TEXT, document_type, exigent_mode, embed_tokens) { case ";": next(); return as("block"); + case ".": + return is_token(peek(), "name", "pragma") + ? qml_pragma_statement() : unexpected(); default: unexpected(); } @@ -904,6 +907,14 @@ function qmlweb_parse($TEXT, document_type, exigent_mode, embed_tokens) { return as("stat", prog1(expression, semicolon)); }; + function qml_pragma_statement() { + next(); + next(); + var pragma = S.token.value; + next(); + return as("qmlpragma", pragma); + }; + function break_cont(type) { var name = is("name") ? S.token.value : null; if (name != null) {