Skip to content

Commit

Permalink
Deploy preview for PR 240 🛫
Browse files Browse the repository at this point in the history
  • Loading branch information
Lotes committed Aug 6, 2024
1 parent 49353f4 commit 317011b
Show file tree
Hide file tree
Showing 33 changed files with 125 additions and 78 deletions.
4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/features/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/introduction/playground/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/introduction/showcases/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/learn/minilogo/generation/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/learn/minilogo/validation/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/learn/workflow/install/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/learn/workflow/scaffold/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/recipes/builtin-library/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/recipes/code-bundling/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/recipes/formatting/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/recipes/multiple-languages/index.html

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions pr-previews/pr-240/docs/recipes/validation/index.xml
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Validation on Langium</title><link>/docs/recipes/validation/</link><description>Recent content in Validation on Langium</description><generator>Hugo -- gohugo.io</generator><atom:link href="/docs/recipes/validation/index.xml" rel="self" type="application/rss+xml"/><item><title>Dependency loops</title><link>/docs/recipes/validation/dependency-loops/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/validation/dependency-loops/</guid><description>What is the problem? If you are building some composite data structures or have some computation flow, you might be interested whether the product, that you are generating, does contain any loops back to the already used product. We want to implement a validation that does this detection in the background and notifies us by highlighting the lines causing this problem.
Examples for such depndency loops are:</description></item></channel></rss>
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Validation on Langium</title><link>/docs/recipes/validation/</link><description>Recent content in Validation on Langium</description><generator>Hugo -- gohugo.io</generator><atom:link href="/docs/recipes/validation/index.xml" rel="self" type="application/rss+xml"/><item><title>Dependency loops</title><link>/docs/recipes/validation/dependency-loops/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/validation/dependency-loops/</guid><description>What is the problem? If you are building some composite data structures or have some computation flow, you might be interested whether the product, that you are generating, does contain any loops back to the already used product. We want to implement a validation that does this detection in the background and notifies us by highlighting the lines causing this problem. The second part of the problem is the resolution of the dependencies.</description></item></channel></rss>

Large diffs are not rendered by default.

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/reference/glossary/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/reference/grammar-language/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions pr-previews/pr-240/docs/reference/semantic-model/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pr-previews/pr-240/en.search-data.min.json

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions pr-previews/pr-240/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ In this tutorial we&amp;rsquo;ll be talking about how to perform generation in t
abstract syntax tree: A tree of elements that represents a text document. Each element is a simple JS object that combines multiple input tokens into a single object. Commonly abbreviated as AST.
document: An abstract term to refer to a text file on your file system or an open editor document in your IDE.</description></item><item><title>Case-insensitive languages</title><link>/docs/recipes/lexing/case-insensitive-languages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/lexing/case-insensitive-languages/</guid><description>Some programming languages such as SQL or Structured Text use case insensitivity to provide more flexibility when writing code. For example most SQL databases accept select statements starting with select, SELECT or even SeLeCt.
In case you want to provide your users the same flexibility with your language, there are different levels of case-insensitivity in Langium:
You can make Langium&amp;rsquo;s parser completely case insensitive using the language configuration You can include case-insensitivity for specific terminal rules You can make cross references case insensitive All of these options can be enabled independent of one another.</description></item><item><title>Dependency loops</title><link>/docs/recipes/validation/dependency-loops/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/validation/dependency-loops/</guid><description>What is the problem? If you are building some composite data structures or have some computation flow, you might be interested whether the product, that you are generating, does contain any loops back to the already used product. We want to implement a validation that does this detection in the background and notifies us by highlighting the lines causing this problem.
Examples for such depndency loops are:</description></item><item><title>Grammar Language</title><link>/docs/reference/grammar-language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/reference/grammar-language/</guid><description>Language Declaration Import of other grammar languages Terminal Rules Return Types Hidden Terminal Rules Parser Rules Declaration The Entry Rule Extended Backus-Naur Form Expressions Cardinalities Groups Alternatives Keywords Assignments Cross-References Unassigned Rule Calls Unordered Groups Simple Actions Tree-Rewriting Actions Data Type Rules Rule Fragments Guard Conditions More Examples More on Terminal Rules Extended Backus-Naur Form Terminals Terminal Groups Terminal Alternatives Character Range Wildcard Token Until Token Negated Token Terminal Rule Calls Terminal Fragments The grammar language describes the syntax and structure of your language.</description></item><item><title>Qualified Name Scoping</title><link>/docs/recipes/scoping/qualified-name/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/scoping/qualified-name/</guid><description>Qualified name scoping refers to a style of referencing elements using a fully qualified name. Such a fully qualified name is usually composed of the original name of the target element and the names of its container elements. You will usually see this method of scoping in C-like languages using namespaces or in Java using packages. The following code snippet shows an example of how qualified name scoping works from an end-user perspective, by using a function in a C++ namespace:</description></item><item><title>State Machine</title><link>/showcase/statemachine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/showcase/statemachine/</guid><description/></item><item><title>1. Install Yeoman</title><link>/docs/learn/workflow/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/learn/workflow/install/</guid><description>Before diving into Langium itself, let&amp;rsquo;s get your environment ready for development:
You can make Langium&amp;rsquo;s parser completely case insensitive using the language configuration You can include case-insensitivity for specific terminal rules You can make cross references case insensitive All of these options can be enabled independent of one another.</description></item><item><title>Dependency loops</title><link>/docs/recipes/validation/dependency-loops/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/validation/dependency-loops/</guid><description>What is the problem? If you are building some composite data structures or have some computation flow, you might be interested whether the product, that you are generating, does contain any loops back to the already used product. We want to implement a validation that does this detection in the background and notifies us by highlighting the lines causing this problem. The second part of the problem is the resolution of the dependencies.</description></item><item><title>Grammar Language</title><link>/docs/reference/grammar-language/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/reference/grammar-language/</guid><description>Language Declaration Import of other grammar languages Terminal Rules Return Types Hidden Terminal Rules Parser Rules Declaration The Entry Rule Extended Backus-Naur Form Expressions Cardinalities Groups Alternatives Keywords Assignments Cross-References Unassigned Rule Calls Unordered Groups Simple Actions Tree-Rewriting Actions Data Type Rules Rule Fragments Guard Conditions More Examples More on Terminal Rules Extended Backus-Naur Form Terminals Terminal Groups Terminal Alternatives Character Range Wildcard Token Until Token Negated Token Terminal Rule Calls Terminal Fragments The grammar language describes the syntax and structure of your language.</description></item><item><title>Qualified Name Scoping</title><link>/docs/recipes/scoping/qualified-name/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/scoping/qualified-name/</guid><description>Qualified name scoping refers to a style of referencing elements using a fully qualified name. Such a fully qualified name is usually composed of the original name of the target element and the names of its container elements. You will usually see this method of scoping in C-like languages using namespaces or in Java using packages. The following code snippet shows an example of how qualified name scoping works from an end-user perspective, by using a function in a C++ namespace:</description></item><item><title>State Machine</title><link>/showcase/statemachine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/showcase/statemachine/</guid><description/></item><item><title>1. Install Yeoman</title><link>/docs/learn/workflow/install/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/learn/workflow/install/</guid><description>Before diving into Langium itself, let&amp;rsquo;s get your environment ready for development:
You have a working Node environment with version 16 or higher. Install Yeoman and the Langium extension generator. npm i -g yo generator-langium For our getting started example, we would also recommend you to install the latest version of vscode.</description></item><item><title>Builtin Libraries</title><link>/docs/recipes/builtin-library/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/builtin-library/</guid><description>Languages usually offer their users some high-level programming features that they do not have to define themselves. For example, TypeScript provides users with typings for globally accessible variables such as the window, process or console objects. They are part of the JavaScript runtime, and not defined by any user or a package they might import. Instead, these features are contributed through what we call builtin libraries.
Loading a builtin library in Langium is very simple.</description></item><item><title>Class Member Scoping</title><link>/docs/recipes/scoping/class-member/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/recipes/scoping/class-member/</guid><description>In this guide we will take a look at member based scoping. It&amp;rsquo;s a mechanism you are likely familiar with from object oriented languages such as Java, C# and JavaScript:
class A { b: B; } class B { value: string; } function test(): void { const a = new A(); const b = a.b; // Refers to the `b` defined in class `A` const value = b.value; // Refers to the `value` defined in class `B` } Member based scoping like this requires not only a modification of the default scoping provider, but also some other prerequisites.</description></item><item><title>Configuration via Services</title><link>/docs/reference/configuration-services/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/reference/configuration-services/</guid><description>Langium supports the configuration of most aspects of your language and language server via a set of services. Those services are configured by modules, which are essentially mappings from a service name to its implementation.
Expand Down
Loading

0 comments on commit 317011b

Please sign in to comment.