Commit 93a9cc9c authored by Dennis Hendriks's avatar Dennis Hendriks
Browse files

Merge branch '73-merge-setext-documentation-into-escet-documentation' into 'develop'

#73 Merged SeText into ESCET documentation

See merge request !161
parents 5cb5fef0 f55165b6
Pipeline #917 passed with stage
in 0 seconds
......@@ -156,7 +156,6 @@ pipeline {
unzip -q products/org.eclipse.escet.documentation/target/*-website-*.zip -d deploy/www/${RELEASE_VERSION}/escet/
unzip -q chi/org.eclipse.escet.chi.documentation/target/*-website-*.zip -d deploy/www/${RELEASE_VERSION}/chi/
unzip -q cif/org.eclipse.escet.cif.documentation/target/*-website-*.zip -d deploy/www/${RELEASE_VERSION}/cif/
unzip -q setext/org.eclipse.escet.setext.documentation/target/*-website-*.zip -d deploy/www/${RELEASE_VERSION}/setext/
unzip -q tooldef/org.eclipse.escet.tooldef.documentation/target/*-website-*.zip -d deploy/www/${RELEASE_VERSION}/tooldef/
'''
dir('deploy/www') {
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
<stringAttribute key="M2_GOALS" value="clean package --projects releng/org.eclipse.escet.target,chi/org.eclipse.escet.chi.documentation,cif/org.eclipse.escet.cif.documentation,products/org.eclipse.escet.documentation,setext/org.eclipse.escet.setext.documentation,tooldef/org.eclipse.escet.tooldef.documentation --also-make"/>
<stringAttribute key="M2_GOALS" value="clean package --projects releng/org.eclipse.escet.target,chi/org.eclipse.escet.chi.documentation,cif/org.eclipse.escet.cif.documentation,products/org.eclipse.escet.documentation,tooldef/org.eclipse.escet.tooldef.documentation --also-make"/>
<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
<booleanAttribute key="M2_OFFLINE" value="false"/>
<stringAttribute key="M2_PROFILES" value=""/>
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/org.eclipse.escet.common.asciidoc/src/org/eclipse/escet/common/asciidoc/html/multipage/AsciiDocMultiPageHtmlSplitter.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.escet.common.asciidoc.html.multipage.AsciiDocMultiPageHtmlSplitter"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="org.eclipse.escet.common.asciidoc"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="../../setext/org.eclipse.escet.setext.documentation/asciidoc ../../setext/org.eclipse.escet.setext.documentation/target/eclipse-help-intermediate/index.html test/output-eclipse-help-setext --eclipse-help"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.escet.common.asciidoc"/>
</launchConfiguration>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/org.eclipse.escet.common.asciidoc/src/org/eclipse/escet/common/asciidoc/html/multipage/AsciiDocMultiPageHtmlSplitter.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.escet.common.asciidoc.html.multipage.AsciiDocMultiPageHtmlSplitter"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="org.eclipse.escet.common.asciidoc"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="../../setext/org.eclipse.escet.setext.documentation/asciidoc ../../setext/org.eclipse.escet.setext.documentation/target/website-intermediate/index.html test/output-website-setext --website"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.escet.common.asciidoc"/>
</launchConfiguration>
......@@ -159,8 +159,6 @@ POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./products/org.eclipse.escet.docume
POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./products/org.eclipse.escet.documentation/asciidoc/legal.asciidoc:2$"
POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./products/org.eclipse.escet.product.branding/about.properties:2$"
POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./products/org.eclipse.escet.product.branding/plugin.properties:2$"
POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./setext/org.eclipse.escet.setext.documentation/asciidoc/index.asciidoc:2$"
POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./setext/org.eclipse.escet.setext.documentation/asciidoc/legal.asciidoc:2$"
POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./tooldef/org.eclipse.escet.tooldef.documentation/asciidoc/index.asciidoc:2$"
POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./tooldef/org.eclipse.escet.tooldef.documentation/asciidoc/legal.asciidoc:2$"
POST_EXCLUDE_PATTERN="$POST_EXCLUDE_PATTERN|^./tooldef/org.eclipse.escet.tooldef.metamodel/model/autofix.py:2$"
......
......@@ -48,7 +48,7 @@ Currently there are two modeling languages in this layer, <<intro-chapter-cif,CI
The third language in the top layer is <<intro-chapter-tooldef,ToolDef>>, a cross-platform scripting language to run tests, and to automate the various tools that need to be executed while designing a controller.
* The middle layer contains developer oriented support code.
It has a language of its own, named <<intro-chapter-setext,SeText>>.
It has a language of its own, named <<setext-chapter-index,SeText>>.
This language implements an LALR(1) parser generator with a few twists to make it easy to use in a Java environment and to connect it to an Eclipse text editor.
+
The other part of the middle layer is common functionality shared between the languages.
......@@ -64,7 +64,7 @@ Instead, different parts are stored in different sub-directories from the root.
=== Language directories
Each language has its own subdirectory in the root, `/cif` and `/chi` for the <<intro-chapter-cif,CIF>> and <<intro-chapter-chi,Chi>> modeling languages, `/tooldef` for the <<intro-chapter-tooldef,ToolDef>> language, and `/setext` for the <<intro-chapter-setext,SeText>> language.
Each language has its own subdirectory in the root, `/cif` and `/chi` for the <<intro-chapter-cif,CIF>> and <<intro-chapter-chi,Chi>> modeling languages, `/tooldef` for the <<intro-chapter-tooldef,ToolDef>> language, and `/setext` for the <<setext-chapter-index,SeText>> language.
Within a language directory, a directory exists for each part of the code (often equivalent to a plugin), with the same name as the plugin.
The pattern of a plugin name is `org.eclipse.escet.<language>.<plugin-name>` where the plugin-name in different directories has the same meaning.
......
......@@ -47,7 +47,6 @@ Furthermore, the following documentation is available for download:
* Eclipse ESCET documentation (this documentation)
* <<intro-chapter-chi,Chi>> documentation
* <<intro-chapter-cif,CIF>> documentation
* <<intro-chapter-setext,SeText>> documentation
* <<intro-chapter-tooldef,ToolDef>> documentation
The following additional information is available:
......
......@@ -43,7 +43,6 @@ The Eclipse ESCET toolkit features the following languages and associated tools:
* <<intro-chapter-chi,Chi>>
* <<intro-chapter-cif,CIF>>
* <<intro-chapter-setext,SeText>>
* <<intro-chapter-tooldef,ToolDef>>
This manual includes information related to the Eclipse ESCET toolkit as a whole, and applies to those tools as well.
......@@ -63,6 +62,7 @@ The following information is available for developers of the toolkit:
* <<app-framework-chapter-index>>
* <<multivalue-chapter-index>>
* <<rail-chapter-index>>
* <<setext-chapter-index>>
// Introduction
......@@ -74,8 +74,6 @@ include::intro/chi.asciidoc[]
include::intro/cif.asciidoc[]
include::intro/setext.asciidoc[]
include::intro/tooldef.asciidoc[]
:leveloffset: -1
......@@ -226,6 +224,38 @@ include::rail/grammar.asciidoc[]
:leveloffset: -1
// SeText scanner/parser generator
include::setext/index.asciidoc[]
:leveloffset: +1
include::setext/lexical-syntax.asciidoc[]
include::setext/specifying-lexical-syntax.asciidoc[]
include::setext/regular-expressions.asciidoc[]
include::setext/terminal-descriptions.asciidoc[]
include::setext/imports.asciidoc[]
include::setext/scanner-hooks.asciidoc[]
include::setext/specifying-grammars.asciidoc[]
include::setext/parser-hooks.asciidoc[]
include::setext/usage-hints.asciidoc[]
include::setext/generated-scanners-parsers.asciidoc[]
include::setext/using-in-an-eclipse-plugin-project.asciidoc[]
include::setext/limitations.asciidoc[]
:leveloffset: -1
// Release notes
include::release-notes.asciidoc[]
......
......@@ -38,5 +38,4 @@ The Eclipse ESCET toolkit features the following languages and associated tools:
* <<intro-chapter-chi,Chi>>
* <<intro-chapter-cif,CIF>>
* <<intro-chapter-setext,SeText>>
* <<intro-chapter-tooldef,ToolDef>>
/////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2010, 2021 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
//
// This program and the accompanying materials are made available under the terms
// of the MIT License which is available at https://opensource.org/licenses/MIT
//
// SPDX-License-Identifier: MIT
/////////////////////////////////////////////////////////////////////////////////
include::_part_attributes.asciidoc[]
indexterm:[SeText]
[[intro-chapter-setext]]
== SeText
SeText is a textual syntax specification language and associated scanner/parser generator.
It can be used to specify the syntax of a language, and automatically generate a scanner and LALR(1) parser(s).
SeText is used as scanner/parser technology for the other tools within the Eclipse ESCET project.
It is however a generic scanner/parser generator that can also be used for the development of scanners and parsers for other languages.
See the separate link:https://eclipse.org/escet/setext[SeText documentation] for more information.
......@@ -26,7 +26,6 @@ See also the release notes for the specific tools for more information:
- link:https://eclipse.org/escet/cif/release-notes.html[CIF release notes]
- link:https://eclipse.org/escet/chi/release-notes.html[Chi release notes]
- link:https://eclipse.org/escet/tooldef/release-notes.html[ToolDef release notes]
- link:https://eclipse.org/escet/setext/release-notes.html[SeText release notes]
=== Version 0.4
......
......@@ -16,12 +16,12 @@
// Defining an alternative 'imgsdir' attribute avoids this problem and images will be visible in the preview.
// For specific parts of the documentation, we introduce an additional attribute, to allow shorter relative paths.
// Changes to attributes require a restart of Eclipse to become effective in the asciidoc editor.
ifndef::imgsdir[:ref-imgsdir: ../images/reference-manual]
ifdef::imgsdir[:ref-imgsdir: {imgsdir}/reference-manual]
ifndef::imgsdir[:setext-imgsdir: ../images/setext]
ifdef::imgsdir[:setext-imgsdir: {imgsdir}/setext]
// Defining a unique prefix for all sections in this part of the documentation to avoid duplication of reference ids.
// Note that this only works for section ids and not for figures, tables, etc. (and there is no alternative attribute for this).
:idprefix: ref-
:idprefix: setext-
:idseparator: -
:listing-caption: Listing
......
......@@ -12,11 +12,19 @@
include::_part_attributes.asciidoc[]
[[setext-reference-manual]]
== SeText Reference Manual
[[setext-chapter-index]]
== SeText scanner/parser generator
This manual explains the SeText language.
Topics discussed here are:
SeText is a textual syntax specification language and associated scanner/parser generator.
It can be used to specify the syntax of a language, and automatically generate a scanner and LALR(1) parser(s).
For the purpose of this documentation, it is assumed that the reader:
* Is familiar with scanner/parser generators (for example _yacc_/_bison_ and _lex_/_flex_).
* Is familiar with scanner and LALR(1) parser technology, including regular expressions and BNF notation.
* Understands the limitations of the LALR(1) algorithm.
The following topics explain the SeText language and tools in more detail:
* <<setext-lexical-syntax>>
* <<setext-specifying-lexical-syntax>>
......@@ -28,3 +36,5 @@ Topics discussed here are:
* <<setext-parser-hooks>>
* <<setext-usage-hints>>
* <<setext-generated-scanners-parsers>>
* <<setext-using-in-an-eclipse-plugin-project>>
* <<setext-limitations>>
......@@ -10,7 +10,7 @@
// SPDX-License-Identifier: MIT
/////////////////////////////////////////////////////////////////////////////////
include::_root_attributes.asciidoc[]
include::_part_attributes.asciidoc[]
[[setext-limitations]]
== Limitations
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment