@lbdudc/gp-gis-dsl 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,162 @@
1
+ function transformation(spec) {
2
+ _relationships(spec);
3
+ const newSpec = {
4
+ features: [
5
+ "GEMA_SPL",
6
+ "DataManagement",
7
+ "GraphicalUserInterface",
8
+ "MapViewer",
9
+ "Tools",
10
+ "DM_SpatialDatabase",
11
+ "DM_GenerationType",
12
+ "DM_DataServer",
13
+ "MV_MapServer",
14
+ "MV_Tools",
15
+ "MV_MapManagement",
16
+ "DM_SD_PostGIS",
17
+ "MV_T_Pan",
18
+ "MV_T_Zoom",
19
+ "DM_GT_Sequence",
20
+ "MV_MM_MultipleMapViewer",
21
+ "MV_MM_MMV_MapSelectorInMapViewer",
22
+ "MV_MM_MMV_MapSelectorInMenuElement",
23
+ "MV_MS_GeoServer",
24
+ "GUI_Forms",
25
+ "GUI_F_Editable",
26
+ "GUI_F_Creatable",
27
+ "GUI_F_Removable",
28
+ "GUI_F_R_ConfirmationAlert",
29
+ "GUI_Lists",
30
+ "GUI_L_FormLink",
31
+ "GUI_L_F_BasicSearch",
32
+ "GUI_L_Filterable",
33
+ "GUI_L_Sortable",
34
+ "GUI_L_LocateInMap",
35
+ "GUI_L_ViewListAsMap",
36
+ "GUI_L_Export",
37
+ "GUI_StaticPages",
38
+ "MV_ContextInformation",
39
+ "MV_CI_Scale",
40
+ "MV_CI_Map",
41
+ "MV_CI_CenterCoordinates",
42
+ "MV_CI_Dimensions",
43
+ "MV_DetailOnClick",
44
+ "MV_LayerManagement",
45
+ "MV_LM_CenterViewOnLayer",
46
+ "MV_LM_Order",
47
+ "MV_LM_Opacity",
48
+ "MV_LM_HideLayer",
49
+ "MV_LM_Style",
50
+ "MV_LM_ExternalLayer",
51
+ "MV_LM_StylePreview",
52
+ "MV_T_Export",
53
+ "MV_T_E_Type",
54
+ "MV_T_E_F_URL",
55
+ "MV_T_E_F_PDF",
56
+ "MV_T_E_SetScale",
57
+ "MV_T_E_ShowLegend",
58
+ "MV_T_InformationMode",
59
+ "MV_T_MeasureControl",
60
+ "MV_T_M_Distance",
61
+ "MV_T_M_Line",
62
+ "MV_T_M_Polygon",
63
+ "MV_T_ZoomWindow",
64
+ "GUI_Menu",
65
+ "GUI_M_Position",
66
+ "GUI_M_Top",
67
+ "DM_DataInput",
68
+ "DM_DI_DataFeeding",
69
+ "DM_DI_DF_Shapefile",
70
+ "T_GIS",
71
+ "T_EntitiesInformation",
72
+ "D_C_Postgres",
73
+ "D_C_Geoserver",
74
+ "D_C_Nginx",
75
+ ],
76
+ basicData: {
77
+ name: spec.name,
78
+ },
79
+ data: {
80
+ dataModel: {
81
+ entities: spec.entities,
82
+ enums: [],
83
+ },
84
+ },
85
+ mapViewer: {
86
+ maps: spec.maps,
87
+ layers: spec.layers,
88
+ styles: spec.styles,
89
+ },
90
+ };
91
+
92
+ if (spec.extra) {
93
+ newSpec.basicData.extra = spec.extra;
94
+ }
95
+
96
+ return newSpec;
97
+ }
98
+
99
+ function _relationships(spec) {
100
+ let source, target;
101
+
102
+ spec.relationships.forEach((r) => {
103
+ source = spec.getEntity(r.source);
104
+ target = spec.getEntity(r.target);
105
+ let sourceOwner = false;
106
+ let targetOwner = false;
107
+ let sourceMultiple = _multiple(r.sourceOpts.multiplicity);
108
+ let targetMultiple = _multiple(r.targetOpts.multiplicity);
109
+ if (sourceMultiple && !targetMultiple) {
110
+ targetOwner = true;
111
+ } else {
112
+ sourceOwner = true;
113
+ }
114
+
115
+ source.properties.push({
116
+ name: r.sourceOpts.label,
117
+ class: target.name,
118
+ owner: sourceOwner,
119
+ bidirectional: r.targetOpts.label,
120
+ multiple: sourceMultiple,
121
+ required: _required(r.sourceOpts.multiplicity),
122
+ });
123
+
124
+ target.properties.push({
125
+ name: r.targetOpts.label,
126
+ class: source.name,
127
+ owner: targetOwner,
128
+ bidirectional: r.sourceOpts.label,
129
+ multiple: targetMultiple,
130
+ required: _required(r.targetOpts.multiplicity),
131
+ });
132
+ });
133
+ }
134
+
135
+ function _multiple(multiplicity) {
136
+ return ["1..1", "0..1"].find((a) => a == multiplicity) == null;
137
+ }
138
+
139
+ function _required(multiplicity) {
140
+ return ["1..1", "1..*"].find((a) => a == multiplicity) != null;
141
+ }
142
+
143
+ function getPropertyParams(symbols) {
144
+ if (!symbols.length) return null;
145
+
146
+ const ret = {};
147
+ if (symbols.includes("identifier")) {
148
+ ret.pk = true;
149
+ }
150
+ if (symbols.includes("required")) {
151
+ ret.required = true;
152
+ }
153
+ if (symbols.includes("unique")) {
154
+ ret.unique = true;
155
+ }
156
+ if (symbols.includes("display_string")) {
157
+ ret.displayString = true;
158
+ }
159
+ return ret;
160
+ }
161
+
162
+ export { transformation, getPropertyParams };
package/src/cli.js ADDED
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env node
2
+
3
+ import meow from "meow";
4
+ import fs from "fs";
5
+ import gisdslParser from "./index.js";
6
+ import path from "path";
7
+
8
+ const usage = "Usage: gisdsl input output";
9
+
10
+ const cli = meow(usage, {
11
+ importMeta: import.meta,
12
+ flags: {
13
+ debug: {
14
+ type: "boolean",
15
+ default: false,
16
+ },
17
+ },
18
+ });
19
+
20
+ if (cli.input.length < 2) {
21
+ cli.showHelp();
22
+ }
23
+
24
+ const inputPath = path.resolve(process.cwd(), cli.input.at(0));
25
+ const input = fs.readFileSync(inputPath, {
26
+ encoding: "utf-8",
27
+ });
28
+
29
+ const spec = gisdslParser(input, cli.flags.debug);
30
+
31
+ const outputPath = path.resolve(process.cwd(), cli.input.at(1));
32
+ fs.writeFileSync(outputPath, JSON.stringify(spec, null, 2), "utf8");
33
+
34
+ console.log(`File ${cli.input.at(1)} generated`);
@@ -0,0 +1,26 @@
1
+ import antlr4 from "antlr4";
2
+
3
+ import SyntaxGenericError from "./SyntaxGenericError.js";
4
+
5
+ /**
6
+ * Custom Error Listener
7
+ *
8
+ * @returns {object}
9
+ */
10
+ class ErrorListener extends antlr4.error.ErrorListener {
11
+ /**
12
+ * Checks syntax error
13
+ *
14
+ * @param {object} recognizer The parsing support code essentially. Most of it is error recovery stuff
15
+ * @param {object} symbol Offending symbol
16
+ * @param {int} line Line of offending symbol
17
+ * @param {int} column Position in line of offending symbol
18
+ * @param {string} message Error message
19
+ * @param {string} payload Stack trace
20
+ */
21
+ syntaxError(recognizer, symbol, line, column, message) {
22
+ throw new SyntaxGenericError({ line, column, message });
23
+ }
24
+ }
25
+
26
+ export default ErrorListener;
@@ -0,0 +1,18 @@
1
+ export default class SyntaxGenericError extends Error {
2
+ constructor(payload) {
3
+ super(payload);
4
+
5
+ this.code = "E_SYNTAX_GENERIC";
6
+ this.message = "Something went wrong";
7
+
8
+ if (typeof payload !== "undefined") {
9
+ this.message = payload.message || this.message;
10
+ this.payload = payload;
11
+ }
12
+
13
+ console.error(
14
+ `line ${this.payload.line}, col ${this.payload.column}: ${this.payload.message}`,
15
+ );
16
+ Error.captureStackTrace(this, SyntaxGenericError);
17
+ }
18
+ }
package/src/index.js ADDED
@@ -0,0 +1,26 @@
1
+ import antlr4 from "antlr4";
2
+ import GISGrammarLexer from "./lib/GISGrammarLexer.js";
3
+ import GISGrammarParser from "./lib/GISGrammarParser.js";
4
+ import ErrorListener from "./error/ErrorListener.js";
5
+ import GISVisitor from "./GISVisitor.js";
6
+ import store from "./store.js";
7
+
8
+ export default function parse(inputStr, debug = false) {
9
+ const chars = new antlr4.InputStream(inputStr);
10
+ const lexer = new GISGrammarLexer(chars);
11
+ lexer.strictMode = false; // do not use js strictMode
12
+
13
+ const tokens = new antlr4.CommonTokenStream(lexer);
14
+ const parser = new GISGrammarParser(tokens);
15
+
16
+ const errorListener = new ErrorListener();
17
+ // Do this after creating the parser and before running it
18
+ parser.removeErrorListeners(); // Remove default ConsoleErrorListener
19
+ parser.addErrorListener(errorListener); // Add custom error listener
20
+
21
+ const visitor = new GISVisitor(store, debug);
22
+ const tree = parser.parse();
23
+ visitor.start(tree);
24
+
25
+ return store.getLastGeneratedProduct();
26
+ }
@@ -0,0 +1,140 @@
1
+ token literal names:
2
+ null
3
+ null
4
+ null
5
+ null
6
+ null
7
+ null
8
+ null
9
+ null
10
+ null
11
+ null
12
+ null
13
+ null
14
+ null
15
+ null
16
+ null
17
+ null
18
+ null
19
+ null
20
+ null
21
+ null
22
+ null
23
+ null
24
+ null
25
+ null
26
+ null
27
+ null
28
+ null
29
+ null
30
+ null
31
+ null
32
+ null
33
+ null
34
+ null
35
+ '0..1'
36
+ '1..1'
37
+ '0..*'
38
+ '1..*'
39
+ null
40
+ '#'
41
+ '.'
42
+ '('
43
+ ')'
44
+ ','
45
+ ';'
46
+ null
47
+ null
48
+ null
49
+ null
50
+ null
51
+ null
52
+ null
53
+
54
+ token symbolic names:
55
+ null
56
+ CREATE_SYMBOL
57
+ GIS_SYMBOL
58
+ ENTITY_SYMBOL
59
+ USING_SYMBOL
60
+ USE_SYMBOL
61
+ GENERATE_SYMBOL
62
+ IDENTIFIER_SYMBOL
63
+ RELATIONSHIP_SYMBOL
64
+ DISPLAYSTRING_SYMBOL
65
+ REQUIRED_SYMBOL
66
+ UNIQUE_SYMBOL
67
+ BIDIRECTIONAL_SYMBOL
68
+ MAPPEDBY_SYMBOL
69
+ LAYER_SYMBOL
70
+ TILE_SYMBOL
71
+ GEOJSON_SYMBOL
72
+ AS_SYMBOL
73
+ URL_SYMBOL
74
+ SLD_SYMBOL
75
+ EDITABLE_SYMBOL
76
+ FILL_COLOR_SYMBOL
77
+ STROKE_COLOR_SYMBOL
78
+ FILL_OPACITY_SYMBOL
79
+ STROKE_OPACITY_SYMBOL
80
+ WMS_SYMBOL
81
+ STYLE_SYMBOL
82
+ IS_BASE_LAYER_SYMBOL
83
+ HIDDEN_SYMBOL
84
+ SORTABLE_SYMBOL
85
+ MAP_SYMBOL
86
+ SET_SYMBOL
87
+ DEPLOYMENT_SYMBOL
88
+ ZERO_ONE_SYMBOL
89
+ ONE_ONE_SYMBOL
90
+ ZERO_MANY_SYMBOL
91
+ ONE_MANY_SYMBOL
92
+ TYPE
93
+ POUND_SYMBOL
94
+ DOT_SYMBOL
95
+ OPAR_SYMBOL
96
+ CPAR_SYMBOL
97
+ COMMA_SYMBOL
98
+ SCOL_SYMBOL
99
+ HEX_COLOR
100
+ INT_NUMBER
101
+ FLOAT_NUMBER
102
+ COMMENT
103
+ WHITESPACE
104
+ IDENTIFIER
105
+ QUOTED_TEXT
106
+
107
+ rule names:
108
+ parse
109
+ sentence
110
+ createStatement
111
+ createGIS
112
+ createEntity
113
+ createLayer
114
+ createTileLayer
115
+ createGeoJSONLayer
116
+ createWmsStyle
117
+ createWmsLayer
118
+ wmsSubLayer
119
+ createSortableMap
120
+ createMap
121
+ mapLayer
122
+ useGIS
123
+ generateGIS
124
+ setDeployment
125
+ deploymentProperty
126
+ property
127
+ propertyDefinition
128
+ relationshipDefinition
129
+ mappedRelationshipDefinition
130
+ ownedRelationshipDefinition
131
+ cardinality
132
+ srid
133
+ identifier
134
+ text
135
+ hexColor
136
+ floatNumber
137
+
138
+
139
+ atn:
140
+ [4, 1, 50, 275, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 1, 0, 4, 0, 60, 8, 0, 11, 0, 12, 0, 61, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 68, 8, 1, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 74, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 88, 8, 4, 10, 4, 12, 4, 91, 9, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 102, 8, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 109, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 122, 8, 7, 1, 7, 1, 7, 1, 7, 3, 7, 127, 8, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 158, 8, 9, 1, 9, 1, 9, 1, 9, 1, 9, 5, 9, 164, 8, 9, 10, 9, 12, 9, 167, 9, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 3, 12, 182, 8, 12, 1, 12, 1, 12, 1, 12, 1, 12, 5, 12, 188, 8, 12, 10, 12, 12, 12, 191, 9, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 3, 13, 198, 8, 13, 1, 13, 3, 13, 201, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 219, 8, 16, 10, 16, 12, 16, 222, 9, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 232, 8, 18, 1, 19, 1, 19, 1, 19, 5, 19, 237, 8, 19, 10, 19, 12, 19, 240, 9, 19, 1, 20, 1, 20, 3, 20, 244, 8, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 261, 8, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 0, 0, 29, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 0, 2, 2, 0, 7, 7, 9, 11, 1, 0, 33, 36, 271, 0, 59, 1, 0, 0, 0, 2, 67, 1, 0, 0, 0, 4, 69, 1, 0, 0, 0, 6, 75, 1, 0, 0, 0, 8, 81, 1, 0, 0, 0, 10, 101, 1, 0, 0, 0, 12, 103, 1, 0, 0, 0, 14, 116, 1, 0, 0, 0, 16, 143, 1, 0, 0, 0, 18, 152, 1, 0, 0, 0, 20, 171, 1, 0, 0, 0, 22, 174, 1, 0, 0, 0, 24, 177, 1, 0, 0, 0, 26, 195, 1, 0, 0, 0, 28, 202, 1, 0, 0, 0, 30, 207, 1, 0, 0, 0, 32, 212, 1, 0, 0, 0, 34, 226, 1, 0, 0, 0, 36, 231, 1, 0, 0, 0, 38, 233, 1, 0, 0, 0, 40, 243, 1, 0, 0, 0, 42, 245, 1, 0, 0, 0, 44, 251, 1, 0, 0, 0, 46, 262, 1, 0, 0, 0, 48, 264, 1, 0, 0, 0, 50, 266, 1, 0, 0, 0, 52, 268, 1, 0, 0, 0, 54, 270, 1, 0, 0, 0, 56, 272, 1, 0, 0, 0, 58, 60, 3, 2, 1, 0, 59, 58, 1, 0, 0, 0, 60, 61, 1, 0, 0, 0, 61, 59, 1, 0, 0, 0, 61, 62, 1, 0, 0, 0, 62, 1, 1, 0, 0, 0, 63, 68, 3, 4, 2, 0, 64, 68, 3, 28, 14, 0, 65, 68, 3, 30, 15, 0, 66, 68, 3, 32, 16, 0, 67, 63, 1, 0, 0, 0, 67, 64, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 67, 66, 1, 0, 0, 0, 68, 3, 1, 0, 0, 0, 69, 73, 5, 1, 0, 0, 70, 74, 3, 6, 3, 0, 71, 74, 3, 8, 4, 0, 72, 74, 3, 10, 5, 0, 73, 70, 1, 0, 0, 0, 73, 71, 1, 0, 0, 0, 73, 72, 1, 0, 0, 0, 74, 5, 1, 0, 0, 0, 75, 76, 5, 2, 0, 0, 76, 77, 3, 50, 25, 0, 77, 78, 5, 4, 0, 0, 78, 79, 3, 48, 24, 0, 79, 80, 5, 43, 0, 0, 80, 7, 1, 0, 0, 0, 81, 82, 5, 3, 0, 0, 82, 83, 3, 50, 25, 0, 83, 84, 5, 40, 0, 0, 84, 89, 3, 36, 18, 0, 85, 86, 5, 42, 0, 0, 86, 88, 3, 36, 18, 0, 87, 85, 1, 0, 0, 0, 88, 91, 1, 0, 0, 0, 89, 87, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 92, 1, 0, 0, 0, 91, 89, 1, 0, 0, 0, 92, 93, 5, 41, 0, 0, 93, 94, 5, 43, 0, 0, 94, 9, 1, 0, 0, 0, 95, 102, 3, 12, 6, 0, 96, 102, 3, 14, 7, 0, 97, 102, 3, 16, 8, 0, 98, 102, 3, 18, 9, 0, 99, 102, 3, 24, 12, 0, 100, 102, 3, 22, 11, 0, 101, 95, 1, 0, 0, 0, 101, 96, 1, 0, 0, 0, 101, 97, 1, 0, 0, 0, 101, 98, 1, 0, 0, 0, 101, 99, 1, 0, 0, 0, 101, 100, 1, 0, 0, 0, 102, 11, 1, 0, 0, 0, 103, 104, 5, 15, 0, 0, 104, 105, 5, 14, 0, 0, 105, 108, 3, 50, 25, 0, 106, 107, 5, 17, 0, 0, 107, 109, 3, 52, 26, 0, 108, 106, 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 110, 1, 0, 0, 0, 110, 111, 5, 40, 0, 0, 111, 112, 5, 18, 0, 0, 112, 113, 3, 52, 26, 0, 113, 114, 5, 41, 0, 0, 114, 115, 5, 43, 0, 0, 115, 13, 1, 0, 0, 0, 116, 117, 5, 16, 0, 0, 117, 118, 5, 14, 0, 0, 118, 121, 3, 50, 25, 0, 119, 120, 5, 17, 0, 0, 120, 122, 3, 52, 26, 0, 121, 119, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 124, 5, 40, 0, 0, 124, 126, 3, 50, 25, 0, 125, 127, 5, 20, 0, 0, 126, 125, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 129, 5, 42, 0, 0, 129, 130, 5, 21, 0, 0, 130, 131, 3, 54, 27, 0, 131, 132, 5, 42, 0, 0, 132, 133, 5, 22, 0, 0, 133, 134, 3, 54, 27, 0, 134, 135, 5, 42, 0, 0, 135, 136, 5, 23, 0, 0, 136, 137, 3, 56, 28, 0, 137, 138, 5, 42, 0, 0, 138, 139, 5, 24, 0, 0, 139, 140, 3, 56, 28, 0, 140, 141, 5, 41, 0, 0, 141, 142, 5, 43, 0, 0, 142, 15, 1, 0, 0, 0, 143, 144, 5, 25, 0, 0, 144, 145, 5, 26, 0, 0, 145, 146, 3, 50, 25, 0, 146, 147, 5, 40, 0, 0, 147, 148, 5, 19, 0, 0, 148, 149, 3, 52, 26, 0, 149, 150, 5, 41, 0, 0, 150, 151, 5, 43, 0, 0, 151, 17, 1, 0, 0, 0, 152, 153, 5, 25, 0, 0, 153, 154, 5, 14, 0, 0, 154, 157, 3, 50, 25, 0, 155, 156, 5, 17, 0, 0, 156, 158, 3, 52, 26, 0, 157, 155, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 160, 5, 40, 0, 0, 160, 165, 3, 20, 10, 0, 161, 162, 5, 42, 0, 0, 162, 164, 3, 20, 10, 0, 163, 161, 1, 0, 0, 0, 164, 167, 1, 0, 0, 0, 165, 163, 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 168, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 168, 169, 5, 41, 0, 0, 169, 170, 5, 43, 0, 0, 170, 19, 1, 0, 0, 0, 171, 172, 3, 50, 25, 0, 172, 173, 3, 50, 25, 0, 173, 21, 1, 0, 0, 0, 174, 175, 5, 29, 0, 0, 175, 176, 3, 24, 12, 0, 176, 23, 1, 0, 0, 0, 177, 178, 5, 30, 0, 0, 178, 181, 3, 50, 25, 0, 179, 180, 5, 17, 0, 0, 180, 182, 3, 52, 26, 0, 181, 179, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 183, 1, 0, 0, 0, 183, 184, 5, 40, 0, 0, 184, 189, 3, 26, 13, 0, 185, 186, 5, 42, 0, 0, 186, 188, 3, 26, 13, 0, 187, 185, 1, 0, 0, 0, 188, 191, 1, 0, 0, 0, 189, 187, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 192, 1, 0, 0, 0, 191, 189, 1, 0, 0, 0, 192, 193, 5, 41, 0, 0, 193, 194, 5, 43, 0, 0, 194, 25, 1, 0, 0, 0, 195, 197, 3, 50, 25, 0, 196, 198, 5, 27, 0, 0, 197, 196, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 200, 1, 0, 0, 0, 199, 201, 5, 28, 0, 0, 200, 199, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 27, 1, 0, 0, 0, 202, 203, 5, 5, 0, 0, 203, 204, 5, 2, 0, 0, 204, 205, 3, 50, 25, 0, 205, 206, 5, 43, 0, 0, 206, 29, 1, 0, 0, 0, 207, 208, 5, 6, 0, 0, 208, 209, 5, 2, 0, 0, 209, 210, 3, 50, 25, 0, 210, 211, 5, 43, 0, 0, 211, 31, 1, 0, 0, 0, 212, 213, 5, 31, 0, 0, 213, 214, 5, 32, 0, 0, 214, 215, 5, 40, 0, 0, 215, 220, 3, 34, 17, 0, 216, 217, 5, 42, 0, 0, 217, 219, 3, 34, 17, 0, 218, 216, 1, 0, 0, 0, 219, 222, 1, 0, 0, 0, 220, 218, 1, 0, 0, 0, 220, 221, 1, 0, 0, 0, 221, 223, 1, 0, 0, 0, 222, 220, 1, 0, 0, 0, 223, 224, 5, 41, 0, 0, 224, 225, 5, 43, 0, 0, 225, 33, 1, 0, 0, 0, 226, 227, 3, 52, 26, 0, 227, 228, 3, 52, 26, 0, 228, 35, 1, 0, 0, 0, 229, 232, 3, 38, 19, 0, 230, 232, 3, 40, 20, 0, 231, 229, 1, 0, 0, 0, 231, 230, 1, 0, 0, 0, 232, 37, 1, 0, 0, 0, 233, 234, 3, 50, 25, 0, 234, 238, 5, 37, 0, 0, 235, 237, 7, 0, 0, 0, 236, 235, 1, 0, 0, 0, 237, 240, 1, 0, 0, 0, 238, 236, 1, 0, 0, 0, 238, 239, 1, 0, 0, 0, 239, 39, 1, 0, 0, 0, 240, 238, 1, 0, 0, 0, 241, 244, 3, 44, 22, 0, 242, 244, 3, 42, 21, 0, 243, 241, 1, 0, 0, 0, 243, 242, 1, 0, 0, 0, 244, 41, 1, 0, 0, 0, 245, 246, 3, 50, 25, 0, 246, 247, 3, 50, 25, 0, 247, 248, 5, 8, 0, 0, 248, 249, 5, 13, 0, 0, 249, 250, 3, 50, 25, 0, 250, 43, 1, 0, 0, 0, 251, 252, 3, 50, 25, 0, 252, 253, 3, 50, 25, 0, 253, 254, 5, 8, 0, 0, 254, 255, 5, 40, 0, 0, 255, 256, 3, 46, 23, 0, 256, 257, 5, 42, 0, 0, 257, 258, 3, 46, 23, 0, 258, 260, 5, 41, 0, 0, 259, 261, 5, 12, 0, 0, 260, 259, 1, 0, 0, 0, 260, 261, 1, 0, 0, 0, 261, 45, 1, 0, 0, 0, 262, 263, 7, 1, 0, 0, 263, 47, 1, 0, 0, 0, 264, 265, 5, 45, 0, 0, 265, 49, 1, 0, 0, 0, 266, 267, 5, 49, 0, 0, 267, 51, 1, 0, 0, 0, 268, 269, 5, 50, 0, 0, 269, 53, 1, 0, 0, 0, 270, 271, 5, 44, 0, 0, 271, 55, 1, 0, 0, 0, 272, 273, 5, 46, 0, 0, 273, 57, 1, 0, 0, 0, 19, 61, 67, 73, 89, 101, 108, 121, 126, 157, 165, 181, 189, 197, 200, 220, 231, 238, 243, 260]
@@ -0,0 +1,60 @@
1
+ CREATE_SYMBOL=1
2
+ GIS_SYMBOL=2
3
+ ENTITY_SYMBOL=3
4
+ USING_SYMBOL=4
5
+ USE_SYMBOL=5
6
+ GENERATE_SYMBOL=6
7
+ IDENTIFIER_SYMBOL=7
8
+ RELATIONSHIP_SYMBOL=8
9
+ DISPLAYSTRING_SYMBOL=9
10
+ REQUIRED_SYMBOL=10
11
+ UNIQUE_SYMBOL=11
12
+ BIDIRECTIONAL_SYMBOL=12
13
+ MAPPEDBY_SYMBOL=13
14
+ LAYER_SYMBOL=14
15
+ TILE_SYMBOL=15
16
+ GEOJSON_SYMBOL=16
17
+ AS_SYMBOL=17
18
+ URL_SYMBOL=18
19
+ SLD_SYMBOL=19
20
+ EDITABLE_SYMBOL=20
21
+ FILL_COLOR_SYMBOL=21
22
+ STROKE_COLOR_SYMBOL=22
23
+ FILL_OPACITY_SYMBOL=23
24
+ STROKE_OPACITY_SYMBOL=24
25
+ WMS_SYMBOL=25
26
+ STYLE_SYMBOL=26
27
+ IS_BASE_LAYER_SYMBOL=27
28
+ HIDDEN_SYMBOL=28
29
+ SORTABLE_SYMBOL=29
30
+ MAP_SYMBOL=30
31
+ SET_SYMBOL=31
32
+ DEPLOYMENT_SYMBOL=32
33
+ ZERO_ONE_SYMBOL=33
34
+ ONE_ONE_SYMBOL=34
35
+ ZERO_MANY_SYMBOL=35
36
+ ONE_MANY_SYMBOL=36
37
+ TYPE=37
38
+ POUND_SYMBOL=38
39
+ DOT_SYMBOL=39
40
+ OPAR_SYMBOL=40
41
+ CPAR_SYMBOL=41
42
+ COMMA_SYMBOL=42
43
+ SCOL_SYMBOL=43
44
+ HEX_COLOR=44
45
+ INT_NUMBER=45
46
+ FLOAT_NUMBER=46
47
+ COMMENT=47
48
+ WHITESPACE=48
49
+ IDENTIFIER=49
50
+ QUOTED_TEXT=50
51
+ '0..1'=33
52
+ '1..1'=34
53
+ '0..*'=35
54
+ '1..*'=36
55
+ '#'=38
56
+ '.'=39
57
+ '('=40
58
+ ')'=41
59
+ ','=42
60
+ ';'=43