mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 22:52:11 +02:00
Start of QML parser.
Change-Id: I434e0267371a8b6e353c59b22d3b32832d842192
This commit is contained in:
parent
5028a94396
commit
00b591ae89
17 changed files with 765 additions and 0 deletions
7
qt/org.eclipse.cdt.qt.qml.core.tests/.classpath
Normal file
7
qt/org.eclipse.cdt.qt.qml.core.tests/.classpath
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
28
qt/org.eclipse.cdt.qt.qml.core.tests/.project
Normal file
28
qt/org.eclipse.cdt.qt.qml.core.tests/.project
Normal file
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>org.eclipse.cdt.qt.qml.core.tests</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,7 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
|
@ -0,0 +1,8 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: QML Tests
|
||||
Bundle-SymbolicName: org.eclipse.cdt.qt.qml.core.tests
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Fragment-Host: org.eclipse.cdt.qt.qml.core;bundle-version="1.0.0"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Require-Bundle: org.junit
|
4
qt/org.eclipse.cdt.qt.qml.core.tests/build.properties
Normal file
4
qt/org.eclipse.cdt.qt.qml.core.tests/build.properties
Normal file
|
@ -0,0 +1,4 @@
|
|||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.
|
|
@ -0,0 +1,25 @@
|
|||
package org.eclipse.cdt.qt.qml.core.tests;
|
||||
|
||||
import org.antlr.v4.runtime.ANTLRFileStream;
|
||||
import org.antlr.v4.runtime.CommonTokenStream;
|
||||
import org.eclipse.cdt.qt.qml.core.parser.QMLLexer;
|
||||
import org.eclipse.cdt.qt.qml.core.parser.QMLParser;
|
||||
import org.junit.Test;
|
||||
|
||||
@SuppressWarnings("nls")
|
||||
public class QMLParserTest {
|
||||
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
String path = "/Users/dschaefer/Qt/5.5/clang_64/qml/QtTest/TestCase.qml";
|
||||
ANTLRFileStream input = new ANTLRFileStream(path);
|
||||
QMLLexer lexer = new QMLLexer(input);
|
||||
CommonTokenStream tokens = new CommonTokenStream(lexer);
|
||||
QMLParser parser = new QMLParser(tokens);
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
parser.qmlProgram();
|
||||
System.out.println("time: " + (System.currentTimeMillis() - start) + "ms.");
|
||||
}
|
||||
|
||||
}
|
9
qt/org.eclipse.cdt.qt.qml.core/.classpath
Normal file
9
qt/org.eclipse.cdt.qt.qml.core/.classpath
Normal file
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry exported="true" kind="lib" path="antlr-runtime-4.5.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="src-gen"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
|
||||
<stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="clean,"/>
|
||||
<booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/org.eclipse.cdt.qt.qml.core" type="4"/> </resources>}"/>
|
||||
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.cdt.qt.qml.core"/>
|
||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <resources> <item path="/org.eclipse.cdt.qt.qml.core/ECMAScript.g4" type="1"/> <item path="/org.eclipse.cdt.qt.qml.core/JavaScript.g4" type="1"/> <item path="/org.eclipse.cdt.qt.qml.core/QML.g4" type="1"/> </resources>}"/>
|
||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.cdt.qt.qml.core/build.xml}"/>
|
||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
|
||||
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
|
||||
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.cdt.qt.qml.core}"/>
|
||||
</launchConfiguration>
|
4
qt/org.eclipse.cdt.qt.qml.core/.gitignore
vendored
Normal file
4
qt/org.eclipse.cdt.qt.qml.core/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
/src-gen/
|
||||
/antlr-4.5-complete.jar
|
||||
/antlr-runtime-4.5.jar
|
||||
/bbQML.g
|
38
qt/org.eclipse.cdt.qt.qml.core/.project
Normal file
38
qt/org.eclipse.cdt.qt.qml.core/.project
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>org.eclipse.cdt.qt.qml.core</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
|
||||
<triggers>auto,full,incremental,</triggers>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>LaunchConfigHandle</key>
|
||||
<value><project>/.externalToolBuilders/Antlr QML.launch</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,7 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
484
qt/org.eclipse.cdt.qt.qml.core/ECMAScript.g4
Normal file
484
qt/org.eclipse.cdt.qt.qml.core/ECMAScript.g4
Normal file
|
@ -0,0 +1,484 @@
|
|||
// ECMA-262 5.1
|
||||
|
||||
grammar ECMAScript;
|
||||
|
||||
singleExpression
|
||||
: Identifier
|
||||
;
|
||||
|
||||
functionDeclaration
|
||||
: Identifier '('
|
||||
;
|
||||
|
||||
WhiteSpaceSequence
|
||||
: WhiteSpace+ -> channel(HIDDEN)
|
||||
;
|
||||
|
||||
fragment WhiteSpace
|
||||
: [\t\u000B\u000C]
|
||||
// Unicode cat: Zs
|
||||
| '\u0020'
|
||||
| '\u00A0'
|
||||
| '\u1680'
|
||||
| [\u2000-\u200A]
|
||||
| '\u202F'
|
||||
| '\u205F'
|
||||
| '\u3000'
|
||||
;
|
||||
|
||||
MultiLineComment
|
||||
: '/*' .*? '*/' -> channel(HIDDEN)
|
||||
;
|
||||
|
||||
SingleLineCOmment
|
||||
: '//' ~[\r\n\u2028\u2029]* -> channel(HIDDEN)
|
||||
;
|
||||
|
||||
Identifier
|
||||
: IdentifierStart IdentifierPart*
|
||||
;
|
||||
|
||||
fragment IdentifierStart
|
||||
: UnicodeLetter
|
||||
| [$_]
|
||||
| '\\' UnicodeEscapeSequence
|
||||
;
|
||||
|
||||
fragment IdentifierPart
|
||||
: IdentifierStart
|
||||
| UnicodeCombiningMark
|
||||
| UnicodeDigit
|
||||
| UnicodeConnectorPunctuation
|
||||
| [\u200C\u200D]
|
||||
;
|
||||
|
||||
fragment HexDigit
|
||||
: [0-9a-fA-f]
|
||||
;
|
||||
|
||||
fragment UnicodeEscapeSequence
|
||||
: '\\' HexDigit HexDigit HexDigit HexDigit
|
||||
;
|
||||
|
||||
// Unicode cats: Lu, Ll, Lt, Lm, Lo, Nl
|
||||
fragment UnicodeLetter
|
||||
: [\u0041-\u005A]
|
||||
| [\u0061-\u007A]
|
||||
| '\u00AA'
|
||||
| '\u00B5'
|
||||
| '\u00BA'
|
||||
| [\u00C0-\u00D6]
|
||||
| [\u00D8-\u00F6]
|
||||
| [\u00F8-\u02C1]
|
||||
| [\u02C6-\u02D1]
|
||||
| [\u02E0-\u02E4]
|
||||
| '\u02EC'
|
||||
| '\u02EE'
|
||||
| [\u0370-\u0374]
|
||||
| [\u0376-\u037D]
|
||||
| '\u037F'
|
||||
| '\u0386'
|
||||
| [\u0388-\u03F5]
|
||||
| [\u03F7-\u0481]
|
||||
| [\u048A-\u0559]
|
||||
| [\u0561-\u0587]
|
||||
| [\u05D0-\u05F2]
|
||||
| [\u0620-\u064A]
|
||||
| [\u066E-\u066F]
|
||||
| [\u0671-\u06D3]
|
||||
| '\u06D5'
|
||||
| [\u06E5-\u06E6]
|
||||
| [\u06EE-\u06EF]
|
||||
| [\u06FA-\u06FC]
|
||||
| '\u06FF'
|
||||
| '\u0710'
|
||||
| [\u0712-\u072F]
|
||||
| [\u074D-\u07A5]
|
||||
| '\u07B1'
|
||||
| [\u07CA-\u07EA]
|
||||
| [\u07F4-\u07F5]
|
||||
| [\u07FA-\u0815]
|
||||
| '\u081A'
|
||||
| '\u0824'
|
||||
| '\u0828'
|
||||
| [\u0840-\u0858]
|
||||
| [\u08A0-\u08B4]
|
||||
| [\u0904-\u0939]
|
||||
| '\u093D'
|
||||
| '\u0950'
|
||||
| [\u0958-\u0961]
|
||||
| [\u0971-\u0980]
|
||||
| [\u0985-\u09B9]
|
||||
| '\u09BD'
|
||||
| '\u09CE'
|
||||
| [\u09DC-\u09E1]
|
||||
| [\u09F0-\u09F1]
|
||||
| [\u0A05-\u0A39]
|
||||
| [\u0A59-\u0A5E]
|
||||
| [\u0A72-\u0A74]
|
||||
| [\u0A85-\u0AB9]
|
||||
| '\u0ABD'
|
||||
| [\u0AD0-\u0AE1]
|
||||
| '\u0AF9'
|
||||
| [\u0B05-\u0B39]
|
||||
| '\u0B3D'
|
||||
| [\u0B5C-\u0B61]
|
||||
| '\u0B71'
|
||||
| [\u0B83-\u0BB9]
|
||||
| '\u0BD0'
|
||||
| [\u0C05-\u0C3D]
|
||||
| [\u0C58-\u0C61]
|
||||
| [\u0C85-\u0CB9]
|
||||
| '\u0CBD'
|
||||
| [\u0CDE-\u0CE1]
|
||||
| [\u0CF1-\u0CF2]
|
||||
| [\u0D05-\u0D3D]
|
||||
| '\u0D4E'
|
||||
| [\u0D5F-\u0D61]
|
||||
| [\u0D7A-\u0D7F]
|
||||
| [\u0D85-\u0DC6]
|
||||
| [\u0E01-\u0E30]
|
||||
| [\u0E32-\u0E33]
|
||||
| [\u0E40-\u0E46]
|
||||
| [\u0E81-\u0EB0]
|
||||
| [\u0EB2-\u0EB3]
|
||||
| [\u0EBD-\u0EC6]
|
||||
| [\u0EDC-\u0F00]
|
||||
| [\u0F40-\u0F6C]
|
||||
| [\u0F88-\u0F8C]
|
||||
| [\u1000-\u102A]
|
||||
| '\u103F'
|
||||
| [\u1050-\u1055]
|
||||
| [\u105A-\u105D]
|
||||
| '\u1061'
|
||||
| [\u1065-\u1066]
|
||||
| [\u106E-\u1070]
|
||||
| [\u1075-\u1081]
|
||||
| '\u108E'
|
||||
| [\u10A0-\u10FA]
|
||||
| [\u10FC-\u135A]
|
||||
| [\u1380-\u138F]
|
||||
| [\u13A0-\u13FD]
|
||||
| [\u1401-\u166C]
|
||||
| [\u166F-\u167F]
|
||||
| [\u1681-\u169A]
|
||||
| [\u16A0-\u16EA]
|
||||
| [\u16EE-\u1711]
|
||||
| [\u1720-\u1731]
|
||||
| [\u1740-\u1751]
|
||||
| [\u1760-\u1770]
|
||||
| [\u1780-\u17B3]
|
||||
| '\u17D7'
|
||||
| '\u17DC'
|
||||
| [\u1820-\u18A8]
|
||||
| [\u18AA-\u191E]
|
||||
| [\u1950-\u19C9]
|
||||
| [\u1A00-\u1A16]
|
||||
| [\u1A20-\u1A54]
|
||||
| '\u1AA7'
|
||||
| [\u1B05-\u1B33]
|
||||
| [\u1B45-\u1B4B]
|
||||
| [\u1B83-\u1BA0]
|
||||
| [\u1BAE-\u1BAF]
|
||||
| [\u1BBA-\u1BE5]
|
||||
| [\u1C00-\u1C23]
|
||||
| [\u1C4D-\u1C4F]
|
||||
| [\u1C5A-\u1C7D]
|
||||
| [\u1CE9-\u1CEC]
|
||||
| [\u1CEE-\u1CF1]
|
||||
| [\u1CF5-\u1CF6]
|
||||
| [\u1D00-\u1DBF]
|
||||
| [\u1E00-\u1FBC]
|
||||
| '\u1FBE'
|
||||
| [\u1FC2-\u1FCC]
|
||||
| [\u1FD0-\u1FDB]
|
||||
| [\u1FE0-\u1FEC]
|
||||
| [\u1FF2-\u1FFC]
|
||||
| '\u2071'
|
||||
| '\u207F'
|
||||
| [\u2090-\u209C]
|
||||
| '\u2102'
|
||||
| '\u2107'
|
||||
| [\u210A-\u2113]
|
||||
| '\u2115'
|
||||
| [\u2119-\u211D]
|
||||
| '\u2124'
|
||||
| '\u2126'
|
||||
| '\u2128'
|
||||
| [\u212A-\u212D]
|
||||
| [\u212F-\u2139]
|
||||
| [\u213C-\u213F]
|
||||
| [\u2145-\u2149]
|
||||
| '\u214E'
|
||||
| [\u2160-\u2188]
|
||||
| [\u2C00-\u2CE4]
|
||||
| [\u2CEB-\u2CEE]
|
||||
| [\u2CF2-\u2CF3]
|
||||
| [\u2D00-\u2D6F]
|
||||
| [\u2D80-\u2DDE]
|
||||
| '\u2E2F'
|
||||
| [\u3005-\u3007]
|
||||
| [\u3021-\u3029]
|
||||
| [\u3031-\u3035]
|
||||
| [\u3038-\u303C]
|
||||
| [\u3041-\u3096]
|
||||
| [\u309D-\u309F]
|
||||
| [\u30A1-\u30FA]
|
||||
| [\u30FC-\u318E]
|
||||
| [\u31A0-\u31BA]
|
||||
| [\u31F0-\u31FF]
|
||||
| [\u3400-\u4DB5]
|
||||
| [\u4E00-\uA48C]
|
||||
| [\uA4D0-\uA4FD]
|
||||
| [\uA500-\uA60C]
|
||||
| [\uA610-\uA61F]
|
||||
| [\uA62A-\uA66E]
|
||||
| [\uA67F-\uA69D]
|
||||
| [\uA6A0-\uA6EF]
|
||||
| [\uA717-\uA71F]
|
||||
| [\uA722-\uA788]
|
||||
| [\uA78B-\uA801]
|
||||
| [\uA803-\uA805]
|
||||
| [\uA807-\uA80A]
|
||||
| [\uA80C-\uA822]
|
||||
| [\uA840-\uA873]
|
||||
| [\uA882-\uA8B3]
|
||||
| [\uA8F2-\uA8F7]
|
||||
| '\uA8FB'
|
||||
| '\uA8FD'
|
||||
| [\uA90A-\uA925]
|
||||
| [\uA930-\uA946]
|
||||
| [\uA960-\uA97C]
|
||||
| [\uA984-\uA9B2]
|
||||
| '\uA9CF'
|
||||
| [\uA9E0-\uA9E4]
|
||||
| [\uA9E6-\uA9EF]
|
||||
| [\uA9FA-\uAA28]
|
||||
| [\uAA40-\uAA42]
|
||||
| [\uAA44-\uAA4B]
|
||||
| [\uAA60-\uAA76]
|
||||
| '\uAA7A'
|
||||
| [\uAA7E-\uAAAF]
|
||||
| '\uAAB1'
|
||||
| [\uAAB5-\uAAB6]
|
||||
| [\uAAB9-\uAABD]
|
||||
| '\uAAC0'
|
||||
| [\uAAC2-\uAADD]
|
||||
| [\uAAE0-\uAAEA]
|
||||
| [\uAAF2-\uAAF4]
|
||||
| [\uAB01-\uAB5A]
|
||||
| [\uAB5C-\uABE2]
|
||||
| [\uAC00-\uD7FB]
|
||||
| [\uF900-\uFB1D]
|
||||
| [\uFB1F-\uFB28]
|
||||
| [\uFB2A-\uFBB1]
|
||||
| [\uFBD3-\uFD3D]
|
||||
| [\uFD50-\uFDFB]
|
||||
| [\uFE70-\uFEFC]
|
||||
| [\uFF21-\uFF3A]
|
||||
| [\uFF41-\uFF5A]
|
||||
| [\uFF66-\uFFDC]
|
||||
;
|
||||
|
||||
// Unicode cats: Mn, Mc
|
||||
UnicodeCombiningMark
|
||||
: [\u0300-\u036F]
|
||||
| [\u0483-\u0487]
|
||||
| [\u0591-\u05BD]
|
||||
| '\u05BF'
|
||||
| [\u05C1-\u05C2]
|
||||
| [\u05C4-\u05C5]
|
||||
| '\u05C7'
|
||||
| [\u0610-\u061A]
|
||||
| [\u064B-\u065F]
|
||||
| '\u0670'
|
||||
| [\u06D6-\u06DC]
|
||||
| [\u06DF-\u06E4]
|
||||
| [\u06E7-\u06E8]
|
||||
| [\u06EA-\u06ED]
|
||||
| '\u0711'
|
||||
| [\u0730-\u074A]
|
||||
| [\u07A6-\u07B0]
|
||||
| [\u07EB-\u07F3]
|
||||
| [\u0816-\u0819]
|
||||
| [\u081B-\u0823]
|
||||
| [\u0825-\u0827]
|
||||
| [\u0829-\u082D]
|
||||
| [\u0859-\u085B]
|
||||
| [\u08E3-\u0903]
|
||||
| [\u093A-\u093C]
|
||||
| [\u093E-\u094F]
|
||||
| [\u0951-\u0957]
|
||||
| [\u0962-\u0963]
|
||||
| [\u0981-\u0983]
|
||||
| '\u09BC'
|
||||
| [\u09BE-\u09CD]
|
||||
| '\u09D7'
|
||||
| [\u09E2-\u09E3]
|
||||
| [\u0A01-\u0A03]
|
||||
| [\u0A3C-\u0A51]
|
||||
| [\u0A70-\u0A71]
|
||||
| [\u0A75-\u0A83]
|
||||
| '\u0ABC'
|
||||
| [\u0ABE-\u0ACD]
|
||||
| [\u0AE2-\u0AE3]
|
||||
| [\u0B01-\u0B03]
|
||||
| '\u0B3C'
|
||||
| [\u0B3E-\u0B57]
|
||||
| [\u0B62-\u0B63]
|
||||
| '\u0B82'
|
||||
| [\u0BBE-\u0BCD]
|
||||
| '\u0BD7'
|
||||
| [\u0C00-\u0C03]
|
||||
| [\u0C3E-\u0C56]
|
||||
| [\u0C62-\u0C63]
|
||||
| [\u0C81-\u0C83]
|
||||
| '\u0CBC'
|
||||
| [\u0CBE-\u0CD6]
|
||||
| [\u0CE2-\u0CE3]
|
||||
| [\u0D01-\u0D03]
|
||||
| [\u0D3E-\u0D4D]
|
||||
| '\u0D57'
|
||||
| [\u0D62-\u0D63]
|
||||
| [\u0D82-\u0D83]
|
||||
| [\u0DCA-\u0DDF]
|
||||
| [\u0DF2-\u0DF3]
|
||||
| '\u0E31'
|
||||
| [\u0E34-\u0E3A]
|
||||
| [\u0E47-\u0E4E]
|
||||
| '\u0EB1'
|
||||
| [\u0EB4-\u0EBC]
|
||||
| [\u0EC8-\u0ECD]
|
||||
| [\u0F18-\u0F19]
|
||||
| '\u0F35'
|
||||
| '\u0F37'
|
||||
| '\u0F39'
|
||||
| [\u0F3E-\u0F3F]
|
||||
| [\u0F71-\u0F84]
|
||||
| [\u0F86-\u0F87]
|
||||
| [\u0F8D-\u0FBC]
|
||||
| '\u0FC6'
|
||||
| [\u102B-\u103E]
|
||||
| [\u1056-\u1059]
|
||||
| [\u105E-\u1060]
|
||||
| [\u1062-\u1064]
|
||||
| [\u1067-\u106D]
|
||||
| [\u1071-\u1074]
|
||||
| [\u1082-\u108D]
|
||||
| '\u108F'
|
||||
| [\u109A-\u109D]
|
||||
| [\u135D-\u135F]
|
||||
| [\u1712-\u1714]
|
||||
| [\u1732-\u1734]
|
||||
| [\u1752-\u1753]
|
||||
| [\u1772-\u1773]
|
||||
| [\u17B4-\u17D3]
|
||||
| '\u17DD'
|
||||
| [\u180B-\u180D]
|
||||
| '\u18A9'
|
||||
| [\u1920-\u193B]
|
||||
| [\u1A17-\u1A1B]
|
||||
| [\u1A55-\u1A7F]
|
||||
| [\u1AB0-\u1ABD]
|
||||
| [\u1B00-\u1B04]
|
||||
| [\u1B34-\u1B44]
|
||||
| [\u1B6B-\u1B73]
|
||||
| [\u1B80-\u1B82]
|
||||
| [\u1BA1-\u1BAD]
|
||||
| [\u1BE6-\u1BF3]
|
||||
| [\u1C24-\u1C37]
|
||||
| [\u1CD0-\u1CD2]
|
||||
| [\u1CD4-\u1CE8]
|
||||
| '\u1CED'
|
||||
| [\u1CF2-\u1CF4]
|
||||
| [\u1CF8-\u1CF9]
|
||||
| [\u1DC0-\u1DFF]
|
||||
| [\u20D0-\u20DC]
|
||||
| '\u20E1'
|
||||
| [\u20E5-\u20F0]
|
||||
| [\u2CEF-\u2CF1]
|
||||
| '\u2D7F'
|
||||
| [\u2DE0-\u2DFF]
|
||||
| [\u302A-\u302F]
|
||||
| [\u3099-\u309A]
|
||||
| '\uA66F'
|
||||
| [\uA674-\uA67D]
|
||||
| [\uA69E-\uA69F]
|
||||
| [\uA6F0-\uA6F1]
|
||||
| '\uA802'
|
||||
| '\uA806'
|
||||
| '\uA80B'
|
||||
| [\uA823-\uA827]
|
||||
| [\uA880-\uA881]
|
||||
| [\uA8B4-\uA8C4]
|
||||
| [\uA8E0-\uA8F1]
|
||||
| [\uA926-\uA92D]
|
||||
| [\uA947-\uA953]
|
||||
| [\uA980-\uA983]
|
||||
| [\uA9B3-\uA9C0]
|
||||
| '\uA9E5'
|
||||
| [\uAA29-\uAA36]
|
||||
| '\uAA43'
|
||||
| [\uAA4C-\uAA4D]
|
||||
| [\uAA7B-\uAA7D]
|
||||
| '\uAAB0'
|
||||
| [\uAAB2-\uAAB4]
|
||||
| [\uAAB7-\uAAB8]
|
||||
| [\uAABE-\uAABF]
|
||||
| '\uAAC1'
|
||||
| [\uAAEB-\uAAEF]
|
||||
| [\uAAF5-\uAAF6]
|
||||
| [\uABE3-\uABEA]
|
||||
| [\uABEC-\uABED]
|
||||
| '\uFB1E'
|
||||
| [\uFE00-\uFE0F]
|
||||
| [\uFE20-\uFE2F]
|
||||
;
|
||||
|
||||
UnicodeDigit
|
||||
: [\u0030-\u0039]
|
||||
| [\u0660-\u0669]
|
||||
| [\u06F0-\u06F9]
|
||||
| [\u07C0-\u07C9]
|
||||
| [\u0966-\u096F]
|
||||
| [\u09E6-\u09EF]
|
||||
| [\u0A66-\u0A6F]
|
||||
| [\u0AE6-\u0AEF]
|
||||
| [\u0B66-\u0B6F]
|
||||
| [\u0BE6-\u0BEF]
|
||||
| [\u0C66-\u0C6F]
|
||||
| [\u0CE6-\u0CEF]
|
||||
| [\u0D66-\u0D6F]
|
||||
| [\u0DE6-\u0DEF]
|
||||
| [\u0E50-\u0E59]
|
||||
| [\u0ED0-\u0ED9]
|
||||
| [\u0F20-\u0F29]
|
||||
| [\u1040-\u1049]
|
||||
| [\u1090-\u1099]
|
||||
| [\u17E0-\u17E9]
|
||||
| [\u1810-\u1819]
|
||||
| [\u1946-\u194F]
|
||||
| [\u19D0-\u19D9]
|
||||
| [\u1A80-\u1A99]
|
||||
| [\u1B50-\u1B59]
|
||||
| [\u1BB0-\u1BB9]
|
||||
| [\u1C40-\u1C49]
|
||||
| [\u1C50-\u1C59]
|
||||
| [\uA620-\uA629]
|
||||
| [\uA8D0-\uA8D9]
|
||||
| [\uA900-\uA909]
|
||||
| [\uA9D0-\uA9D9]
|
||||
| [\uA9F0-\uA9F9]
|
||||
| [\uAA50-\uAA59]
|
||||
| [\uABF0-\uABF9]
|
||||
| [\uFF10-\uFF19]
|
||||
;
|
||||
|
||||
UnicodeConnectorPunctuation
|
||||
: '\u005F'
|
||||
| [\u203F-\u2040]
|
||||
| '\u2054'
|
||||
| [\uFE33-\uFE34]
|
||||
| [\uFE4D-\uFE4F]
|
||||
| '\uFF3F'
|
||||
;
|
11
qt/org.eclipse.cdt.qt.qml.core/META-INF/MANIFEST.MF
Normal file
11
qt/org.eclipse.cdt.qt.qml.core/META-INF/MANIFEST.MF
Normal file
|
@ -0,0 +1,11 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Core
|
||||
Bundle-SymbolicName: org.eclipse.cdt.qt.qml.core
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Activator: org.eclipse.cdt.qt.qml.core.internal.Activator
|
||||
Require-Bundle: org.eclipse.core.runtime
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: antlr-runtime-4.5.jar,
|
||||
.
|
50
qt/org.eclipse.cdt.qt.qml.core/QML.g4
Normal file
50
qt/org.eclipse.cdt.qt.qml.core/QML.g4
Normal file
|
@ -0,0 +1,50 @@
|
|||
grammar QML;
|
||||
|
||||
import ECMAScript;
|
||||
|
||||
qmlProgram
|
||||
: qmlHeaderItem* qmlObjectRoot EOF
|
||||
;
|
||||
|
||||
qmlHeaderItem
|
||||
: qmlImportDeclaration
|
||||
| qmlPragmaDeclaration
|
||||
;
|
||||
|
||||
qmlImportDeclaration
|
||||
: 'import' qmlQualifiedId DecimalLiteral ('as' Identifier)? ';'?
|
||||
| 'import' StringLiteral DecimalLiteral? ('as' Identifier)? ';'?
|
||||
;
|
||||
|
||||
qmlQualifiedId
|
||||
: Identifier ('.' Identifier)*
|
||||
;
|
||||
|
||||
qmlPragmaDeclaration
|
||||
: 'pragma' Identifier ';'?
|
||||
;
|
||||
|
||||
qmlObjectRoot
|
||||
: qmlObjectLiteral?
|
||||
;
|
||||
|
||||
qmlObjectLiteral
|
||||
: qmlQualifiedId qmlMembers
|
||||
;
|
||||
|
||||
qmlMembers
|
||||
: '{' qmlMember* '}'
|
||||
;
|
||||
|
||||
qmlMember
|
||||
: qmlQualifiedId ':' singleExpression
|
||||
| qmlObjectLiteral
|
||||
| 'readonly'? 'property' qmlPropertyType Identifier (':' singleExpression)?
|
||||
| functionDeclaration
|
||||
;
|
||||
|
||||
|
||||
qmlPropertyType
|
||||
: Identifier // TODO
|
||||
| 'var'
|
||||
;
|
5
qt/org.eclipse.cdt.qt.qml.core/build.properties
Normal file
5
qt/org.eclipse.cdt.qt.qml.core/build.properties
Normal file
|
@ -0,0 +1,5 @@
|
|||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.,\
|
||||
antlr-runtime-4.5.jar
|
32
qt/org.eclipse.cdt.qt.qml.core/build.xml
Normal file
32
qt/org.eclipse.cdt.qt.qml.core/build.xml
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="project" default="build">
|
||||
<description>
|
||||
Build file to generate the ANTLR 4 parsers and lexers
|
||||
</description>
|
||||
|
||||
<target name="getAntlr">
|
||||
<get src="http://www.antlr.org/download/antlr-4.5-complete.jar" dest="antlr-4.5-complete.jar" skipexisting="true"/>
|
||||
<get src="http://www.antlr.org/download/antlr-runtime-4.5.jar" dest="antlr-runtime-4.5.jar" skipexisting="true"/>
|
||||
</target>
|
||||
|
||||
<target name="build" depends="getAntlr">
|
||||
<java jar="antlr-4.5-complete.jar" fork="true">
|
||||
<arg value="-o"/>
|
||||
<arg value="src-gen/org/eclipse/cdt/qt/qml/core/parser"/>
|
||||
<arg value="-package"/>
|
||||
<arg value="org.eclipse.cdt.qt.qml.core.parser"/>
|
||||
<arg value="ECMAScript.g4"/>
|
||||
</java>
|
||||
<java jar="antlr-4.5-complete.jar" fork="true">
|
||||
<arg value="-o"/>
|
||||
<arg value="src-gen/org/eclipse/cdt/qt/qml/core/parser"/>
|
||||
<arg value="-package"/>
|
||||
<arg value="org.eclipse.cdt.qt.qml.core.parser"/>
|
||||
<arg value="QML.g4"/>
|
||||
</java>
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
</target>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,30 @@
|
|||
package org.eclipse.cdt.qt.qml.core.internal;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
public class Activator implements BundleActivator {
|
||||
|
||||
private static BundleContext context;
|
||||
|
||||
static BundleContext getContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void start(BundleContext bundleContext) throws Exception {
|
||||
Activator.context = bundleContext;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void stop(BundleContext bundleContext) throws Exception {
|
||||
Activator.context = null;
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue