diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag index 5ebd079e744c07bde615d930b2ff357175876ced..8c7933cf6d7831acbf00a8c6ace74a3d7fcf6920 100644 --- a/CompilerGeneration.jrag +++ b/CompilerGeneration.jrag @@ -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) {"); diff --git a/JavaCCChunks.jrag b/JavaCCChunks.jrag index 399040776d2301a2a67974fa328c4cba87257876..97bd7acad89a74362488f87dce5968393befad22 100644 --- a/JavaCCChunks.jrag +++ b/JavaCCChunks.jrag @@ -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("} "); diff --git a/examples/configForm/GenHTML.java b/examples/configForm/GenHTML.java new file mode 100644 index 0000000000000000000000000000000000000000..70666eeb103ff563cf3e38a77e463c72c99b7ce5 --- /dev/null +++ b/examples/configForm/GenHTML.java @@ -0,0 +1,16 @@ +/* + * 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); + } +} diff --git a/examples/configForm/HTMLGen.jrag b/examples/configForm/HTMLGen.jrag new file mode 100644 index 0000000000000000000000000000000000000000..8b41abab759da5747ca991581546b05e752d7018 --- /dev/null +++ b/examples/configForm/HTMLGen.jrag @@ -0,0 +1,71 @@ +/* -*-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 diff --git a/examples/x3d/BoundingBox.jrag b/examples/x3d/BoundingBox.jrag index 23777ab88d37873c4afb2f5cddb9e35acf0aad85..a97511213bcbec6f35313349a704feda312cfa3c 100644 --- a/examples/x3d/BoundingBox.jrag +++ b/examples/x3d/BoundingBox.jrag @@ -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