Skip to content

History

Showing with 72 additions and 108 deletions.
  1. +3 −3 AddH.md
  2. +2 −2 AddV.md
  3. +61 −85 Home.md
  4. +3 −2 RascalD2BGF.md → RascalADT2BGF.md
  5. +0 −7 RascalDataType2BGF.md
  6. +0 −9 RascalS2BGF.md
  7. +3 −0 RascalSyntax2BGF.md
6 changes: 3 additions & 3 deletions AddH.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Horizontal addition looks inside productions: it adds any marked part of an internal choice by either introducing one or enhancing the existing one. This allows to skip pre-transformational [[vertical]] and post-transformational [[horizontal]] steps for productions with a top-level choice, which is the most common use of this transformation. However, it is useful to have a command at hand that is capable of adding alternatives to any particular place of any grammar production rule.

## Syntax
### Syntax
```
[horizontal] add:
marked-production
```

Markers must denote the new part: i.e., the production rule without the marked part must be present in the grammar, and if it is, the result will contain a production with the marked part instead. Obviously, the markers itself do not end up in the grammar.

## Example
### Example
Given the input:
```
N:
Expand Down Expand Up @@ -36,7 +36,7 @@ N:
b
```

## Example
### Example
Given the input:
```
expr:
Expand Down
4 changes: 2 additions & 2 deletions AddV.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ Nonterminal definitions can be extended (“added to”) vertically and horizont

There are two operators that are very similar to the vertical add operator: [[define]] and [[introduce]]. The define operator should be used when an the definition of an undefined nonterminal is added. The introduce operator should be used when a fresh nonterminal is to be defined.

## Syntax
### Syntax
```
[vertical] add:
production
```

Vertical addition operates on the level of productions: it adds one more production for some nonterminal to any number of productions that are already present in the grammar.

## Example
### Example
Given the input:
```
expr:
Expand Down
146 changes: 61 additions & 85 deletions Home.md
Original file line number Diff line number Diff line change
@@ -1,85 +1,61 @@
|**Concepts, languages, techniques**|**Tools, libraries, functions**|**Transformation operators**|**Grammar mutations**|
|-----------------------------------|-------------------------------|----------------------------|----------------------------|
| [[ANF|Abstract Normal Form]] | [[ANTLR2BGF]] | [[abridge]] |[[ANF|Abstract Normal Form]]|
| [[BGF]] | [[AppendXBGF]] | [[abstractize]] | [[AllDeyacc]] |
| [[BTF]] | [[AsFix2BTF]] | [[addH]] | [[DistributeAll]] |
| [[EDD]] | [[BGF2BNF]] | [[addV]] | [[FoldG]] |
| [[EXBGF]] | [[BGF2DMS]] | [[anonymize]] | [[HorizontalAll]] |
| [[Factorial Language]] | [[BGF2HTML]] | [[appear]] | [[RenameAll]] |
| [[Java Language Specification]] | [[BGF2Rascal]] | [[bypass]] | [[Reroot2top]] |
| [[LCF]] | [[BGF2SDF]] | [[chain]] | [[Retire iterations]] |
| [[LCI]] | [[BGF2TXL]] | [[concatT]] | [[Retire lazy]] |
| [[LDF]] | [[BGF2TeX]] | [[concretize]] | [[Retire seplists]] |
| [[MegaL]] | [[BGF2dot]] | [[deanonymize]] | [[Retire top]] |
| [[Prolog]] | [[BGFlc]] | [[define]] | [[RetireLs]] |
| [[Rascal]] | [[BGFover]] | [[designate]] | [[RetireSs]] |
| [[XBGF]] | [[BGFpp]] | [[detour]] | [[RetireTs]] |
| [[XLDF]] | [[BGFreformat]] | [[deyaccify]] | [[SubGrammar]] |
| [[XML]] | [[BTF2BGF]] | [[disappear]] | [[UnchainAll]] |
| [[XSD]] | [[BTF2src]] | [[distribute]] | [[VerticalAll]] |
| [[ΞBGF]] | [[BuildTestSetXml]] | [[downgrade]] | [[VerticalDistributeAll]] |
| | [[CBGF]] | [[dump]] | |
| | [[CBGF2]] | [[eliminate]] | |
| | [[CBGF2CBNF]] | [[equate]] | |
| | [[CBGF2XBGF]] | [[extract]] | |
| | [[CheckBGF]] | [[factor]] | |
| | [[CheckXBGF]] | [[fold]] | |
| | [[DCG2BGF]] | [[horizontal]] | |
| | [[EDD2Rascal]] | [[importG]] | |
| | [[EXBGF]] | [[inject]] | |
| | [[EXBGF2XBGF]] | [[inline]] | |
| | [[EXBGFover]] | [[introduce]] | |
| | [[Ecore2BGF]] | [[lassoc]] | |
| | [[ExtractOver]] | [[massage]] | |
| | [[FindH]] | [[narrow]] | |
| | [[GBTF]] | [[permute]] | |
| | [[GDT|Grammar Diff Tool]] | [[project]] | |
| | [[HTML2BGF]] | [[rassoc]] | |
| | [[Java2BGF]] | [[redefine]] | |
| | [[LCI]] | [[remove]] | |
| | [[LDF2BGF]] | [[removeH]] | |
| | [[LDF2HTML]] | [[removeV]] | |
| | [[LDF2PDF]] | [[renameL]] | |
| | [[LDF2SET]] | [[renameN]] | |
| | [[LDF2TEX]] | [[renameS]] | |
| | [[LDinc]] | [[renameT]] | |
| | [[LLL2BGF]] | [[replace]] | |
| | [[MergeBGF]] | [[splitN]] | |
| | [[NIGDT]] | [[splitT]] | |
| | [[NormBGF]] | [[undefine]] | |
| | [[PDF2BGF]] | [[unfold]] | |
| | [[PlotBGF]] | [[unite]] | |
| | [[Py2BGF]] | [[unlabel]] | |
| | [[REPP]] | [[upgrade]] | |
| | [[Rascal2BGF]] | [[vertical]] | |
| | [[RascalDataType2BGF]] | [[widen]] | |
| | [[RascalSyntax2BGF]] | [[yaccify]] | |
| | [[SDF2BGF]] | | |
| | [[ShowBGF]] | | |
| | [[ShowG]] | | |
| | [[ShowPNF]] | | |
| | [[ShowRootProds]] | | |
| | [[ShowT]] | | |
| | [[ShowX]] | | |
| | [[ShowXBGF]] | | |
| | [[ShowXSD]] | | |
| | [[Spec2BGF]] | | |
| | [[TDT]] | | |
| | [[TXL2BGF]] | | |
| | [[TnB]] | | |
| | [[TokenOverview]] | | |
| | [[Validate]] | | |
| | [[XBGF]] | | |
| | [[XBGF2CBGF]] | | |
| | [[XBGF2HTML]] | | |
| | [[XBGF2TeX]] | | |
| | [[XBGF2XBNF]] | | |
| | [[XBGFinfo]] | | |
| | [[XBGFlc]] | | |
| | [[XBGFover]] | | |
| | [[XBGFsliced]] | | |
| | [[XBTF]] | | |
| | [[XLLL]] | | |
| | [[XML2BTF]] | | |
| | [[XSD2BGF]] | | |
| | [[XSD2LDF]] | | |
<center>
![SLPS](http://grammarware.github.com/logos/slps.200.png)
# [Software Language Processing Suite](http://slps.github.com)
# Documentation Wiki
</center>

|**Concepts, languages, techniques**|**Mappers**|**Tools, libraries, functions**|**Transformation operators**|**Grammar mutations**|
|-----------------------------------|--------------------|-------------------------------|----------------------------|----------------------------|
| [[ANF|Abstract Normal Form]] | [[ANTLR2BGF]] | [[AppendXBGF]] | [[abridge]] |[[ANF|Abstract Normal Form]]|
| [[BGF]] | [[AsFix2BTF]] | [[BGFlc]] | [[abstractize]] | [[AllDeyacc]] |
| [[BTF]] | [[BGF2BNF]] | [[BGFover]] | [[addH]] | [[DistributeAll]] |
| [[EDD]] | [[BGF2DMS]] | [[BGFpp]] | [[addV]] | [[FoldG]] |
| [[EXBGF]] | [[BGF2HTML]] | [[BGFreformat]] | [[anonymize]] | [[HorizontalAll]] |
| [[Factorial Language]] | [[BGF2Rascal]] | [[BuildTestSetXml]] | [[appear]] | [[RenameAll]] |
| [[Java Language Specification]] | [[BGF2SDF]] | [[CBGF]] | [[bypass]] | [[Reroot2top]] |
| [[LCF]] | [[BGF2TXL]] | [[CheckBGF]] | [[chain]] | [[Retire iterations]] |
| [[LCI]] | [[BGF2TeX]] | [[CheckXBGF]] | [[concatT]] | [[Retire lazy]] |
| [[LDF]] | [[BGF2dot]] | [[EXBGF]] | [[concretize]] | [[Retire seplists]] |
| [[MegaL]] | [[BTF2BGF]] | [[EXBGFover]] | [[deanonymize]] | [[Retire top]] |
| [[Prolog]] | [[BTF2src]] | [[ExtractOver]] | [[define]] | [[RetireLs]] |
| [[Rascal]] | [[CBGF2]] | [[FindH]] | [[designate]] | [[RetireSs]] |
| [[XBGF]] | [[CBGF2CBNF]] | [[GBTF]] | [[detour]] | [[RetireTs]] |
| [[XLDF]] | [[CBGF2XBGF]] | [[GDT|Grammar Diff Tool]] | [[deyaccify]] | [[SubGrammar]] |
| [[XML]] | [[DCG2BGF]] | [[LCI]] | [[disappear]] | [[UnchainAll]] |
| [[XSD]] | [[EDD2Rascal]] | [[LDinc]] | [[distribute]] | [[VerticalAll]] |
| [[ΞBGF]] | [[EXBGF2XBGF]] | [[MergeBGF]] | [[downgrade]] | [[VerticalDistributeAll]] |
| | [[Ecore2BGF]] | [[NIGDT]] | [[dump]] | |
| | [[HTML2BGF]] | [[NormBGF]] | [[eliminate]] | |
| | [[Java2BGF]] | [[PlotBGF]] | [[equate]] | |
| | [[LDF2BGF]] | [[REPP]] | [[extract]] | |
| | [[LDF2HTML]] | [[ShowBGF]] | [[factor]] | |
| | [[LDF2PDF]] | [[ShowG]] | [[fold]] | |
| | [[LDF2SET]] | [[ShowPNF]] | [[horizontal]] | |
| | [[LDF2TEX]] | [[ShowRootProds]] | [[importG]] | |
| | [[LLL2BGF]] | [[ShowT]] | [[inject]] | |
| | [[PDF2BGF]] | [[ShowX]] | [[inline]] | |
| | [[Py2BGF]] | [[ShowXBGF]] | [[introduce]] | |
| | [[Rascal2BGF]] | [[ShowXSD]] | [[lassoc]] | |
| | [[RascalADT2BGF]] | [[TDT]] | [[massage]] | |
| |[[RascalSyntax2BGF]]| [[TnB]] | [[narrow]] | |
| | [[SDF2BGF]] | [[TokenOverview]] | [[permute]] | |
| | [[Spec2BGF]] | [[Validate]] | [[project]] | |
| | [[TXL2BGF]] | [[XBGF]] | [[rassoc]] | |
| | [[XBGF2CBGF]] | [[XBGFinfo]] | [[redefine]] | |
| | [[XBGF2HTML]] | [[XBGFlc]] | [[removeH]] | |
| | [[XBGF2TeX]] | [[XBGFover]] | [[removeV]] | |
| | [[XBGF2XBNF]] | [[XBGFsliced]] | [[renameL]] | |
| | [[XML2BTF]] | [[XBTF]] | [[renameN]] | |
| | [[XSD2BGF]] | [[XLLL]] | [[renameS]] | |
| | [[XSD2LDF]] | | [[renameT]] | |
| | | | [[replace]] | |
| | | | [[splitN]] | |
| | | | [[splitT]] | |
| | | | [[undefine]] | |
| | | | [[unfold]] | |
| | | | [[unite]] | |
| | | | [[unlabel]] | |
| | | | [[upgrade]] | |
| | | | [[vertical]] | |
| | | | [[widen]] | |
| | | | [[yaccify]] | |
5 changes: 3 additions & 2 deletions RascalD2BGF.md → RascalADT2BGF.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
TODO

## Relevant files
* [`shared/rascal/src/extract/RascalADT2BGF.rsc`](../blob/master/shared/rascal/src/extract/RascalADT2BGF.rsc)
* [`shared/tools/rscd2bgf`](../blob/master/shared/tools/rscd2bgf)

## See also
* [Algebraic Data Type](http://tutor.rascal-mpl.org/Rascal/Declarations/AlgebraicDataType/AlgebraicDataType.html) in **Rascal Tutor**

## Contributors
* [Vadim Zaytsev (@grammarware)](https://github.com/grammarware)
Expand Down
7 changes: 0 additions & 7 deletions RascalDataType2BGF.md
Original file line number Diff line number Diff line change
@@ -1,7 +0,0 @@
## Relevant files
* [`shared/tools/rscd2bgf`](../blob/master/shared/tools/rscd2bgf)


## Contributors
* [Vadim Zaytsev (@grammarware)](https://github.com/grammarware)

9 changes: 0 additions & 9 deletions RascalS2BGF.md
Original file line number Diff line number Diff line change
@@ -1,9 +0,0 @@
TODO

## Relevant files
* [`shared/rascal/src/extract/RascalSyntax2BGF.rsc`](../blob/master/shared/rascal/src/extract/RascalSyntax2BGF.rsc)


## Contributors
* [Vadim Zaytsev (@grammarware)](https://github.com/grammarware)

3 changes: 3 additions & 0 deletions RascalSyntax2BGF.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
## Relevant files
* [`shared/rascal/src/extract/RascalSyntax2BGF.rsc`](../blob/master/shared/rascal/src/extract/RascalSyntax2BGF.rsc)
* [`shared/tools/rscs2bgf`](../blob/master/shared/tools/rscs2bgf)

## See also
* [Syntax Definition](http://tutor.rascal-mpl.org/Rascal/Declarations/SyntaxDefinition/SyntaxDefinition.html) in **Rascal Tutor**

## Contributors
* [Vadim Zaytsev (@grammarware)](https://github.com/grammarware)
Expand Down