diff --git a/shared/rascal/.project b/shared/rascal/.project index 59c86561..b43cbf06 100644 --- a/shared/rascal/.project +++ b/shared/rascal/.project @@ -1,6 +1,6 @@ - xbgf + slps diff --git a/shared/rascal/META-INF/MANIFEST.MF b/shared/rascal/META-INF/MANIFEST.MF index 7c0f9322..651c638d 100644 --- a/shared/rascal/META-INF/MANIFEST.MF +++ b/shared/rascal/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: xbgf -Bundle-SymbolicName: xbgf +Bundle-SymbolicName: slps Bundle-Version: 1.0.0 Require-Bundle: org.eclipse.imp.pdb.values, rascal diff --git a/shared/rascal/README.txt b/shared/rascal/README.txt new file mode 100644 index 00000000..dca78a7f --- /dev/null +++ b/shared/rascal/README.txt @@ -0,0 +1 @@ +this directory contains a Rascal Project called "slps" diff --git a/shared/rascal/src/Main.rsc b/shared/rascal/src/Main.rsc new file mode 100644 index 00000000..211ad732 --- /dev/null +++ b/shared/rascal/src/Main.rsc @@ -0,0 +1,26 @@ +@contributor{Vadim Zaytsev - vadim@grammarware.net - CWI} +module Main + +import IO; +import syntax::BGF; +import syntax::XBGF; +import io::ReadXBGF; +//import lang::xml::DOM; + +public void main() +{ + println(readXBGF(|project://slps/tests/undefine1.xbgf|)); +} + +public bool tryAll() +{ + loc base = |project://slps/tests|; + for (f <- listEntries(base)) + { + if (f == ".gitignore") continue; + println(f); + println(readXBGF(base+f)); + } + return true; +} + diff --git a/shared/rascal/src/XBGF.rsc b/shared/rascal/src/io/ReadXBGF.rsc similarity index 97% rename from shared/rascal/src/XBGF.rsc rename to shared/rascal/src/io/ReadXBGF.rsc index 41fb517d..61e1acc2 100644 --- a/shared/rascal/src/XBGF.rsc +++ b/shared/rascal/src/io/ReadXBGF.rsc @@ -1,28 +1,11 @@ @contributor{Vadim Zaytsev - vadim@grammarware.net - CWI} -module XBGF +module io::ReadXBGF import IO; -import XBGFSyntax; +import syntax::BGF; +import syntax::XBGF; import lang::xml::DOM; -public void main() -{ - println(readXBGF(|project://xbgf/tests/undefine1.xbgf|)); -} - -public bool tryAll() -{ - loc base = |project://xbgf/tests|; - for (f <- listEntries(base)) - { - if (f == ".gitignore") continue; - println(f); - println(readXBGF(base+f)); - } - return true; -} - - public XBGFSequence readXBGF(loc f) { Node N = parseXMLDOMTrim(readFile(f)); diff --git a/shared/rascal/src/syntax/BGF.rsc b/shared/rascal/src/syntax/BGF.rsc new file mode 100644 index 00000000..872b41f3 --- /dev/null +++ b/shared/rascal/src/syntax/BGF.rsc @@ -0,0 +1,26 @@ +@contributor{Vadim Zaytsev - vadim@grammarware.net - CWI} +module syntax::BGF + +data BGFProduction = + production (str label, str lhs, BGFExpression rhs) +; + +data BGFExpression = + epsilon() + | empty() + | val(BGFValue v) + | anything() + | terminal(str t) + | nonterminal(str t) + | selectable(str selector, BGFExpression expr) + | sequence(list[BGFExpression] exprs) + | choice(list[BGFExpression] exprs) + | marked(BGFExpression expr) + | optional(BGFExpression expr) + | plus(BGFExpression expr) + | star(BGFExpression expr) + | starsepplus(BGFExpression expr, BGFExpression sep) + | starsepstar(BGFExpression expr, BGFExpression sep) +; + +data BGFValue = string() | integer(); diff --git a/shared/rascal/src/XBGFSyntax.rsc b/shared/rascal/src/syntax/XBGF.rsc similarity index 78% rename from shared/rascal/src/XBGFSyntax.rsc rename to shared/rascal/src/syntax/XBGF.rsc index 05c384d6..f1a356b3 100644 --- a/shared/rascal/src/XBGFSyntax.rsc +++ b/shared/rascal/src/syntax/XBGF.rsc @@ -1,5 +1,7 @@ @contributor{Vadim Zaytsev - vadim@grammarware.net - CWI} -module XBGFSyntax +module syntax::XBGF + +import syntax::BGF; alias XBGFSequence = list[XBGFCommand]; @@ -68,27 +70,3 @@ data XBGFCommand = data BGFContext = globally() ; - -data BGFProduction = - production (str label, str lhs, BGFExpression rhs) -; - -data BGFExpression = - epsilon() - | empty() - | val(BGFValue v) - | anything() - | terminal(str t) - | nonterminal(str t) - | selectable(str selector, BGFExpression expr) - | sequence(list[BGFExpression] exprs) - | choice(list[BGFExpression] exprs) - | marked(BGFExpression expr) - | optional(BGFExpression expr) - | plus(BGFExpression expr) - | star(BGFExpression expr) - | starsepplus(BGFExpression expr, BGFExpression sep) - | starsepstar(BGFExpression expr, BGFExpression sep) -; - -data BGFValue = string() | integer();