SableCC problemer
Jeg sidder og roder med at lave en "compiler" (nok nærmere en interpreter) med SableCC for første gang. Det drejer sig om en lille XML parser.Når jeg har kørt SableCC på min grammatik-fil, får jeg en lang række klasser. Jeg starter med at købe en Lexer og en Parser og får et "Start" objekt tilbage (et AST). Dette kan jeg så afvikle en "Switch" på, f.eks. DepthFirstAdapter.
Jeg har så lavet en klasse, Translator, der extender DepthFirstAdapter, så jeg kan hive information ud af AST'et.
Problemet er, at der åbenbart bliver genereret flere typer klasser for hver terminal i grammatikken, f.eks. ANestedElement (med diverse information og nyttige metoder) og PNestedElement (der blot arver fra den overordnede klasse Node og ikke indeholder megen funktionalitet).
Af en eller anden grund returnerer min metode i ANestedElement, getElementContent(), et PElementContent, der som nævnt ikke indeholder nogen egentlig information... Her ville jeg jo gerne have haft fat i et AElementContent, så jeg kan udlæse værdier.
Jeg håber ikke, jeg har fået beskrevet det alt for kryptisk... :)
Jeg savner generelt noget dokumentation og/eller eksempler på kode, så eksempler på dette er meget velkomne!
