Skip to content
Snippets Groups Projects
Commit 47299b5a authored by Anders Nilsson's avatar Anders Nilsson
Browse files

Started imlpementing HTML output aspect for configForm.

parent 19627bf6
Branches
No related tags found
No related merge requests found
......@@ -34,7 +34,7 @@ aspect AbsGrammarGeneration {
pStream.println("IntElement : SimpleElement ::= <LITERAL>;");
pStream.println("FloatElement : SimpleElement ::= <LITERAL>;");
pStream.println("Attribute ::= AttrValue;");
pStream.println("AttrValue ::= <STRING_LITERAL>;");
pStream.println("AttrValue ::= <LITERAL>;");
pStream.println("Encoding : Attribute ::=;");
pStream.println("Version : Attribute ::=;");
pStream.println("XmlnsXsi : Attribute ::=;");
......@@ -150,7 +150,7 @@ aspect GenJavaCC {
pStream.println("void AttrValue() #AttrValue : { Token t; }");
pStream.println("{");
pStream.println(" t = <STRING_LITERAL>");
pStream.println(" {jjtThis.setSTRING_LITERAL(t.image);}");
pStream.println(" {jjtThis.setLITERAL(t.image);}");
pStream.println("}");
pStream.println();
pStream.println("void Encoding() #Encoding : {}");
......@@ -384,6 +384,9 @@ aspect Misc {
aspect GenAspects {
public void Start.genAspects(PrintStream pStream) {
pStream.println("/* -*-Java-*- */");
pStream.println();
pStream.println("// Automatically generated JastAdd aspects file ");
pStream.println();
pStream.println("import java.io.PrintStream;");
pStream.println();
......@@ -433,7 +436,7 @@ aspect GenPrettyPrinter {
pStream.println(" }\n");
pStream.println(" public void AttrValue.prettyPrint(String indent, PrintStream pStream) {");
pStream.println(" pStream.print(getSTRING_LITERAL());");
pStream.println(" pStream.print(getLITERAL());");
pStream.println(" }\n");
pStream.println(" public void Encoding.prettyPrint(String indent, PrintStream pStream) {");
......
......@@ -18,7 +18,7 @@ aspect JavaCCChunks {
pStream.println(" NODE_PREFIX = \"\";");
pStream.println(" JAVA_UNICODE_ESCAPE = true;");
pStream.println(" STATIC = false;");
pStream.println(" DEBUG_PARSER = true;");
// pStream.println(" DEBUG_PARSER = true;");
// pStream.println(" DEBUG_LOOKAHEAD = true;");
// pStream.println(" DEBUG_TOKEN_MANAGER = true;");
pStream.println("} ");
......
/*
* Copyright (C) 2007 Anders Nilsson <anders.nilsson@cs.lth.se>
*
* This file is part of XmlSchemaCompiler.
*/
import AST.Start;
public class GenHTML extends Parser {
public static void main(String args[]) {
Start ast = parse(args);
// Dump the AST
ast.genHTML(0, System.out);
}
}
/* -*-Java-*- */
/*
* Copyright (C) 2007 Anders Nilsson <anders.nilsson@cs.lth.se>
*
* This file is part of XmlSchemaCompiler.
*/
import java.io.PrintStream;
aspect HTMLGen {
public String ASTNode.ind(int ind) {
StringBuffer sb = new StringBuffer();
for (int i=0; i<ind; i++) {
sb.append(" ");
}
return sb.toString();
}
public void ASTNode.genHTML(int ind, PrintStream pStream) {
for (int i=0; i<getNumChild(); i++) {
getChild(i).genHTML(ind,pStream);
}
}
public void configuration_sheet.genHTML(int ind, PrintStream pStream) {
pStream.println(ind(ind)+"<?xml version=\"1.0\" encoding=\"UTF-8\"?><");
pStream.println(ind(ind)+"<html>");
ind++;
pStream.println(ind(ind)+"<head>");
pStream.println(ind(ind+1)+"<title>Nameplate</title>");
pStream.println(ind(ind)+"</head>");
pStream.println(ind(ind)+"<body>");
ind++;
pStream.println(ind(ind)+"<center>");
pStream.println(ind(ind+1)+"<h1>"+name()+"/h1>");
pStream.println(ind(ind)+"</center>");
pStream.println(ind(ind)+"<table border=\"1\" valign=\"top\">");
ind++;
pStream.println(ind(ind)+"<tr bgcolor=\"lightgray\">");
pStream.println(ind(ind)+"</tr>");
ind--;
pStream.println(ind(ind)+"</table>");
ind--;
pStream.println(ind(ind)+"</body>");
super.genHTML(ind,pStream);
ind--;
pStream.println(ind(ind)+"</html>");
}
}
aspect Misc {
syn lazy String Element.name() {
return "NoName";
}
eq ComplexElement.name() {
for (int i=0; i<getNumAttribute(); i++) {
if (getAttribute(i) instanceof name) {
return getAttribute(i).value().replace("\""," ").trim();
}
}
return super.name();
}
syn lazy String Attribute.value() {
return getAttrValue().getLITERAL();
}
}
\ No newline at end of file
......@@ -90,5 +90,5 @@ aspect Coordinates {
return sb;
}
syn String Attribute.getCoordinates() = null;
eq point.getCoordinates() = getAttrValue().getSTRING_LITERAL();
eq point.getCoordinates() = getAttrValue().getLITERAL();
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment