Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
228f75e
commit 04fa367
Showing
14 changed files
with
5,459 additions
and
13 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" > | ||
<title>Xsemantics Documentation</title> | ||
|
||
<link href="book.css" rel="stylesheet" type="text/css"> | ||
<link href="code.css" rel="stylesheet" type="text/css"> | ||
<link rel="home" href="00-Main.html" title=""> | ||
</head> | ||
<body> | ||
<h1>Xsemantics Documentation</h1> | ||
<ol><li><a href="00-Main_12.html#Xsemantics%20Documentation_12">Reference Documentation</a> | ||
<ol> <li><a href="01-Introduction.html#Introduction">Introduction</a> | ||
</li> | ||
<li><a href="02-GettingStarted.html#GettingStarted">Getting Started</a> | ||
<ol> <li><a href="02-GettingStarted.html#Install">Installation of Xsemantics</a> | ||
<ol> <li><a href="02-GettingStarted.html#Sources">Sources</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="02-GettingStarted.html#UsingXsemantics">Using Xsemantics</a> | ||
</li> | ||
<li><a href="02-GettingStarted.html#UsingXsemanticsMaven">Using Xsemantics in Maven builds</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="XsemanticsSyntax.html#Syntax">Xsemantics Syntax</a> | ||
<ol> <li><a href="XsemanticsSyntax.html#Imports">Imports</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Copyright">Copyright</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Fields">Fields</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Judgments">Judgments</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Premises">Premises</a> | ||
<ol> <li><a href="XsemanticsSyntax.html#OrBlocks">Or Blocks</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#ExpressionsInPremises">Expressions in Premises</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#RuleInvocations">Rule Invocations</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Environment">Rule Environment</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#ErrorSpecification">Error Specification</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#ExplicitFailure">Explicit Failure</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#PreviousFailure">Accessing Previous Failure of an Or Block</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#StringRepresentation">String Representation</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#GetAll">Graph Closures (getAll)</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="XsemanticsSyntax.html#Auxiliary">Auxiliary Functions</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#CheckRules">Rules for Validator: checkrule</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#SystemExtension">Extend another System</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#CodeGeneration">Generated Code</a> | ||
<ol> <li><a href="XsemanticsSyntax.html#GeneratedPackage">The Generated Java Packages</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#GeneratedSystem">The Generated Java Rule System</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#GeneratedValidator">The Generated Java Validator</a> | ||
<ol> <li><a href="XsemanticsSyntax.html#validatorExtends">The validatorExtends clause</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#withoutValidatorExtends">Without the validatorExtends clause</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="XsemanticsSyntax.html#ErrorGeneration">Error Marker Generation</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="XsemanticsSyntax.html#Caching">Automatic Caching</a> | ||
</li> | ||
</ol></li> | ||
</ol></li> | ||
<li><a href="00-Main_13.html#Xsemantics%20Documentation_13">Examples</a> | ||
<ol> <li><a href="Examples.html#Examples">Examples</a> | ||
</li> | ||
<li><a href="Expressions-example.html#Expressions">An Expression Language</a> | ||
<ol> <li><a href="Expressions-example.html#ExpressionsTS">Expressions Type System</a> | ||
<ol> <li><a href="Expressions-example.html#ExpressionsInfer">Type Inference for Variables</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="Expressions-example.html#ExpressionsValidation">Expressions Validation</a> | ||
</li> | ||
<li><a href="Expressions-example.html#ExpressionsInterpreter">Interpreter for Expressions</a> | ||
</li> | ||
<li><a href="Expressions-example.html#ExpressionsCustomization">Customizations for Expressions</a> | ||
</li> | ||
<li><a href="Expressions-example.html#MoreInvolvedExpressionsSystem">A more involved Expressions System</a> | ||
</li> | ||
<li><a href="Expressions-example.html#ExpressionsCodeGeneration">Generation for Expressions</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="FJ-example.html#FJ">Featherweight Java</a> | ||
<ol> <li><a href="FJ-example.html#FJInANutshell">FJ in a nutshell</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJInXtext">FJ implemented in Xtext</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJTypeSystem">FJ Type System</a> | ||
<ol> <li><a href="FJ-example.html#FJTyping">Typing FJ Expressions</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJScoping">FJ Scoping</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJSubTyping">FJ Subtyping</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="FJ-example.html#FJValidation">FJ Validation</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJReduction">FJ Operational Semantics</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="Lambda-example.html#Lambda">Lambda</a> | ||
<ol> <li><a href="Lambda-example.html#LambdaInANutshell">Lambda in a nutshell</a> | ||
</li> | ||
<li><a href="Lambda-example.html#LambdaInXtext">Lambda implemented in Xtext</a> | ||
</li> | ||
<li><a href="Lambda-example.html#LambdaTypeSystem">Lambda Type Inference</a> | ||
<ol> <li><a href="Lambda-example.html#WhyCloning">Why Cloning?</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="Lambda-example.html#LambdaChecking">Lambda Type Checking</a> | ||
</li> | ||
<li><a href="Lambda-example.html#LambdaCustomization">Customizations for Lambda</a> | ||
</li> | ||
<li><a href="Lambda-example.html#LambdaTypeInferenceIDE">Use of Type Inference in the IDE</a> | ||
</li> | ||
</ol></li> | ||
</ol></li> | ||
<li><a href="00-Main_14.html#Xsemantics%20Documentation_14">Appendix</a> | ||
<ol> <li><a href="GettingSources.html#GettingSources">Getting Sources</a> | ||
</li> | ||
</ol></li> | ||
</ol></body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" > | ||
<title>Reference Documentation</title> | ||
|
||
<link href="book.css" rel="stylesheet" type="text/css"> | ||
<link href="code.css" rel="stylesheet" type="text/css"> | ||
<link rel="home" href="00-Main.html" title=""> | ||
</head> | ||
<body> | ||
<a name="Xsemantics%20Documentation_12"></a> | ||
<h1>Reference Documentation</h1> | ||
<ol><li><a href="01-Introduction.html#Introduction">Introduction</a> | ||
</li> | ||
<li><a href="02-GettingStarted.html#GettingStarted">Getting Started</a> | ||
<ol> <li><a href="02-GettingStarted.html#Install">Installation of Xsemantics</a> | ||
<ol> <li><a href="02-GettingStarted.html#Sources">Sources</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="02-GettingStarted.html#UsingXsemantics">Using Xsemantics</a> | ||
</li> | ||
<li><a href="02-GettingStarted.html#UsingXsemanticsMaven">Using Xsemantics in Maven builds</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="XsemanticsSyntax.html#Syntax">Xsemantics Syntax</a> | ||
<ol> <li><a href="XsemanticsSyntax.html#Imports">Imports</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Copyright">Copyright</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Fields">Fields</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Judgments">Judgments</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Premises">Premises</a> | ||
<ol> <li><a href="XsemanticsSyntax.html#OrBlocks">Or Blocks</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#ExpressionsInPremises">Expressions in Premises</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#RuleInvocations">Rule Invocations</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#Environment">Rule Environment</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#ErrorSpecification">Error Specification</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#ExplicitFailure">Explicit Failure</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#PreviousFailure">Accessing Previous Failure of an Or Block</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#StringRepresentation">String Representation</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#GetAll">Graph Closures (getAll)</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="XsemanticsSyntax.html#Auxiliary">Auxiliary Functions</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#CheckRules">Rules for Validator: checkrule</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#SystemExtension">Extend another System</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#CodeGeneration">Generated Code</a> | ||
<ol> <li><a href="XsemanticsSyntax.html#GeneratedPackage">The Generated Java Packages</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#GeneratedSystem">The Generated Java Rule System</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#GeneratedValidator">The Generated Java Validator</a> | ||
<ol> <li><a href="XsemanticsSyntax.html#validatorExtends">The validatorExtends clause</a> | ||
</li> | ||
<li><a href="XsemanticsSyntax.html#withoutValidatorExtends">Without the validatorExtends clause</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="XsemanticsSyntax.html#ErrorGeneration">Error Marker Generation</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="XsemanticsSyntax.html#Caching">Automatic Caching</a> | ||
</li> | ||
</ol></li> | ||
</ol></body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" > | ||
<title>Examples</title> | ||
|
||
<link href="book.css" rel="stylesheet" type="text/css"> | ||
<link href="code.css" rel="stylesheet" type="text/css"> | ||
<link rel="home" href="00-Main.html" title=""> | ||
</head> | ||
<body> | ||
<a name="Xsemantics%20Documentation_13"></a> | ||
<h1>Examples</h1> | ||
<ol><li><a href="Examples.html#Examples">Examples</a> | ||
</li> | ||
<li><a href="Expressions-example.html#Expressions">An Expression Language</a> | ||
<ol> <li><a href="Expressions-example.html#ExpressionsTS">Expressions Type System</a> | ||
<ol> <li><a href="Expressions-example.html#ExpressionsInfer">Type Inference for Variables</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="Expressions-example.html#ExpressionsValidation">Expressions Validation</a> | ||
</li> | ||
<li><a href="Expressions-example.html#ExpressionsInterpreter">Interpreter for Expressions</a> | ||
</li> | ||
<li><a href="Expressions-example.html#ExpressionsCustomization">Customizations for Expressions</a> | ||
</li> | ||
<li><a href="Expressions-example.html#MoreInvolvedExpressionsSystem">A more involved Expressions System</a> | ||
</li> | ||
<li><a href="Expressions-example.html#ExpressionsCodeGeneration">Generation for Expressions</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="FJ-example.html#FJ">Featherweight Java</a> | ||
<ol> <li><a href="FJ-example.html#FJInANutshell">FJ in a nutshell</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJInXtext">FJ implemented in Xtext</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJTypeSystem">FJ Type System</a> | ||
<ol> <li><a href="FJ-example.html#FJTyping">Typing FJ Expressions</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJScoping">FJ Scoping</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJSubTyping">FJ Subtyping</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="FJ-example.html#FJValidation">FJ Validation</a> | ||
</li> | ||
<li><a href="FJ-example.html#FJReduction">FJ Operational Semantics</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="Lambda-example.html#Lambda">Lambda</a> | ||
<ol> <li><a href="Lambda-example.html#LambdaInANutshell">Lambda in a nutshell</a> | ||
</li> | ||
<li><a href="Lambda-example.html#LambdaInXtext">Lambda implemented in Xtext</a> | ||
</li> | ||
<li><a href="Lambda-example.html#LambdaTypeSystem">Lambda Type Inference</a> | ||
<ol> <li><a href="Lambda-example.html#WhyCloning">Why Cloning?</a> | ||
</li> | ||
</ol></li> | ||
<li><a href="Lambda-example.html#LambdaChecking">Lambda Type Checking</a> | ||
</li> | ||
<li><a href="Lambda-example.html#LambdaCustomization">Customizations for Lambda</a> | ||
</li> | ||
<li><a href="Lambda-example.html#LambdaTypeInferenceIDE">Use of Type Inference in the IDE</a> | ||
</li> | ||
</ol></li> | ||
</ol></body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" > | ||
<title>Appendix</title> | ||
|
||
<link href="book.css" rel="stylesheet" type="text/css"> | ||
<link href="code.css" rel="stylesheet" type="text/css"> | ||
<link rel="home" href="00-Main.html" title=""> | ||
</head> | ||
<body> | ||
<a name="Xsemantics%20Documentation_14"></a> | ||
<h1>Appendix</h1> | ||
<ol><li><a href="GettingSources.html#GettingSources">Getting Sources</a> | ||
</li> | ||
</ol></body> | ||
</html> |
44 changes: 44 additions & 0 deletions
44
doc/org.eclipse.xsemantics.doc/contents/01-Introduction.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
<html> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" > | ||
<title>Introduction</title> | ||
|
||
<link href="book.css" rel="stylesheet" type="text/css"> | ||
<link href="code.css" rel="stylesheet" type="text/css"> | ||
<link rel="home" href="00-Main.html" title=""> | ||
</head> | ||
<body> | ||
<a name="Introduction"></a> | ||
<h1>Introduction</h1> | ||
<p> | ||
Xsemantics is a DSL (implemented in Xtext itself) for writing type systems, | ||
reduction rules, interpreters (and in general relation rules) for languages | ||
implemented in Xtext. | ||
A system definition in Xsemantics is a set of judgment rules which have a | ||
conclusion and a set of premises; these rules can act on any | ||
Java object, though, typically, they will act on EObjects which are | ||
elements of your Xtext language. | ||
Xsemantics then generates Java code that can be used in your language implemented | ||
in Xtext for scoping and validation (it also generates a validator in Java). | ||
</p> | ||
<p> | ||
Xsemantics' language relies on Xbase, so that you have a rich | ||
syntax for the rules of your system, and you have access to all Java! | ||
You might want to take a look at <a href="http://www.eclipse.org/Xtext/documentation/2_1_0/199e-xbase-language-reference.php">Xbase | ||
language reference</a> before you start using Xsemantics. | ||
</p> | ||
<p> | ||
Xsemantics is thought to be used by people who are at least a little familiar | ||
with formal type systems and operational semantics: it aims at providing | ||
a syntax which is close to the way deduction rules are written in a formal setting. | ||
Actually, Xsemantics rules are written in the other direction with respect | ||
to standard deduction rules: the conclusion come before the premises; this is just | ||
to make IDE tooling work better, and to give a more "programming" style to rules. | ||
</p> | ||
<p> | ||
In the following we will first give a brief description of | ||
the shape of syntactic elements of Xsemantics, and then we will continue | ||
with some examples. | ||
</p> | ||
</body> | ||
</html> |
Oops, something went wrong.