summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuergen Bocklage-Ryannel <juergen.bocklage-ryannel@pelagicore.com>2016-09-06 13:52:32 +0200
committerJuergen Ryannel <juergen.bocklage-ryannel@pelagicore.com>2016-11-30 10:01:20 +0100
commit5c5ca49f9c16b0ae746ee5775867598725b08208 (patch)
tree4e15bd3b89f815da9b6d3edfde50d7f683f7c2a5
parente160fc94b126baaa90af06a5cb72648bfa70ebb9 (diff)
downloadqtivi-qface-5c5ca49f9c16b0ae746ee5775867598725b08208.tar.gz
Renamed face files to QDL and changed package identified in grammar and everywhere else to module.
-rw-r--r--USAGE.md22
-rwxr-xr-xgenerator/csv/csv.py2
-rw-r--r--generator/csv/templates/modules.csv12
-rw-r--r--generator/csv/templates/packages.csv12
-rw-r--r--generator/qfacegen/qfacegen.py9
-rw-r--r--generator/qfacegen/templates/document.qdl (renamed from generator/qfacegen/templates/document.qface)8
-rw-r--r--generator/qtcpp/qtcpp.py24
-rw-r--r--generator/qtcpp/templates/helper.tpl4
-rw-r--r--generator/qtcpp/templates/module.cpp10
-rw-r--r--generator/qtcpp/templates/module.h12
-rw-r--r--generator/qtcpp/templates/plugin.cpp14
-rw-r--r--generator/qtcpp/templates/project.pri12
-rw-r--r--generator/qtcpp/templates/project.pro6
-rw-r--r--generator/qtcpp/templates/qmldir4
-rw-r--r--generator/qtcpp/templates/service.h6
-rw-r--r--generator/qtivi/input/climate.qdf2
-rw-r--r--generator/qtivi/input/tuner.qdl32
-rw-r--r--generator/qtivi/qtivi.py24
-rw-r--r--input/entertainment.tuner.Tuner.qdl (renamed from tests/in/tuner.qface)2
-rw-r--r--input/test.qdl (renamed from tests/in/test.qface)2
-rw-r--r--input/vehicle.climate.ClimateControl.qdl (renamed from input/vehicle.climate.ClimateControl.qface)2
-rw-r--r--qface/generator.py4
-rw-r--r--qface/idl/domain.py108
-rw-r--r--qface/idl/listener.py24
-rw-r--r--qface/idl/parser/T.g48
-rw-r--r--qface/idl/parser/T.tokens2
-rw-r--r--qface/idl/parser/TLexer.py168
-rw-r--r--qface/idl/parser/TLexer.tokens2
-rw-r--r--qface/idl/parser/TListener.py8
-rw-r--r--qface/idl/parser/TParser.py34
-rw-r--r--qface/idl/parser/TVisitor.py4
-rw-r--r--tests/in/climate.qdl (renamed from tests/in/climate.qface)2
-rw-r--r--tests/in/test.qdl (renamed from input/test.qface)2
-rw-r--r--tests/in/tuner.qdl (renamed from input/entertainment.tuner.Tuner.qface)2
-rw-r--r--tests/test_climate.py2
-rw-r--r--tests/test_generator.py16
-rw-r--r--tests/test_parser.py28
37 files changed, 334 insertions, 301 deletions
diff --git a/USAGE.md b/USAGE.md
index 05c6d56..51e1236 100644
--- a/USAGE.md
+++ b/USAGE.md
@@ -27,7 +27,7 @@ This will observe the generator folder and the input folder for changes and re-r
The IDL grammar is described in the grammar file (see qface/parser/idl/T.g4)
- package <identifier> <version>;
+ module <identifier> <version>;
[import <identifier> <version>];
@@ -57,7 +57,7 @@ The IDL grammar is described in the grammar file (see qface/parser/idl/T.g4)
The IDL is converted into an in memory domain model (see qface/idl/domain.py).
System
- Package
+ Module
Import
Service
Attribute
@@ -77,20 +77,20 @@ The code generation is driven by a small script which iterates over the domain m
system = FileSystem.parse_dir(input)
generator = Generator(searchpath='templates')
ctx = {'output': output, 'system': system}
- generator.write('{{output}}/packages.csv', 'packages.csv', ctx)
+ generator.write('{{output}}/modules.csv', 'modules.csv', ctx)
This script reads the input directory returns a system object form the domain model. This is used as the root object for the code generation inside the template language.
- {% for package in system.packages %}
- {%- for interface in package.interfaces -%}
- SERVICE, {{package}}.{{interface}}
+ {% for module in system.modules %}
+ {%- for interface in module.interfaces -%}
+ SERVICE, {{module}}.{{interface}}
{% endfor -%}
- {%- for struct in package.structs -%}
- STRUCT , {{package}}.{{struct}}
+ {%- for struct in module.structs -%}
+ STRUCT , {{module}}.{{struct}}
{% endfor -%}
- {%- for enum in package.enums -%}
- ENUM , {{package}}.{{enum}}
+ {%- for enum in module.enums -%}
+ ENUM , {{module}}.{{enum}}
{% endfor -%}
{% endfor %}
-The tempate iterates over the domain objects and generates text which is written into a file. The file name is also adjustable using the same template language.
+The template iterates over the domain objects and generates text which is written into a file. The file name is also adjustable using the same template language.
diff --git a/generator/csv/csv.py b/generator/csv/csv.py
index 4d5bdca..33cac82 100755
--- a/generator/csv/csv.py
+++ b/generator/csv/csv.py
@@ -9,7 +9,7 @@ def generate(input, output):
system = FileSystem.parse_dir(input)
generator = Generator(searchpath='templates')
ctx = {'output': output, 'system': system}
- generator.write('{{output}}/packages.csv', 'packages.csv', ctx)
+ generator.write('{{output}}/modules.csv', 'modules.csv', ctx)
@click.command()
diff --git a/generator/csv/templates/modules.csv b/generator/csv/templates/modules.csv
new file mode 100644
index 0000000..3800c5c
--- /dev/null
+++ b/generator/csv/templates/modules.csv
@@ -0,0 +1,12 @@
+{# Copyright (c) Pelagicore AG 2016 #}
+{% for module in system.modules %}
+ {%- for interface in module.interfaces -%}
+ SERVICE, {{module}}.{{interface}}
+ {% endfor -%}
+ {%- for struct in module.structs -%}
+ STRUCT , {{module}}.{{struct}}
+ {% endfor -%}
+ {%- for enum in module.enums -%}
+ ENUM , {{module}}.{{enum}}
+ {% endfor -%}
+{% endfor %}
diff --git a/generator/csv/templates/packages.csv b/generator/csv/templates/packages.csv
deleted file mode 100644
index f69bad6..0000000
--- a/generator/csv/templates/packages.csv
+++ /dev/null
@@ -1,12 +0,0 @@
-{# Copyright (c) Pelagicore AG 2016 #}
-{% for package in system.packages %}
- {%- for interface in package.interfaces -%}
- SERVICE, {{package}}.{{interface}}
- {% endfor -%}
- {%- for struct in package.structs -%}
- STRUCT , {{package}}.{{struct}}
- {% endfor -%}
- {%- for enum in package.enums -%}
- ENUM , {{package}}.{{enum}}
- {% endfor -%}
-{% endfor %}
diff --git a/generator/qfacegen/qfacegen.py b/generator/qfacegen/qfacegen.py
index 390369d..565ae4d 100644
--- a/generator/qfacegen/qfacegen.py
+++ b/generator/qfacegen/qfacegen.py
@@ -1,19 +1,20 @@
# Copyright (c) Pelagicore AG 2016
-#!/usr/bin/env python3
+# !/usr/bin/env python3
import click
import logging
from qface.generator import FileSystem, Generator
logging.basicConfig(filename='qfacegen.log', filemode='w', level=logging.DEBUG)
+
def generate(input, output):
system = FileSystem.parse_dir(input)
generator = Generator(searchpath='./templates')
ctx = {'output': output}
for counter in range(200):
- for package in system.packages:
- ctx.update({'package': package, 'counter': counter})
- generator.write('{{output}}/x{{package}}{{counter}}.qface', 'document.qface', ctx)
+ for module in system.modules:
+ ctx.update({'module': module, 'counter': counter})
+ generator.write('{{output}}/x{{module}}{{counter}}.qdl', 'document.qdl', ctx)
@click.command()
diff --git a/generator/qfacegen/templates/document.qface b/generator/qfacegen/templates/document.qdl
index 645eac7..7485380 100644
--- a/generator/qfacegen/templates/document.qface
+++ b/generator/qfacegen/templates/document.qdl
@@ -1,7 +1,7 @@
{# Copyright (c) Pelagicore AG 2016 #}
-package {{package}}{{counter}};
+module {{module}}{{counter}};
-{%for interface in package.interfaces %}
+{%for interface in module.interfaces %}
interface {{interface}} {
{% for attribute in interface.attributes %}
{%+ if attribute.is_readonly %}readonly {% endif %}
@@ -16,7 +16,7 @@ interface {{interface}} {
}
-{% for enum in package.enums%}
+{% for enum in module.enums%}
{% set comma = joiner(",") %}
enum {{enum}} {
{%- for member in enum.members -%}
@@ -27,7 +27,7 @@ enum {{enum}} {
{%- endfor %}
-{% for struct in package.structs %}
+{% for struct in module.structs %}
struct {{struct}} {
{% for member in struct.members %}
{{member.type}} {{member}};
diff --git a/generator/qtcpp/qtcpp.py b/generator/qtcpp/qtcpp.py
index 6e5f5e3..4e12f15 100644
--- a/generator/qtcpp/qtcpp.py
+++ b/generator/qtcpp/qtcpp.py
@@ -13,7 +13,7 @@ logger = logging.getLogger(__name__)
def paramterType(symbol):
- moduleName = symbol.package.nameParts[-1].capitalize()
+ moduleName = symbol.module.nameParts[-1].capitalize()
if symbol.type.is_enum:
return 'Qml{0}Module::{1} {2}'.format(moduleName, symbol.type, symbol)
if symbol.type.is_void or symbol.type.is_primitive:
@@ -31,7 +31,7 @@ def paramterType(symbol):
def returnType(symbol):
- moduleName = symbol.package.nameParts[-1].capitalize()
+ moduleName = symbol.module.nameParts[-1].capitalize()
if symbol.type.is_enum:
return 'Qml{0}Module::{1}'.format(moduleName, symbol.type)
if symbol.type.is_void or symbol.type.is_primitive:
@@ -54,24 +54,24 @@ def generate(input, output):
generator.register_filter('returnType', returnType)
generator.register_filter('parameterType', paramterType)
ctx = {'output': output}
- for package in system.packages:
- logger.debug('process %s' % package)
- moduleName = package.nameParts[-1].capitalize()
- ctx.update({'package': package, 'module': moduleName})
- packageOutput = generator.apply('{{output}}/{{package|lower}}', ctx)
- ctx.update({'path': packageOutput})
+ for module in system.modules:
+ logger.debug('process %s' % module)
+ moduleName = module.nameParts[-1].capitalize()
+ ctx.update({'module': module, 'module': moduleName})
+ moduleOutput = generator.apply('{{output}}/{{module|lower}}', ctx)
+ ctx.update({'path': moduleOutput})
generator.write('{{path}}/qmldir', 'qmldir', ctx)
generator.write('{{path}}/plugin.cpp', 'plugin.cpp', ctx)
generator.write('{{path}}/plugin.h', 'plugin.h', ctx)
- generator.write('{{path}}/{{package|lower}}.pri', 'project.pri', ctx)
- generator.write('{{path}}/{{package|lower}}.pro', 'project.pro', ctx)
+ generator.write('{{path}}/{{module|lower}}.pri', 'project.pri', ctx)
+ generator.write('{{path}}/{{module|lower}}.pro', 'project.pro', ctx)
generator.write('{{path}}/{{module|lower}}module.h', 'module.h', ctx)
generator.write('{{path}}/{{module|lower}}module.cpp', 'module.cpp', ctx)
- for interface in package.interfaces:
+ for interface in module.interfaces:
ctx.update({'interface': interface})
generator.write('{{path}}/{{interface|lower}}.h', 'interface.h', ctx)
generator.write('{{path}}/{{interface|lower}}.cpp', 'interface.cpp', ctx)
- for struct in package.structs:
+ for struct in module.structs:
ctx.update({'struct': struct})
generator.write('{{path}}/{{struct|lower}}.h', 'struct.h', ctx)
generator.write('{{path}}/{{struct|lower}}.cpp', 'struct.cpp', ctx)
diff --git a/generator/qtcpp/templates/helper.tpl b/generator/qtcpp/templates/helper.tpl
index 20d8a32..daab0e9 100644
--- a/generator/qtcpp/templates/helper.tpl
+++ b/generator/qtcpp/templates/helper.tpl
@@ -1,4 +1,4 @@
{# Copyright (c) Pelagicore AG 2016 #}
-{% macro module(package) -%}
-{{package.nameParts|last|capitalize}}Module
+{% macro qualifiedModuleName(module) -%}
+{{module.nameParts|last|capitalize}}Module
{%- endmacro %}
diff --git a/generator/qtcpp/templates/module.cpp b/generator/qtcpp/templates/module.cpp
index 5a2547a..e740e3f 100644
--- a/generator/qtcpp/templates/module.cpp
+++ b/generator/qtcpp/templates/module.cpp
@@ -1,10 +1,10 @@
{# Copyright (c) Pelagicore AG 2016 #}
-{% from 'helper.tpl' import module %}
+{% from 'helper.tpl' import qualifiedModuleName %}
/****************************************************************************
** This is an auto-generated file.
** Do not edit! All changes made to it will be lost.
****************************************************************************/
-{% set module = module(package) %}
+{% set module = qualifiedModuleName(module) %}
{% set class = 'Qml{0}'.format(module) %}
@@ -22,7 +22,7 @@ QObject* {{module|lower}}_singletontype_provider(QQmlEngine*, QJSEngine*)
{
}
-{% for struct in package.structs %}
+{% for struct in module.structs %}
{{struct}} {{class}}::create{{struct}}()
{
return {{struct}}();
@@ -31,14 +31,14 @@ QObject* {{module|lower}}_singletontype_provider(QQmlEngine*, QJSEngine*)
void {{class}}::registerTypes()
{
- {% for struct in package.structs %}
+ {% for struct in module.structs %}
qRegisterMetaType<{{struct}}>();
{% endfor %}
}
void {{class}}::registerQmlTypes(const QString& uri, int majorVersion, int minorVersion)
{
- {% for struct in package.structs %}
+ {% for struct in module.structs %}
qmlRegisterUncreatableType<{{struct}}Model>(uri.toLatin1(), majorVersion, minorVersion, "{{struct}}Model", "Model can not be instantiated from QML");
{% endfor %}
qmlRegisterSingletonType<{{class}}>(uri.toLatin1(), majorVersion, minorVersion, "{{module}}", {{module|lower}}_singletontype_provider);
diff --git a/generator/qtcpp/templates/module.h b/generator/qtcpp/templates/module.h
index 174c67d..997d005 100644
--- a/generator/qtcpp/templates/module.h
+++ b/generator/qtcpp/templates/module.h
@@ -1,15 +1,15 @@
{# Copyright (c) Pelagicore AG 2016 #}
-{% from 'helper.tpl' import module %}
+{% from 'helper.tpl' import qualifiedModuleName %}
/****************************************************************************
** This is an auto-generated file.
** Do not edit! All changes made to it will be lost.
****************************************************************************/
-{% set module = module(package) %}
-{% set class = 'Qml{0}'.format(module) %}
+{% set moduleName = qualifiedModuleName(module) %}
+{% set class = 'Qml{0}'.format(moduleName) %}
#pragma once
-{% for struct in package.structs %}
+{% for struct in module.structs %}
#include "{{struct|lower}}.h"
#include "{{struct|lower}}model.h"
{% endfor %}
@@ -19,7 +19,7 @@ class {{class}} : public QObject {
public:
{{class}}(QObject *parent=0);
-{% for enum in package.enums %}
+{% for enum in module.enums %}
{% set comma = joiner(",") %}
enum {{enum}} {
{%- for member in enum.members -%}
@@ -30,7 +30,7 @@ public:
Q_ENUM({{enum}})
{% endfor %}
-{% for struct in package.structs %}
+{% for struct in module.structs %}
Q_INVOKABLE {{struct}} create{{struct}}();
{% endfor %}
diff --git a/generator/qtcpp/templates/plugin.cpp b/generator/qtcpp/templates/plugin.cpp
index cdc3533..d66fadd 100644
--- a/generator/qtcpp/templates/plugin.cpp
+++ b/generator/qtcpp/templates/plugin.cpp
@@ -1,6 +1,6 @@
{# Copyright (c) Pelagicore AG 2016 #}
-{% from 'helper.tpl' import module %}
-{% set module = module(package) %}
+{% from 'helper.tpl' import qualifiedModuleName %}
+{% set moduleName = qualifiedModuleName(module) %}
/****************************************************************************
** This is an auto-generated file.
** Do not edit! All changes made to it will be lost.
@@ -10,18 +10,18 @@
#include <qqml.h>
-#include "{{module|lower}}.h"
+#include "{{moduleName|lower}}.h"
-{% for interface in package.interfaces %}
+{% for interface in module.interfaces %}
#include "{{interface|lower}}.h"
{% endfor %}
void Plugin::registerTypes(const char *uri)
{
Qml{{module}}::registerTypes();
- // @uri {{package|lower}}
- {% for interface in package.interfaces %}
- Qml{{module}}::registerQmlTypes(uri, 1, 0);
+ // @uri {{module|lower}}
+ {% for interface in module.interfaces %}
+ Qml{{moduleName}}::registerQmlTypes(uri, 1, 0);
Qml{{interface}}::registerQmlTypes(uri, 1, 0);
{% endfor %}
}
diff --git a/generator/qtcpp/templates/project.pri b/generator/qtcpp/templates/project.pri
index 52ffa76..b2dcf5c 100644
--- a/generator/qtcpp/templates/project.pri
+++ b/generator/qtcpp/templates/project.pri
@@ -10,22 +10,22 @@ CONFIG += c++11
HEADERS += \
- {{module(package)|lower}}.h \
-{% for interface in package.interfaces %}
+ {{qualifiedModuleName(module)|lower}}.h \
+{% for interface in module.interfaces %}
{{interface|lower}}.h \
{% endfor %}
-{% for struct in package.structs %}
+{% for struct in module.structs %}
{{struct|lower}}.h \
{{struct|lower}}model.h \
{% endfor %}
plugin.h
SOURCES += \
- {{module(package)|lower}}.cpp \
-{% for interface in package.interfaces %}
+ {{qualifiedModuleName(module)|lower}}.cpp \
+{% for interface in module.interfaces %}
{{interface|lower}}.cpp \
{% endfor %}
-{% for struct in package.structs %}
+{% for struct in module.structs %}
{{struct|lower}}.cpp \
{{struct|lower}}model.cpp \
{% endfor %}
diff --git a/generator/qtcpp/templates/project.pro b/generator/qtcpp/templates/project.pro
index 1e70abe..f95759f 100644
--- a/generator/qtcpp/templates/project.pro
+++ b/generator/qtcpp/templates/project.pro
@@ -7,11 +7,11 @@
TEMPLATE = lib
QT += qml quick
CONFIG += qt plugin c++11
-TARGET = $$qtLibraryTarget({{package|lower}})
+TARGET = $$qtLibraryTarget({{module|lower}})
-uri = {{package}}
+uri = {{module}}
-include( {{package|lower}}.pri )
+include( {{module|lower}}.pri )
DISTFILES = qmldir
diff --git a/generator/qtcpp/templates/qmldir b/generator/qtcpp/templates/qmldir
index fa6f7b8..4fe2dbd 100644
--- a/generator/qtcpp/templates/qmldir
+++ b/generator/qtcpp/templates/qmldir
@@ -1,3 +1,3 @@
{# Copyright (c) Pelagicore AG 2016 #}
-module {{package}}
-plugin {{package}}
+module {{module}}
+plugin {{module}}
diff --git a/generator/qtcpp/templates/service.h b/generator/qtcpp/templates/service.h
index 7b39dfc..9fbd400 100644
--- a/generator/qtcpp/templates/service.h
+++ b/generator/qtcpp/templates/service.h
@@ -1,6 +1,6 @@
{# Copyright (c) Pelagicore AG 2016 #}
-{% from 'helper.tpl' import module %}
-{% set module = module(package) %}
+{% from 'helper.tpl' import qualifiedModuleName %}
+{% set moduleName= qualifiedModuleName(module) %}
{% set class = 'Qml{0}'.format(interface) %}
/****************************************************************************
** This is an auto-generated file.
@@ -11,7 +11,7 @@
#include <QtCore>
-#include "{{module|lower}}.h"
+#include "{{moduleName|lower}}.h"
class {{class}} : public QObject
{
diff --git a/generator/qtivi/input/climate.qdf b/generator/qtivi/input/climate.qdf
index d6c0197..a7e463b 100644
--- a/generator/qtivi/input/climate.qdf
+++ b/generator/qtivi/input/climate.qdf
@@ -1,4 +1,4 @@
-package com.pelagicore.climate 1.0
+module com.pelagicore.climate 1.0
interface Climate {
diff --git a/generator/qtivi/input/tuner.qdl b/generator/qtivi/input/tuner.qdl
new file mode 100644
index 0000000..a112766
--- /dev/null
+++ b/generator/qtivi/input/tuner.qdl
@@ -0,0 +1,32 @@
+module ivimedia;
+
+interface AmFmTuner {
+ int frequency;
+ readonly int minimumFrequency;
+ readonly int maximumFrequency;
+ readonly int stepSize;
+ Band band;
+ readonly AmFmStation station;
+ bool scanRunning;
+
+ void tune(AmFmStation station);
+
+ event void scanStarted();
+ event void scanStopped();
+}
+
+enum Band {
+ AMBand,
+ FMBand
+};
+
+
+struct AmFmStation {
+ string stationName;
+ int frequency;
+ string stationLogoUrl;
+ string category;
+ string radioText;
+ int receptionQuality;
+ Band band;
+}
diff --git a/generator/qtivi/qtivi.py b/generator/qtivi/qtivi.py
index 6e5f5e3..4e12f15 100644
--- a/generator/qtivi/qtivi.py
+++ b/generator/qtivi/qtivi.py
@@ -13,7 +13,7 @@ logger = logging.getLogger(__name__)
def paramterType(symbol):
- moduleName = symbol.package.nameParts[-1].capitalize()
+ moduleName = symbol.module.nameParts[-1].capitalize()
if symbol.type.is_enum:
return 'Qml{0}Module::{1} {2}'.format(moduleName, symbol.type, symbol)
if symbol.type.is_void or symbol.type.is_primitive:
@@ -31,7 +31,7 @@ def paramterType(symbol):
def returnType(symbol):
- moduleName = symbol.package.nameParts[-1].capitalize()
+ moduleName = symbol.module.nameParts[-1].capitalize()
if symbol.type.is_enum:
return 'Qml{0}Module::{1}'.format(moduleName, symbol.type)
if symbol.type.is_void or symbol.type.is_primitive:
@@ -54,24 +54,24 @@ def generate(input, output):
generator.register_filter('returnType', returnType)
generator.register_filter('parameterType', paramterType)
ctx = {'output': output}
- for package in system.packages:
- logger.debug('process %s' % package)
- moduleName = package.nameParts[-1].capitalize()
- ctx.update({'package': package, 'module': moduleName})
- packageOutput = generator.apply('{{output}}/{{package|lower}}', ctx)
- ctx.update({'path': packageOutput})
+ for module in system.modules:
+ logger.debug('process %s' % module)
+ moduleName = module.nameParts[-1].capitalize()
+ ctx.update({'module': module, 'module': moduleName})
+ moduleOutput = generator.apply('{{output}}/{{module|lower}}', ctx)
+ ctx.update({'path': moduleOutput})
generator.write('{{path}}/qmldir', 'qmldir', ctx)
generator.write('{{path}}/plugin.cpp', 'plugin.cpp', ctx)
generator.write('{{path}}/plugin.h', 'plugin.h', ctx)
- generator.write('{{path}}/{{package|lower}}.pri', 'project.pri', ctx)
- generator.write('{{path}}/{{package|lower}}.pro', 'project.pro', ctx)
+ generator.write('{{path}}/{{module|lower}}.pri', 'project.pri', ctx)
+ generator.write('{{path}}/{{module|lower}}.pro', 'project.pro', ctx)
generator.write('{{path}}/{{module|lower}}module.h', 'module.h', ctx)
generator.write('{{path}}/{{module|lower}}module.cpp', 'module.cpp', ctx)
- for interface in package.interfaces:
+ for interface in module.interfaces:
ctx.update({'interface': interface})
generator.write('{{path}}/{{interface|lower}}.h', 'interface.h', ctx)
generator.write('{{path}}/{{interface|lower}}.cpp', 'interface.cpp', ctx)
- for struct in package.structs:
+ for struct in module.structs:
ctx.update({'struct': struct})
generator.write('{{path}}/{{struct|lower}}.h', 'struct.h', ctx)
generator.write('{{path}}/{{struct|lower}}.cpp', 'struct.cpp', ctx)
diff --git a/tests/in/tuner.qface b/input/entertainment.tuner.Tuner.qdl
index 4b37f3a..3367af7 100644
--- a/tests/in/tuner.qface
+++ b/input/entertainment.tuner.Tuner.qdl
@@ -1,4 +1,4 @@
-package entertainment.tuner;
+module entertainment.tuner;
/*! Service Tuner */
interface Tuner {
diff --git a/tests/in/test.qface b/input/test.qdl
index f1c90b9..869a1a0 100644
--- a/tests/in/test.qface
+++ b/input/test.qdl
@@ -1,4 +1,4 @@
-package com.pelagicore.test;
+module com.pelagicore.test;
interface ContactService {
State state;
diff --git a/input/vehicle.climate.ClimateControl.qface b/input/vehicle.climate.ClimateControl.qdl
index dba8df4..1d9adbc 100644
--- a/input/vehicle.climate.ClimateControl.qface
+++ b/input/vehicle.climate.ClimateControl.qdl
@@ -1,4 +1,4 @@
-package vehicle.climate;
+module vehicle.climate;
/*!
* The ClimateControl provides a QML interface to the climate control
diff --git a/qface/generator.py b/qface/generator.py
index 86a61f8..110e3af 100644
--- a/qface/generator.py
+++ b/qface/generator.py
@@ -115,7 +115,7 @@ class FileSystem(object):
system = cache[identifier]
else:
# if domain model not cached generate it
- documents = path.rglob('*.qface')
+ documents = path.rglob('*.qdl')
for document in documents:
listener = DomainListener(system)
FileSystem._parse_document(document, listener)
@@ -123,7 +123,7 @@ class FileSystem(object):
return system
@staticmethod
- def find_files(path, glob='*.qface'):
+ def find_files(path, glob='*.qdl'):
"""Find recursively all files given by glob parameter
in a give directory path"""
path = Path(path)
diff --git a/qface/idl/domain.py b/qface/idl/domain.py
index a02548a..761d1c7 100644
--- a/qface/idl/domain.py
+++ b/qface/idl/domain.py
@@ -5,20 +5,20 @@ import logging
log = logging.getLogger(__name__)
# System
-# +- Package
+# +- Module
# +- Import
# +- Interface
-# +- Attribute
-# +- Operation
-# +- Struct
-# +- Enum
+# +- Attribute => Property
+# +- Operation => Method
+# +- Struct (has attributes)
+# +- Enum (has values)
class System(object):
- """The root entity which consist of packages"""
+ """The root entity which consist of modules"""
def __init__(self):
log.debug('System()')
- self.packageMap = OrderedDict() # type: Dict[str, Package]
+ self.moduleMap = OrderedDict() # type: Dict[str, Module]
def __unicode__(self):
return 'system'
@@ -27,52 +27,52 @@ class System(object):
return '<System>'
@property
- def packages(self):
- return self.packageMap.values()
+ def modules(self):
+ return self.moduleMap.values()
- def lookup_package(self, name: str):
- return self.packageMap[name]
+ def lookup_module(self, name: str):
+ return self.moduleMap[name]
def lookup_interface(self, name: str):
- package_name, type_name = name.rsplit('.', 1)
- package = self.packageMap[package_name]
- return package.interfaceMap[type_name]
+ module_name, type_name = name.rsplit('.', 1)
+ module = self.moduleMap[module_name]
+ return module.interfaceMap[type_name]
def lookup_struct(self, name: str):
- package_name, type_name = name.rsplit('.', 1)
- package = self.packageMap[package_name]
- return package.structMap[type_name]
+ module_name, type_name = name.rsplit('.', 1)
+ module = self.moduleMap[module_name]
+ return module.structMap[type_name]
def lookup_enum(self, name: str):
- package_name, type_name = name.rsplit('.', 1)
- package = self.packageMap[package_name]
- return package.enumMap[type_name]
+ module_name, type_name = name.rsplit('.', 1)
+ module = self.moduleMap[module_name]
+ return module.enumMap[type_name]
def lookup_definition(self, name: str):
parts = name.rsplit('.', 1)
if len(parts) == 2:
- package_name = parts[0]
+ module_name = parts[0]
type_name = parts[1]
- package = self.packageMap[package_name]
- return package.lookup_definition(type_name)
+ module = self.moduleMap[module_name]
+ return module.lookup_definition(type_name)
@property
def system(self):
return self
-class Package(object):
- """A packages is a namespace for types, e.g. interfaces, enums, structs"""
+class Module(object):
+ """A module is a namespace for types, e.g. interfaces, enums, structs"""
def __init__(self, name: str, system: System):
- log.debug('Package()')
+ log.debug('Module()')
self.name = name
self.system = system
- self.system.packageMap[name] = self
+ self.system.moduleMap[name] = self
self.interfaceMap = OrderedDict() # type: Dict[str, Service]
self.structMap = OrderedDict() # type: Dict[str, Struct]
self.enumMap = OrderedDict() # type: Dict[str, Enum]
self.definitionMap = ChainMap(self.interfaceMap, self.structMap, self.enumMap)
- self.importMap = OrderedDict() # type: Dict[str, Package]
+ self.importMap = OrderedDict() # type: Dict[str, Module]
@property
def interfaces(self):
@@ -98,9 +98,9 @@ class Package(object):
if name in self.definitionMap:
return self.definitionMap[name]
- def lookup_package(self, name: str):
- if name in self.system.packageMap:
- return self.system.packageMap[name]
+ def lookup_module(self, name: str):
+ if name in self.system.moduleMap:
+ return self.system.moduleMap[name]
def __unicode__(self):
return self.name
@@ -112,14 +112,14 @@ class Package(object):
class Symbol(object):
"""A symbol represents a base class for names elements"""
- def __init__(self, name: str, package: Package):
+ def __init__(self, name: str, module: Module):
self.name = name
- self.package = package
+ self.module = module
self.comment = ''
@property
def system(self):
- return self.package.system
+ return self.module.system
def __unicode__(self):
return self.name
@@ -129,20 +129,20 @@ class Symbol(object):
@property
def qualifiedName(self):
- return '{0}.{1}'.format(self.package.name, self.name)
+ return '{0}.{1}'.format(self.module.name, self.name)
class TypedSymbol(Symbol):
"""A symbol which has a type"""
- def __init__(self, name: str, package: Package):
- super().__init__(name, package)
+ def __init__(self, name: str, module: Module):
+ super().__init__(name, module)
self.type = TypeSymbol("", self)
class TypeSymbol(Symbol):
"""Defines a type in the system"""
def __init__(self, name: str, parent: Symbol):
- super().__init__(name, parent.package)
+ super().__init__(name, parent.module)
log.debug('TypeSymbol()')
self.parent = parent
self.is_void = False # type:bool
@@ -171,7 +171,7 @@ class TypeSymbol(Symbol):
def definition(self):
if not self.is_complex:
return
- result = self.package.lookup_definition(self.name)
+ result = self.module.lookup_definition(self.name)
if not result:
result = self.system.lookup_definition(self.name)
return result
@@ -188,10 +188,10 @@ class TypeSymbol(Symbol):
class Interface(Symbol):
"""A interface is an object with operations, attributes and events"""
- def __init__(self, name: str, package: Package):
- super().__init__(name, package)
+ def __init__(self, name: str, module: Module):
+ super().__init__(name, module)
log.debug('Interface()')
- self.package.interfaceMap[name] = self
+ self.module.interfaceMap[name] = self
self.attributeMap = OrderedDict() # type: Dict[str, Attribute]
self.operationMap = OrderedDict() # type: Dict[str, Operation]
self.eventMap = OrderedDict() # type: Dict[str, Operation]
@@ -211,10 +211,10 @@ class Interface(Symbol):
class Struct(Symbol):
"""Represents a data container"""
- def __init__(self, name: str, package: Package):
- super().__init__(name, package)
+ def __init__(self, name: str, module: Module):
+ super().__init__(name, module)
log.debug('Struct()')
- self.package.structMap[name] = self
+ self.module.structMap[name] = self
self.memberMap = OrderedDict() # type: Dict[str, Member]
@property
@@ -225,7 +225,7 @@ class Struct(Symbol):
class Member(TypedSymbol):
"""A member in a struct"""
def __init__(self, name: str, struct: Struct):
- super().__init__(name, struct.package)
+ super().__init__(name, struct.module)
log.debug('Member()')
self.struct = struct # type:Struct
self.struct.memberMap[name] = self
@@ -234,7 +234,7 @@ class Member(TypedSymbol):
class Operation(TypedSymbol):
"""An operation inside a interface"""
def __init__(self, name: str, interface: Interface, is_event=False):
- super().__init__(name, interface.package)
+ super().__init__(name, interface.module)
log.debug('Operation()')
self.interface = interface
self.is_event = is_event
@@ -252,7 +252,7 @@ class Operation(TypedSymbol):
class Attribute(TypedSymbol):
"""A typed attribute inside a interface"""
def __init__(self, name: str, interface: Interface):
- super().__init__(name, interface.package)
+ super().__init__(name, interface.module)
log.debug('Attribute()')
self.interface = interface
self.interface.attributeMap[name] = self
@@ -260,13 +260,13 @@ class Attribute(TypedSymbol):
class Enum(Symbol):
- """An enum (flag) inside a package"""
- def __init__(self, name: str, package: Package):
- super().__init__(name, package)
+ """An enum (flag) inside a module"""
+ def __init__(self, name: str, module: Module):
+ super().__init__(name, module)
log.debug('Enum()')
self.is_enum = True
self.is_flag = False
- self.package.enumMap[name] = self
+ self.module.enumMap[name] = self
self.memberMap = OrderedDict() # type: Dict[EnumMember]
@property
@@ -277,7 +277,7 @@ class Enum(Symbol):
class EnumMember(Symbol):
"""A enum value"""
def __init__(self, name: str, enum: Enum):
- super().__init__(name, enum.package)
+ super().__init__(name, enum.module)
log.debug('EnumMember()')
self.enum = enum
self.enum.memberMap[name] = self
@@ -287,7 +287,7 @@ class EnumMember(Symbol):
class Parameter(TypedSymbol):
"""An operation parameter"""
def __init__(self, name: str, operation: Operation):
- super().__init__(name, operation.package)
+ super().__init__(name, operation.module)
log.debug('Parameter()')
self.operation = operation
self.operation.parameterMap[name] = self
diff --git a/qface/idl/listener.py b/qface/idl/listener.py
index 5a2f1a1..e3689e1 100644
--- a/qface/idl/listener.py
+++ b/qface/idl/listener.py
@@ -15,7 +15,7 @@ class DomainListener(TListener):
def __init__(self, system):
super(DomainListener, self).__init__()
self.system = system or System() # type:System
- self.package = None # type:Package
+ self.module = None # type:Module
self.interface = None # type:Interface
self.struct = None # type:Struct
self.enum = None # type:Enum
@@ -63,37 +63,37 @@ class DomainListener(TListener):
def exitEveryRule(self, ctx):
log.debug('exit ' + ctx.__class__.__name__)
- def enterPackageSymbol(self, ctx: TParser.PackageSymbolContext):
+ def enterModuleSymbol(self, ctx: TParser.ModuleSymbolContext):
assert self.system
name = ctx.name.text
- self.package = Package(name, self.system)
+ self.module = Module(name, self.system)
- def exitPackageSymbol(self, ctx: TParser.PackageSymbolContext):
+ def exitModuleSymbol(self, ctx: TParser.ModuleSymbolContext):
pass
def enterInterfaceSymbol(self, ctx: TParser.InterfaceSymbolContext):
- assert self.package
+ assert self.module
name = ctx.name.text
- self.interface = Interface(name, self.package)
+ self.interface = Interface(name, self.module)
self.parse_comment(ctx, self.interface)
def exitInterfaceSymbol(self, ctx: TParser.InterfaceSymbolContext):
self.interface = None
def enterStructSymbol(self, ctx: TParser.StructSymbolContext):
- assert self.package
+ assert self.module
name = ctx.name.text
- self.struct = Struct(name, self.package)
+ self.struct = Struct(name, self.module)
self.parse_comment(ctx, self.struct)
def exitStructSymbol(self, ctx: TParser.StructSymbolContext):
self.struct = None
def enterEnumSymbol(self, ctx: TParser.EnumSymbolContext):
- assert self.package
+ assert self.module
name = ctx.name.text
# import ipdb; ipdb.set_trace()
- self.enum = Enum(name, self.package)
+ self.enum = Enum(name, self.module)
self.parse_comment(ctx, self.enum)
def exitEnumSymbol(self, ctx: TParser.EnumSymbolContext):
@@ -157,9 +157,9 @@ class DomainListener(TListener):
self.member = None
def enterImportSymbol(self, ctx:TParser.ImportSymbolContext):
- assert self.package
+ assert self.module
name = ctx.name.text
- self.package.importMap[name] = None
+ self.module.importMap[name] = None
def exitImportSymbol(self, ctx:TParser.ImportSymbolContext):
diff --git a/qface/idl/parser/T.g4 b/qface/idl/parser/T.g4
index d607466..a8500d3 100644
--- a/qface/idl/parser/T.g4
+++ b/qface/idl/parser/T.g4
@@ -7,19 +7,19 @@ documentSymbol
;
/**
-package name;
+module name;
import name;
*/
headerSymbol
- : packageSymbol importSymbol*
+ : moduleSymbol importSymbol*
;
importSymbol
: 'import' name=IDENTIFIER ';'
;
-packageSymbol
- : comment=DOCCOMMENT? 'package' name=IDENTIFIER ';'
+moduleSymbol
+ : comment=DOCCOMMENT? 'module' name=IDENTIFIER ';'
;
definitionSymbol
diff --git a/qface/idl/parser/T.tokens b/qface/idl/parser/T.tokens
index 07637f5..d77faa8 100644
--- a/qface/idl/parser/T.tokens
+++ b/qface/idl/parser/T.tokens
@@ -31,7 +31,7 @@ COMMENT=30
MULTICOMM=31
'import'=1
';'=2
-'package'=3
+'module'=3
'interface'=4
'{'=5
'}'=6
diff --git a/qface/idl/parser/TLexer.py b/qface/idl/parser/TLexer.py
index 58d35d4..04f843a 100644
--- a/qface/idl/parser/TLexer.py
+++ b/qface/idl/parser/TLexer.py
@@ -6,105 +6,105 @@ from io import StringIO
def serializedATN():
with StringIO() as buf:
buf.write("\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2!")
- buf.write("\u00f5\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7")
+ buf.write("\u00f4\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7")
buf.write("\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r")
buf.write("\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23")
buf.write("\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30")
buf.write("\4\31\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36")
buf.write("\t\36\4\37\t\37\4 \t \3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\3")
- buf.write("\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\5\3\5\3")
- buf.write("\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\b")
- buf.write("\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f")
- buf.write("\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\16\3\16\3\16\3")
- buf.write("\16\3\16\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20")
- buf.write("\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22")
- buf.write("\3\22\3\23\3\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25")
- buf.write("\3\26\3\26\3\26\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27")
- buf.write("\3\27\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\32\5\32\u00b3")
- buf.write("\n\32\3\32\6\32\u00b6\n\32\r\32\16\32\u00b7\3\33\3\33")
- buf.write("\3\33\3\33\6\33\u00be\n\33\r\33\16\33\u00bf\3\34\3\34")
- buf.write("\7\34\u00c4\n\34\f\34\16\34\u00c7\13\34\3\35\3\35\3\35")
- buf.write("\3\35\3\35\7\35\u00ce\n\35\f\35\16\35\u00d1\13\35\3\35")
- buf.write("\3\35\3\35\3\36\6\36\u00d7\n\36\r\36\16\36\u00d8\3\36")
- buf.write("\3\36\3\37\3\37\3\37\3\37\7\37\u00e1\n\37\f\37\16\37\u00e4")
- buf.write("\13\37\3\37\3\37\3 \3 \3 \3 \7 \u00ec\n \f \16 \u00ef")
- buf.write("\13 \3 \3 \3 \3 \3 \4\u00cf\u00ed\2!\3\3\5\4\7\5\t\6\13")
+ buf.write("\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3")
+ buf.write("\5\3\5\3\5\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3\b\3\b\3\b\3\b")
+ buf.write("\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\13\3\13\3\f\3\f\3\f")
+ buf.write("\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\16\3\16\3\16\3\16\3")
+ buf.write("\16\3\17\3\17\3\17\3\17\3\20\3\20\3\20\3\20\3\20\3\21")
+ buf.write("\3\21\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\3\22")
+ buf.write("\3\23\3\23\3\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\26")
+ buf.write("\3\26\3\26\3\26\3\26\3\26\3\26\3\27\3\27\3\27\3\27\3\27")
+ buf.write("\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\32\5\32\u00b2\n")
+ buf.write("\32\3\32\6\32\u00b5\n\32\r\32\16\32\u00b6\3\33\3\33\3")
+ buf.write("\33\3\33\6\33\u00bd\n\33\r\33\16\33\u00be\3\34\3\34\7")
+ buf.write("\34\u00c3\n\34\f\34\16\34\u00c6\13\34\3\35\3\35\3\35\3")
+ buf.write("\35\3\35\7\35\u00cd\n\35\f\35\16\35\u00d0\13\35\3\35\3")
+ buf.write("\35\3\35\3\36\6\36\u00d6\n\36\r\36\16\36\u00d7\3\36\3")
+ buf.write("\36\3\37\3\37\3\37\3\37\7\37\u00e0\n\37\f\37\16\37\u00e3")
+ buf.write("\13\37\3\37\3\37\3 \3 \3 \3 \7 \u00eb\n \f \16 \u00ee")
+ buf.write("\13 \3 \3 \3 \3 \3 \4\u00ce\u00ec\2!\3\3\5\4\7\5\t\6\13")
buf.write("\7\r\b\17\t\21\n\23\13\25\f\27\r\31\16\33\17\35\20\37")
buf.write("\21!\22#\23%\24\'\25)\26+\27-\30/\31\61\32\63\33\65\34")
buf.write("\67\359\36;\37= ?!\3\2\b\4\2--//\5\2\62;CHch\6\2\62;C")
buf.write("\\aac|\b\2\60\60\62;C\\^^aac|\5\2\13\f\17\17\"\"\4\2\f")
- buf.write("\f\17\17\u00fc\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t")
+ buf.write("\f\17\17\u00fb\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t")
buf.write("\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3")
buf.write("\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2")
buf.write("\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2\37\3\2\2\2\2!\3\2\2\2")
buf.write("\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2+\3\2\2")
buf.write("\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65")
buf.write("\3\2\2\2\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2")
- buf.write("\2?\3\2\2\2\3A\3\2\2\2\5H\3\2\2\2\7J\3\2\2\2\tR\3\2\2")
- buf.write("\2\13\\\3\2\2\2\r^\3\2\2\2\17`\3\2\2\2\21f\3\2\2\2\23")
- buf.write("k\3\2\2\2\25m\3\2\2\2\27o\3\2\2\2\31x\3\2\2\2\33z\3\2")
- buf.write("\2\2\35\177\3\2\2\2\37\u0083\3\2\2\2!\u0088\3\2\2\2#\u008f")
- buf.write("\3\2\2\2%\u0094\3\2\2\2\'\u0096\3\2\2\2)\u0098\3\2\2\2")
- buf.write("+\u009e\3\2\2\2-\u00a5\3\2\2\2/\u00aa\3\2\2\2\61\u00af")
- buf.write("\3\2\2\2\63\u00b2\3\2\2\2\65\u00b9\3\2\2\2\67\u00c1\3")
- buf.write("\2\2\29\u00c8\3\2\2\2;\u00d6\3\2\2\2=\u00dc\3\2\2\2?\u00e7")
+ buf.write("\2?\3\2\2\2\3A\3\2\2\2\5H\3\2\2\2\7J\3\2\2\2\tQ\3\2\2")
+ buf.write("\2\13[\3\2\2\2\r]\3\2\2\2\17_\3\2\2\2\21e\3\2\2\2\23j")
+ buf.write("\3\2\2\2\25l\3\2\2\2\27n\3\2\2\2\31w\3\2\2\2\33y\3\2\2")
+ buf.write("\2\35~\3\2\2\2\37\u0082\3\2\2\2!\u0087\3\2\2\2#\u008e")
+ buf.write("\3\2\2\2%\u0093\3\2\2\2\'\u0095\3\2\2\2)\u0097\3\2\2\2")
+ buf.write("+\u009d\3\2\2\2-\u00a4\3\2\2\2/\u00a9\3\2\2\2\61\u00ae")
+ buf.write("\3\2\2\2\63\u00b1\3\2\2\2\65\u00b8\3\2\2\2\67\u00c0\3")
+ buf.write("\2\2\29\u00c7\3\2\2\2;\u00d5\3\2\2\2=\u00db\3\2\2\2?\u00e6")
buf.write("\3\2\2\2AB\7k\2\2BC\7o\2\2CD\7r\2\2DE\7q\2\2EF\7t\2\2")
- buf.write("FG\7v\2\2G\4\3\2\2\2HI\7=\2\2I\6\3\2\2\2JK\7r\2\2KL\7")
- buf.write("c\2\2LM\7e\2\2MN\7m\2\2NO\7c\2\2OP\7i\2\2PQ\7g\2\2Q\b")
- buf.write("\3\2\2\2RS\7k\2\2ST\7p\2\2TU\7v\2\2UV\7g\2\2VW\7t\2\2")
- buf.write("WX\7h\2\2XY\7c\2\2YZ\7e\2\2Z[\7g\2\2[\n\3\2\2\2\\]\7}")
- buf.write("\2\2]\f\3\2\2\2^_\7\177\2\2_\16\3\2\2\2`a\7g\2\2ab\7x")
- buf.write("\2\2bc\7g\2\2cd\7p\2\2de\7v\2\2e\20\3\2\2\2fg\7x\2\2g")
- buf.write("h\7q\2\2hi\7k\2\2ij\7f\2\2j\22\3\2\2\2kl\7*\2\2l\24\3")
- buf.write("\2\2\2mn\7+\2\2n\26\3\2\2\2op\7t\2\2pq\7g\2\2qr\7c\2\2")
- buf.write("rs\7f\2\2st\7q\2\2tu\7p\2\2uv\7n\2\2vw\7{\2\2w\30\3\2")
- buf.write("\2\2xy\7.\2\2y\32\3\2\2\2z{\7d\2\2{|\7q\2\2|}\7q\2\2}")
- buf.write("~\7n\2\2~\34\3\2\2\2\177\u0080\7k\2\2\u0080\u0081\7p\2")
- buf.write("\2\u0081\u0082\7v\2\2\u0082\36\3\2\2\2\u0083\u0084\7t")
- buf.write("\2\2\u0084\u0085\7g\2\2\u0085\u0086\7c\2\2\u0086\u0087")
- buf.write("\7n\2\2\u0087 \3\2\2\2\u0088\u0089\7u\2\2\u0089\u008a")
- buf.write("\7v\2\2\u008a\u008b\7t\2\2\u008b\u008c\7k\2\2\u008c\u008d")
- buf.write("\7p\2\2\u008d\u008e\7i\2\2\u008e\"\3\2\2\2\u008f\u0090")
- buf.write("\7n\2\2\u0090\u0091\7k\2\2\u0091\u0092\7u\2\2\u0092\u0093")
- buf.write("\7v\2\2\u0093$\3\2\2\2\u0094\u0095\7>\2\2\u0095&\3\2\2")
- buf.write("\2\u0096\u0097\7@\2\2\u0097(\3\2\2\2\u0098\u0099\7o\2")
- buf.write("\2\u0099\u009a\7q\2\2\u009a\u009b\7f\2\2\u009b\u009c\7")
- buf.write("g\2\2\u009c\u009d\7n\2\2\u009d*\3\2\2\2\u009e\u009f\7")
- buf.write("u\2\2\u009f\u00a0\7v\2\2\u00a0\u00a1\7t\2\2\u00a1\u00a2")
- buf.write("\7w\2\2\u00a2\u00a3\7e\2\2\u00a3\u00a4\7v\2\2\u00a4,\3")
- buf.write("\2\2\2\u00a5\u00a6\7g\2\2\u00a6\u00a7\7p\2\2\u00a7\u00a8")
- buf.write("\7w\2\2\u00a8\u00a9\7o\2\2\u00a9.\3\2\2\2\u00aa\u00ab")
- buf.write("\7h\2\2\u00ab\u00ac\7n\2\2\u00ac\u00ad\7c\2\2\u00ad\u00ae")
- buf.write("\7i\2\2\u00ae\60\3\2\2\2\u00af\u00b0\7?\2\2\u00b0\62\3")
- buf.write("\2\2\2\u00b1\u00b3\t\2\2\2\u00b2\u00b1\3\2\2\2\u00b2\u00b3")
- buf.write("\3\2\2\2\u00b3\u00b5\3\2\2\2\u00b4\u00b6\4\62;\2\u00b5")
- buf.write("\u00b4\3\2\2\2\u00b6\u00b7\3\2\2\2\u00b7\u00b5\3\2\2\2")
- buf.write("\u00b7\u00b8\3\2\2\2\u00b8\64\3\2\2\2\u00b9\u00ba\7\62")
- buf.write("\2\2\u00ba\u00bb\7z\2\2\u00bb\u00bd\3\2\2\2\u00bc\u00be")
- buf.write("\t\3\2\2\u00bd\u00bc\3\2\2\2\u00be\u00bf\3\2\2\2\u00bf")
- buf.write("\u00bd\3\2\2\2\u00bf\u00c0\3\2\2\2\u00c0\66\3\2\2\2\u00c1")
- buf.write("\u00c5\t\4\2\2\u00c2\u00c4\t\5\2\2\u00c3\u00c2\3\2\2\2")
- buf.write("\u00c4\u00c7\3\2\2\2\u00c5\u00c3\3\2\2\2\u00c5\u00c6\3")
- buf.write("\2\2\2\u00c68\3\2\2\2\u00c7\u00c5\3\2\2\2\u00c8\u00c9")
- buf.write("\7\61\2\2\u00c9\u00ca\7,\2\2\u00ca\u00cb\7#\2\2\u00cb")
- buf.write("\u00cf\3\2\2\2\u00cc\u00ce\13\2\2\2\u00cd\u00cc\3\2\2")
- buf.write("\2\u00ce\u00d1\3\2\2\2\u00cf\u00d0\3\2\2\2\u00cf\u00cd")
- buf.write("\3\2\2\2\u00d0\u00d2\3\2\2\2\u00d1\u00cf\3\2\2\2\u00d2")
- buf.write("\u00d3\7,\2\2\u00d3\u00d4\7\61\2\2\u00d4:\3\2\2\2\u00d5")
- buf.write("\u00d7\t\6\2\2\u00d6\u00d5\3\2\2\2\u00d7\u00d8\3\2\2\2")
- buf.write("\u00d8\u00d6\3\2\2\2\u00d8\u00d9\3\2\2\2\u00d9\u00da\3")
- buf.write("\2\2\2\u00da\u00db\b\36\2\2\u00db<\3\2\2\2\u00dc\u00dd")
- buf.write("\7\61\2\2\u00dd\u00de\7\61\2\2\u00de\u00e2\3\2\2\2\u00df")
- buf.write("\u00e1\n\7\2\2\u00e0\u00df\3\2\2\2\u00e1\u00e4\3\2\2\2")
- buf.write("\u00e2\u00e0\3\2\2\2\u00e2\u00e3\3\2\2\2\u00e3\u00e5\3")
- buf.write("\2\2\2\u00e4\u00e2\3\2\2\2\u00e5\u00e6\b\37\2\2\u00e6")
- buf.write(">\3\2\2\2\u00e7\u00e8\7\61\2\2\u00e8\u00e9\7,\2\2\u00e9")
- buf.write("\u00ed\3\2\2\2\u00ea\u00ec\13\2\2\2\u00eb\u00ea\3\2\2")
- buf.write("\2\u00ec\u00ef\3\2\2\2\u00ed\u00ee\3\2\2\2\u00ed\u00eb")
- buf.write("\3\2\2\2\u00ee\u00f0\3\2\2\2\u00ef\u00ed\3\2\2\2\u00f0")
- buf.write("\u00f1\7,\2\2\u00f1\u00f2\7\61\2\2\u00f2\u00f3\3\2\2\2")
- buf.write("\u00f3\u00f4\b \2\2\u00f4@\3\2\2\2\13\2\u00b2\u00b7\u00bf")
- buf.write("\u00c5\u00cf\u00d8\u00e2\u00ed\3\b\2\2")
+ buf.write("FG\7v\2\2G\4\3\2\2\2HI\7=\2\2I\6\3\2\2\2JK\7o\2\2KL\7")
+ buf.write("q\2\2LM\7f\2\2MN\7w\2\2NO\7n\2\2OP\7g\2\2P\b\3\2\2\2Q")
+ buf.write("R\7k\2\2RS\7p\2\2ST\7v\2\2TU\7g\2\2UV\7t\2\2VW\7h\2\2")
+ buf.write("WX\7c\2\2XY\7e\2\2YZ\7g\2\2Z\n\3\2\2\2[\\\7}\2\2\\\f\3")
+ buf.write("\2\2\2]^\7\177\2\2^\16\3\2\2\2_`\7g\2\2`a\7x\2\2ab\7g")
+ buf.write("\2\2bc\7p\2\2cd\7v\2\2d\20\3\2\2\2ef\7x\2\2fg\7q\2\2g")
+ buf.write("h\7k\2\2hi\7f\2\2i\22\3\2\2\2jk\7*\2\2k\24\3\2\2\2lm\7")
+ buf.write("+\2\2m\26\3\2\2\2no\7t\2\2op\7g\2\2pq\7c\2\2qr\7f\2\2")
+ buf.write("rs\7q\2\2st\7p\2\2tu\7n\2\2uv\7{\2\2v\30\3\2\2\2wx\7.")
+ buf.write("\2\2x\32\3\2\2\2yz\7d\2\2z{\7q\2\2{|\7q\2\2|}\7n\2\2}")
+ buf.write("\34\3\2\2\2~\177\7k\2\2\177\u0080\7p\2\2\u0080\u0081\7")
+ buf.write("v\2\2\u0081\36\3\2\2\2\u0082\u0083\7t\2\2\u0083\u0084")
+ buf.write("\7g\2\2\u0084\u0085\7c\2\2\u0085\u0086\7n\2\2\u0086 \3")
+ buf.write("\2\2\2\u0087\u0088\7u\2\2\u0088\u0089\7v\2\2\u0089\u008a")
+ buf.write("\7t\2\2\u008a\u008b\7k\2\2\u008b\u008c\7p\2\2\u008c\u008d")
+ buf.write("\7i\2\2\u008d\"\3\2\2\2\u008e\u008f\7n\2\2\u008f\u0090")
+ buf.write("\7k\2\2\u0090\u0091\7u\2\2\u0091\u0092\7v\2\2\u0092$\3")
+ buf.write("\2\2\2\u0093\u0094\7>\2\2\u0094&\3\2\2\2\u0095\u0096\7")
+ buf.write("@\2\2\u0096(\3\2\2\2\u0097\u0098\7o\2\2\u0098\u0099\7")
+ buf.write("q\2\2\u0099\u009a\7f\2\2\u009a\u009b\7g\2\2\u009b\u009c")
+ buf.write("\7n\2\2\u009c*\3\2\2\2\u009d\u009e\7u\2\2\u009e\u009f")
+ buf.write("\7v\2\2\u009f\u00a0\7t\2\2\u00a0\u00a1\7w\2\2\u00a1\u00a2")
+ buf.write("\7e\2\2\u00a2\u00a3\7v\2\2\u00a3,\3\2\2\2\u00a4\u00a5")
+ buf.write("\7g\2\2\u00a5\u00a6\7p\2\2\u00a6\u00a7\7w\2\2\u00a7\u00a8")
+ buf.write("\7o\2\2\u00a8.\3\2\2\2\u00a9\u00aa\7h\2\2\u00aa\u00ab")
+ buf.write("\7n\2\2\u00ab\u00ac\7c\2\2\u00ac\u00ad\7i\2\2\u00ad\60")
+ buf.write("\3\2\2\2\u00ae\u00af\7?\2\2\u00af\62\3\2\2\2\u00b0\u00b2")
+ buf.write("\t\2\2\2\u00b1\u00b0\3\2\2\2\u00b1\u00b2\3\2\2\2\u00b2")
+ buf.write("\u00b4\3\2\2\2\u00b3\u00b5\4\62;\2\u00b4\u00b3\3\2\2\2")
+ buf.write("\u00b5\u00b6\3\2\2\2\u00b6\u00b4\3\2\2\2\u00b6\u00b7\3")
+ buf.write("\2\2\2\u00b7\64\3\2\2\2\u00b8\u00b9\7\62\2\2\u00b9\u00ba")
+ buf.write("\7z\2\2\u00ba\u00bc\3\2\2\2\u00bb\u00bd\t\3\2\2\u00bc")
+ buf.write("\u00bb\3\2\2\2\u00bd\u00be\3\2\2\2\u00be\u00bc\3\2\2\2")
+ buf.write("\u00be\u00bf\3\2\2\2\u00bf\66\3\2\2\2\u00c0\u00c4\t\4")
+ buf.write("\2\2\u00c1\u00c3\t\5\2\2\u00c2\u00c1\3\2\2\2\u00c3\u00c6")
+ buf.write("\3\2\2\2\u00c4\u00c2\3\2\2\2\u00c4\u00c5\3\2\2\2\u00c5")
+ buf.write("8\3\2\2\2\u00c6\u00c4\3\2\2\2\u00c7\u00c8\7\61\2\2\u00c8")
+ buf.write("\u00c9\7,\2\2\u00c9\u00ca\7#\2\2\u00ca\u00ce\3\2\2\2\u00cb")
+ buf.write("\u00cd\13\2\2\2\u00cc\u00cb\3\2\2\2\u00cd\u00d0\3\2\2")
+ buf.write("\2\u00ce\u00cf\3\2\2\2\u00ce\u00cc\3\2\2\2\u00cf\u00d1")
+ buf.write("\3\2\2\2\u00d0\u00ce\3\2\2\2\u00d1\u00d2\7,\2\2\u00d2")
+ buf.write("\u00d3\7\61\2\2\u00d3:\3\2\2\2\u00d4\u00d6\t\6\2\2\u00d5")
+ buf.write("\u00d4\3\2\2\2\u00d6\u00d7\3\2\2\2\u00d7\u00d5\3\2\2\2")
+ buf.write("\u00d7\u00d8\3\2\2\2\u00d8\u00d9\3\2\2\2\u00d9\u00da\b")
+ buf.write("\36\2\2\u00da<\3\2\2\2\u00db\u00dc\7\61\2\2\u00dc\u00dd")
+ buf.write("\7\61\2\2\u00dd\u00e1\3\2\2\2\u00de\u00e0\n\7\2\2\u00df")
+ buf.write("\u00de\3\2\2\2\u00e0\u00e3\3\2\2\2\u00e1\u00df\3\2\2\2")
+ buf.write("\u00e1\u00e2\3\2\2\2\u00e2\u00e4\3\2\2\2\u00e3\u00e1\3")
+ buf.write("\2\2\2\u00e4\u00e5\b\37\2\2\u00e5>\3\2\2\2\u00e6\u00e7")
+ buf.write("\7\61\2\2\u00e7\u00e8\7,\2\2\u00e8\u00ec\3\2\2\2\u00e9")
+ buf.write("\u00eb\13\2\2\2\u00ea\u00e9\3\2\2\2\u00eb\u00ee\3\2\2")
+ buf.write("\2\u00ec\u00ed\3\2\2\2\u00ec\u00ea\3\2\2\2\u00ed\u00ef")
+ buf.write("\3\2\2\2\u00ee\u00ec\3\2\2\2\u00ef\u00f0\7,\2\2\u00f0")
+ buf.write("\u00f1\7\61\2\2\u00f1\u00f2\3\2\2\2\u00f2\u00f3\b \2\2")
+ buf.write("\u00f3@\3\2\2\2\13\2\u00b1\u00b6\u00be\u00c4\u00ce\u00d7")
+ buf.write("\u00e1\u00ec\3\b\2\2")
return buf.getvalue()
@@ -150,7 +150,7 @@ class TLexer(Lexer):
modeNames = [ "DEFAULT_MODE" ]
literalNames = [ "<INVALID>",
- "'import'", "';'", "'package'", "'interface'", "'{'", "'}'",
+ "'import'", "';'", "'module'", "'interface'", "'{'", "'}'",
"'event'", "'void'", "'('", "')'", "'readonly'", "','", "'bool'",
"'int'", "'real'", "'string'", "'list'", "'<'", "'>'", "'model'",
"'struct'", "'enum'", "'flag'", "'='" ]
diff --git a/qface/idl/parser/TLexer.tokens b/qface/idl/parser/TLexer.tokens
index 07637f5..d77faa8 100644
--- a/qface/idl/parser/TLexer.tokens
+++ b/qface/idl/parser/TLexer.tokens
@@ -31,7 +31,7 @@ COMMENT=30
MULTICOMM=31
'import'=1
';'=2
-'package'=3
+'module'=3
'interface'=4
'{'=5
'}'=6
diff --git a/qface/idl/parser/TListener.py b/qface/idl/parser/TListener.py
index d92deaf..066e031 100644
--- a/qface/idl/parser/TListener.py
+++ b/qface/idl/parser/TListener.py
@@ -35,12 +35,12 @@ class TListener(ParseTreeListener):
pass
- # Enter a parse tree produced by TParser#packageSymbol.
- def enterPackageSymbol(self, ctx:TParser.PackageSymbolContext):
+ # Enter a parse tree produced by TParser#moduleSymbol.
+ def enterModuleSymbol(self, ctx:TParser.ModuleSymbolContext):
pass
- # Exit a parse tree produced by TParser#packageSymbol.
- def exitPackageSymbol(self, ctx:TParser.PackageSymbolContext):
+ # Exit a parse tree produced by TParser#moduleSymbol.
+ def exitModuleSymbol(self, ctx:TParser.ModuleSymbolContext):
pass
diff --git a/qface/idl/parser/TParser.py b/qface/idl/parser/TParser.py
index e5c3cc9..76b6cca 100644
--- a/qface/idl/parser/TParser.py
+++ b/qface/idl/parser/TParser.py
@@ -101,7 +101,7 @@ class TParser ( Parser ):
sharedContextCache = PredictionContextCache()
- literalNames = [ "<INVALID>", "'import'", "';'", "'package'", "'interface'",
+ literalNames = [ "<INVALID>", "'import'", "';'", "'module'", "'interface'",
"'{'", "'}'", "'event'", "'void'", "'('", "')'", "'readonly'",
"','", "'bool'", "'int'", "'real'", "'string'", "'list'",
"'<'", "'>'", "'model'", "'struct'", "'enum'", "'flag'",
@@ -119,7 +119,7 @@ class TParser ( Parser ):
RULE_documentSymbol = 0
RULE_headerSymbol = 1
RULE_importSymbol = 2
- RULE_packageSymbol = 3
+ RULE_moduleSymbol = 3
RULE_definitionSymbol = 4
RULE_interfaceSymbol = 5
RULE_memberSymbol = 6
@@ -138,7 +138,7 @@ class TParser ( Parser ):
RULE_enumMemberSymbol = 19
RULE_intSymbol = 20
- ruleNames = [ "documentSymbol", "headerSymbol", "importSymbol", "packageSymbol",
+ ruleNames = [ "documentSymbol", "headerSymbol", "importSymbol", "moduleSymbol",
"definitionSymbol", "interfaceSymbol", "memberSymbol",
"operationSymbol", "attributeSymbol", "parameterSymbol",
"typeSymbol", "complexTypeSymbol", "primitiveTypeSymbol",
@@ -257,8 +257,8 @@ class TParser ( Parser ):
super().__init__(parent, invokingState)
self.parser = parser
- def packageSymbol(self):
- return self.getTypedRuleContext(TParser.PackageSymbolContext,0)
+ def moduleSymbol(self):
+ return self.getTypedRuleContext(TParser.ModuleSymbolContext,0)
def importSymbol(self, i:int=None):
@@ -296,7 +296,7 @@ class TParser ( Parser ):
try:
self.enterOuterAlt(localctx, 1)
self.state = 49
- self.packageSymbol()
+ self.moduleSymbol()
self.state = 53
self._errHandler.sync(self)
_la = self._input.LA(1)
@@ -365,7 +365,7 @@ class TParser ( Parser ):
self.exitRule()
return localctx
- class PackageSymbolContext(ParserRuleContext):
+ class ModuleSymbolContext(ParserRuleContext):
def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
super().__init__(parent, invokingState)
@@ -380,29 +380,29 @@ class TParser ( Parser ):
return self.getToken(TParser.DOCCOMMENT, 0)
def getRuleIndex(self):
- return TParser.RULE_packageSymbol
+ return TParser.RULE_moduleSymbol
def enterRule(self, listener:ParseTreeListener):
- if hasattr( listener, "enterPackageSymbol" ):
- listener.enterPackageSymbol(self)
+ if hasattr( listener, "enterModuleSymbol" ):
+ listener.enterModuleSymbol(self)
def exitRule(self, listener:ParseTreeListener):
- if hasattr( listener, "exitPackageSymbol" ):
- listener.exitPackageSymbol(self)
+ if hasattr( listener, "exitModuleSymbol" ):
+ listener.exitModuleSymbol(self)
def accept(self, visitor:ParseTreeVisitor):
- if hasattr( visitor, "visitPackageSymbol" ):
- return visitor.visitPackageSymbol(self)
+ if hasattr( visitor, "visitModuleSymbol" ):
+ return visitor.visitModuleSymbol(self)
else:
return visitor.visitChildren(self)
- def packageSymbol(self):
+ def moduleSymbol(self):
- localctx = TParser.PackageSymbolContext(self, self._ctx, self.state)
- self.enterRule(localctx, 6, self.RULE_packageSymbol)
+ localctx = TParser.ModuleSymbolContext(self, self._ctx, self.state)
+ self.enterRule(localctx, 6, self.RULE_moduleSymbol)
self._la = 0 # Token type
try:
self.enterOuterAlt(localctx, 1)
diff --git a/qface/idl/parser/TVisitor.py b/qface/idl/parser/TVisitor.py
index 560e537..52513fc 100644
--- a/qface/idl/parser/TVisitor.py
+++ b/qface/idl/parser/TVisitor.py
@@ -24,8 +24,8 @@ class TVisitor(ParseTreeVisitor):
return self.visitChildren(ctx)
- # Visit a parse tree produced by TParser#packageSymbol.
- def visitPackageSymbol(self, ctx:TParser.PackageSymbolContext):
+ # Visit a parse tree produced by TParser#moduleSymbol.
+ def visitModuleSymbol(self, ctx:TParser.ModuleSymbolContext):
return self.visitChildren(ctx)
diff --git a/tests/in/climate.qface b/tests/in/climate.qdl
index dba8df4..1d9adbc 100644
--- a/tests/in/climate.qface
+++ b/tests/in/climate.qdl
@@ -1,4 +1,4 @@
-package vehicle.climate;
+module vehicle.climate;
/*!
* The ClimateControl provides a QML interface to the climate control
diff --git a/input/test.qface b/tests/in/test.qdl
index f1c90b9..869a1a0 100644
--- a/input/test.qface
+++ b/tests/in/test.qdl
@@ -1,4 +1,4 @@
-package com.pelagicore.test;
+module com.pelagicore.test;
interface ContactService {
State state;
diff --git a/input/entertainment.tuner.Tuner.qface b/tests/in/tuner.qdl
index 4b37f3a..3367af7 100644
--- a/input/entertainment.tuner.Tuner.qface
+++ b/tests/in/tuner.qdl
@@ -1,4 +1,4 @@
-package entertainment.tuner;
+module entertainment.tuner;
/*! Service Tuner */
interface Tuner {
diff --git a/tests/test_climate.py b/tests/test_climate.py
index 9468695..bf76e5b 100644
--- a/tests/test_climate.py
+++ b/tests/test_climate.py
@@ -13,7 +13,7 @@ log.debug('input path folder: {0}'.format(inputPath.absolute()))
def load_system():
- path = inputPath / 'climate.qface'
+ path = inputPath / 'climate.qdl'
return FileSystem.parse_document(path)
diff --git a/tests/test_generator.py b/tests/test_generator.py
index 62c9fa6..aa542d4 100644
--- a/tests/test_generator.py
+++ b/tests/test_generator.py
@@ -13,16 +13,16 @@ log.debug('input path folder: {0}'.format(inputPath.absolute()))
def loadSystem():
- path = inputPath / 'tuner.qface'
+ path = inputPath / 'tuner.qdl'
return FileSystem.parse_document(path)
-def test_gen_package():
+def test_gen_module():
system = loadSystem()
gen = Generator(searchpath='tests/templates')
- template = "{{package}}"
- package = system.lookup_package('entertainment.tuner')
- text = gen.apply(template, {"package": package})
+ template = "{{module}}"
+ module = system.lookup_module('entertainment.tuner')
+ text = gen.apply(template, {"module": module})
assert text == 'entertainment.tuner'
@@ -30,11 +30,11 @@ def test_gen_interface():
system = loadSystem()
gen = Generator(searchpath='tests/templates')
template = """
- {%- for interface in package.interfaces -%}
+ {%- for interface in module.interfaces -%}
{{interface}}
{%- endfor -%}
"""
- package = system.lookup_package('entertainment.tuner')
- text = gen.apply(template, {"package": package})
+ module = system.lookup_module('entertainment.tuner')
+ text = gen.apply(template, {"module": module})
assert text == 'Tuner'
diff --git a/tests/test_parser.py b/tests/test_parser.py
index da378ee..3d350ac 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -14,13 +14,13 @@ log.debug('input path folder: {0}'.format(inputPath.absolute()))
def loadTuner():
- path = inputPath / 'tuner.qface'
+ path = inputPath / 'tuner.qdl'
return FileSystem.parse_document(path)
def test_parse():
log.debug('test parse')
- names = FileSystem.find_files(inputPath, '*.qface')
+ names = FileSystem.find_files(inputPath, '*.qdl')
# import pdb; pdb.set_trace()
system = System()
for name in names:
@@ -28,28 +28,28 @@ def test_parse():
FileSystem.parse_document(name, system)
-def test_package():
+def test_module():
system = loadTuner()
- assert len(system.packages) == 1
- package = system.lookup_package('entertainment.tuner')
- assert package in system.packages
+ assert len(system.modules) == 1
+ module = system.lookup_module('entertainment.tuner')
+ assert module in system.modules
def test_interface():
system = loadTuner()
- package = system.lookup_package('entertainment.tuner')
+ module = system.lookup_module('entertainment.tuner')
interface = system.lookup_interface('entertainment.tuner.Tuner')
- assert interface in package.interfaces
+ assert interface in module.interfaces
assert interface.comment == '/*! Service Tuner */'
def test_attribute():
system = loadTuner()
interface = system.lookup_interface('entertainment.tuner.Tuner')
- package = system.lookup_package('entertainment.tuner')
+ module = system.lookup_module('entertainment.tuner')
attr = interface.attributeMap['currentStation']
assert attr.type.name == 'Station'
- assert attr.package == package
+ assert attr.module == module
assert attr.type.qualifiedName == 'entertainment.tuner.Station'
assert attr.is_readonly
assert attr.comment == '/*! attribute currentStation */'
@@ -57,10 +57,10 @@ def test_attribute():
def test_struct():
system = loadTuner()
- package = system.lookup_package('entertainment.tuner')
+ module = system.lookup_module('entertainment.tuner')
symbol = system.lookup_struct('entertainment.tuner.Station')
assert symbol.name == 'Station'
- assert symbol.package == package
+ assert symbol.module == module
assert symbol.qualifiedName == 'entertainment.tuner.Station'
assert symbol.comment == '/*! struct Station */'
@@ -68,11 +68,11 @@ def test_struct():
def test_enum():
system = loadTuner()
definition = system.lookup_definition('entertainment.tuner.Waveband')
- package = system.lookup_package('entertainment.tuner')
+ module = system.lookup_module('entertainment.tuner')
symbol = system.lookup_enum('entertainment.tuner.Waveband')
assert definition == symbol
assert symbol.name == 'Waveband'
- assert symbol.package == package
+ assert symbol.module == module
assert symbol.qualifiedName == 'entertainment.tuner.Waveband'
assert symbol.comment == '/*! enum Waveband */'
assert symbol.is_enum