Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Anders Nilsson
OwlCompiler
Commits
07e3cdab
Commit
07e3cdab
authored
Jan 21, 2011
by
Anders Nilsson
Browse files
Modifying compiler generation to support new OWL format.
parent
10c97b29
Changes
6
Hide whitespace changes
Inline
Side-by-side
CompilerGeneration.jrag
View file @
07e3cdab
...
...
@@ -91,6 +91,14 @@ aspect AbsGrammarGeneration {
// }
}
void ClassDeclaration.genAbsGrammar(PrintStream pStream) {
pStream.print(name());
pStream.print(" : "+getSuperClass().name());
pStream.print(" ::=");
getProperties().genAbsGrammar(pStream);
pStream.println(";");
}
void Properties.genAbsGrammar(PrintStream pStream) {
for (int i=0; i<getNumProperty(); i++) {
pStream.print(" ");
...
...
GenCompiler.java
View file @
07e3cdab
...
...
@@ -43,6 +43,7 @@ public class GenCompiler extends Parser {
}
Start
ast
=
parse
(
owlFile
);
ast
.
setGrammarName
(
name
);
File
siarasDir
=
new
File
(
dirName
);
if
(!
siarasDir
.
isDirectory
())
{
...
...
JavaCCChunks.jrag
View file @
07e3cdab
...
...
@@ -31,11 +31,11 @@ aspect JavaCCChunks {
pStream.println(" STATIC = false;");
pStream.println("} ");
pStream.println();
pStream.println("PARSER_BEGIN("+
n
ame()+"Parser)");
pStream.println("PARSER_BEGIN("+
grammarN
ame()+"Parser)");
pStream.println(" package AST;");
pStream.println(" public class "+
n
ame()+"Parser {");
pStream.println(" public class "+
grammarN
ame()+"Parser {");
pStream.println("}");
pStream.println("PARSER_END("+
n
ame()+"Parser)");
pStream.println("PARSER_END("+
grammarN
ame()+"Parser)");
pStream.println();
pStream.println("//----------------------------------------------//");
pStream.println("// LEXICAL TOKENS //");
...
...
Misc.jrag
View file @
07e3cdab
...
...
@@ -31,4 +31,16 @@ aspect Misc {
}
return s.toString();
}
syn Attribute Element.iri() = null;
eq ComplexElement.iri() {
for (int i=0; i<getNumAttribute(); i++) {
Attribute a = getAttribute(i);
if (a instanceof IRI) {
return a;
}
}
return null;
}
}
Names.jrag
View file @
07e3cdab
...
...
@@ -20,7 +20,16 @@
*/
aspect Names {
syn String OClass.name() = getId();
syn String OwlProperty.name() = getId();
syn String OwlRestriction.name() = getRestrictionClassId();
syn String Element.name() = "";
eq OClass.name() = getId();
eq OwlProperty.name() = getId();
eq OwlRestriction.name() = getRestrictionClassId();
eq Declaration.name() = getElement(0).name();
eq Clazz.name() = iri().name();
eq NamedIndividual.name() = iri().trim();
static String ASTNode.gName = "owl";
public void ASTNode.setGrammarName(String s) {gName = s;}
public String ASTNode.grammarName() {return gName;}
}
Rewrites.jrag
View file @
07e3cdab
...
...
@@ -224,6 +224,20 @@ aspect MiscUtilities {
}
return (ComplexElement) e;
}
syn boolean Declaration.isClassDecl() = getElement(0).isClass();
eq ClassDeclaration.isClassDecl() = true;
eq IndividualDeclaration.isClassDecl() = false;
syn boolean Declaration.isIndividualDecl() = getElement(0).isIndividual();
eq IndividualDeclaration.isIndividualDecl() = true;
eq ClassDeclaration.isIndividualDecl() = false;
syn boolean Element.isClass() = false;
eq Clazz.isClass() = true;
syn boolean Element.isIndividual() = false;
eq NamedIndividual.isIndividual() = true;
}
aspect RewriteClasses {
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment