Trull

edu.luc.cs.trull.translator
Class Translator

java.lang.Object
  extended by edu.luc.cs.trull.translator.Translator
All Implemented Interfaces:
Visitor

public class Translator
extends java.lang.Object
implements Visitor

An XML front end for Trull.


Nested Class Summary
(package private)  class Translator.ActionExprVisitor
          A visitor for an ActionComponent.
private static interface Translator.DataVisitor
          A visitor for a data node.
 
Field Summary
private static org.apache.log4j.Logger cat
           
private  int numOfTabs
          the number of tabs for indentation
private  java.io.PrintWriter out
          Print writer.
 
Fields inherited from interface edu.luc.cs.trull.translator.Visitor
ACCESS, ACT, ACTIVITIES, ACTIVITY, ACTIVITYREF, ALLPAST, AND, ASSERT, ASSERTION, AWAIT, AWAITONE, BACKTO, CASE, CODE, CONTROLLABLE, DECLARABLES, DECLARE, DEFAULT, DONE, EMIT, EVENTLABEL, EVENTLABELS, EXPR, EXPRREF, EXPRS, EXPRSREF, EXTENDS, FROM, IF, IMPLEMENTS, IMPLIES, IMPORT, LABEL, LEAF, LOCAL, LOOP, NAME, NIL, NOT, ONCE, ONEMIT, ONRESUME, ONSTART, ONSTOP, ONSUSPEND, OR, PACKAGE, PARALLEL, PARAM, PARAMS, PREDICATE, PREVIOUS, RENAME, RESUME, RETURN, RUN, SATISFIED, SEQUENCE, SIGNATURE, SINCE, SUSPEND, SUSPENDRESUME, SWITCH, THREADACTIVITY, TIMEOUT, TLEXPRS, TLPARAMS, TO, TRIVENI, TYPE, UPDATE, UPDATEHANDLER, VALUATOR, VIOLATED, WATCHING
 
Constructor Summary
Translator(java.io.PrintWriter out)
          Default constructor.
 
Method Summary
 void act(org.w3c.dom.Node node)
          ACT element
 void activity(org.w3c.dom.Node node)
          ACTIVITY element
private  void activityBody(org.w3c.dom.Node node)
           
 void activityRef(org.w3c.dom.Node node)
          ACTIVITYREF element
 void allPast(org.w3c.dom.Node node)
           
 void and(org.w3c.dom.Node node)
           
 void assertion(org.w3c.dom.Node node)
          ASSERTION element
 void assertt(org.w3c.dom.Node node)
          ASSERT element
 void await(org.w3c.dom.Node node)
          AWAIT element
 void awaitOne(org.w3c.dom.Node node)
          AWAITONE element
 void backTo(org.w3c.dom.Node node)
           
private  void callBack(org.w3c.dom.Node node, java.lang.String name)
           
private  void classHeader(org.w3c.dom.NamedNodeMap attrs)
           
private  void className(org.w3c.dom.Node node)
           
 void code(org.w3c.dom.Node node)
           
private  void constructorHeader(org.w3c.dom.NamedNodeMap attrs)
           
 void controllable(org.w3c.dom.Node node)
          CONTROLLABLE element
private  int countSpace(java.lang.String str)
           
 void cse(org.w3c.dom.Node node)
          CASE element
 void declare(org.w3c.dom.Node node)
           
 void defult(org.w3c.dom.Node node)
          DEFAULT element
(package private)  void dispatch(org.w3c.dom.Node node)
          Invokes the method corresponding to the current element name.
 void done(org.w3c.dom.Node node)
          DONE element
 void emit(org.w3c.dom.Node node)
          EMIT element
 void eventLabel(org.w3c.dom.Node node)
          EVENTLABEL element
 void eventLabels(org.w3c.dom.Node node)
          EVENTLABELS element
 void expr(org.w3c.dom.Node node)
          EXPR element
 void exprRef(org.w3c.dom.Node node)
          EXPRREF element
 void exprsRef(org.w3c.dom.Node node)
          EXPRSREF element
private  void extnds(org.w3c.dom.Node node)
           
private  void generalExpr(org.w3c.dom.Node node)
           
(package private)  org.w3c.dom.Node getNamedChild(org.w3c.dom.Node node, java.lang.String name)
           
(package private)  org.w3c.dom.Node getNamedChild(org.w3c.dom.Node node, java.lang.String[] names)
          Returns first child element whose name is in the given list.
(package private)  boolean hasAnyNamedChild(org.w3c.dom.Node node)
           
(package private)  boolean hasNamedChild(org.w3c.dom.Node node, java.lang.String name)
           
(package private)  boolean hasNamedChild(org.w3c.dom.Node node, java.lang.String[] names)
           
 void iif(org.w3c.dom.Node node)
          IF element
 void implies(org.w3c.dom.Node node)
           
private  void impls(org.w3c.dom.Node node)
           
 void imprt(org.w3c.dom.Node node)
           
private  void initializeParamsInstanceFields(org.w3c.dom.Node params)
           
private  boolean isEmptyNode(org.w3c.dom.Node node)
           
 void label(org.w3c.dom.Node node)
           
 void leaf(org.w3c.dom.Node node)
           
 void local(org.w3c.dom.Node node)
          LOCAL element
 void loop(org.w3c.dom.Node node)
          LOOP element
static void main(java.lang.String[] argv)
           
private  void newIndentedLine()
           
 void nil(org.w3c.dom.Node node)
          NIL element
 void not(org.w3c.dom.Node node)
           
private  int numOfNonEmptyChildren(org.w3c.dom.Node node)
           
 void once(org.w3c.dom.Node node)
           
 void onEmit(org.w3c.dom.Node node)
           
 void onResume(org.w3c.dom.Node node)
           
 void onStart(org.w3c.dom.Node node)
           
 void onStop(org.w3c.dom.Node node)
           
 void onSuspend(org.w3c.dom.Node node)
           
 void or(org.w3c.dom.Node node)
           
 void parallel(org.w3c.dom.Node node)
          PARALLEL element
 void param(org.w3c.dom.Node node)
           
 void params(org.w3c.dom.Node node)
           
private  void paramsAsInstanceFields(org.w3c.dom.Node params)
           
 void predicate(org.w3c.dom.Node node)
          PREDICATE element
 void previous(org.w3c.dom.Node node)
           
private static void printUsage()
          Prints the usage.
private  void publicity(org.w3c.dom.Node node)
           
 void rename(org.w3c.dom.Node node)
          RENAME element
 void retrn(org.w3c.dom.Node node)
           
 void run(org.w3c.dom.Node node)
           
 void satisfied(org.w3c.dom.Node node)
          SATISFIED element
 void sequence(org.w3c.dom.Node node)
          SEQUENCE element
 void signature(org.w3c.dom.Node node)
           
 void signatures(org.w3c.dom.Node node)
           
 void since(org.w3c.dom.Node node)
           
 void suspendResume(org.w3c.dom.Node node)
          SUSPENDRESUME
 void swtch(org.w3c.dom.Node node)
          SWITCH element
 void threadActivity(org.w3c.dom.Node node)
          THREADACTIVITY element
 void timeOut(org.w3c.dom.Node node)
           
private  void tlExpr(org.w3c.dom.Node node, java.lang.String className)
           
 void triveni(org.w3c.dom.Node node)
          top level component
 void update(org.w3c.dom.Node node)
           
 void updateHandler(org.w3c.dom.Node node)
           
private  boolean validateActivityBody(org.w3c.dom.Node node)
           
private  boolean validateClassHeader(org.w3c.dom.Node node)
           
private  boolean validateDeclarables(org.w3c.dom.Node node)
           
 void valuator(org.w3c.dom.Node node)
          VALUATOR element
 void violated(org.w3c.dom.Node node)
          VIOLATED element
 void visit(org.w3c.dom.Node node)
           
static void visit(java.lang.String uri, java.io.PrintWriter out)
          Parses the resulting document tree.
(package private)  void visitChildren(org.w3c.dom.Node node)
           
(package private)  void visitChildren(org.w3c.dom.Node node, java.lang.String separator, int numOfNewLines)
          Visits all children of a node and inserts a separator between them.
private  void visitNode(org.w3c.dom.Node node, Translator.DataVisitor visitor)
           
(package private)  void visitUntilNamedChild(org.w3c.dom.Node node, java.lang.String[] names, Translator.DataVisitor visitor)
          Visits the children of a node up to and including the named element.
(package private)  void visitUntilNamedChild(org.w3c.dom.Node node, java.lang.String name, Translator.DataVisitor visitor)
           
(package private)  void visitWhileNamedChild(org.w3c.dom.Node node, java.lang.String[] names, Translator.DataVisitor visitor, java.lang.String separator, int numOfNewLines)
          Visits the children of a node up to and including all consecutive occurrences of the named element.
(package private)  void visitWhileNamedChild(org.w3c.dom.Node node, java.lang.String name, Translator.DataVisitor visitor, java.lang.String separator, int numOfNewLines)
           
(package private)  void visitWhileNotNamedChild(org.w3c.dom.Node node, java.lang.String[] names, Translator.DataVisitor visitor, java.lang.String separator, int numOfNewLines)
          Visits the children of a node up to but NOT including the named element.
(package private)  void visitWhileNotNamedChild(org.w3c.dom.Node node, java.lang.String name, Translator.DataVisitor visitor, java.lang.String separator, int numOfNewLines)
           
 void watching(org.w3c.dom.Node node)
          WATCHING element
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cat

private static org.apache.log4j.Logger cat

numOfTabs

private int numOfTabs
the number of tabs for indentation


out

private java.io.PrintWriter out
Print writer.

Constructor Detail

Translator

public Translator(java.io.PrintWriter out)
Default constructor.

Method Detail

act

public void act(org.w3c.dom.Node node)
Description copied from interface: Visitor
ACT element

Specified by:
act in interface Visitor

activity

public void activity(org.w3c.dom.Node node)
Description copied from interface: Visitor
ACTIVITY element

Specified by:
activity in interface Visitor

activityBody

private void activityBody(org.w3c.dom.Node node)

activityRef

public void activityRef(org.w3c.dom.Node node)
Description copied from interface: Visitor
ACTIVITYREF element

Specified by:
activityRef in interface Visitor

allPast

public void allPast(org.w3c.dom.Node node)
Specified by:
allPast in interface Visitor

and

public void and(org.w3c.dom.Node node)
Specified by:
and in interface Visitor

assertion

public void assertion(org.w3c.dom.Node node)
Description copied from interface: Visitor
ASSERTION element

Specified by:
assertion in interface Visitor

assertt

public void assertt(org.w3c.dom.Node node)
Description copied from interface: Visitor
ASSERT element

Specified by:
assertt in interface Visitor

await

public void await(org.w3c.dom.Node node)
Description copied from interface: Visitor
AWAIT element

Specified by:
await in interface Visitor

awaitOne

public void awaitOne(org.w3c.dom.Node node)
Description copied from interface: Visitor
AWAITONE element

Specified by:
awaitOne in interface Visitor

backTo

public void backTo(org.w3c.dom.Node node)
Specified by:
backTo in interface Visitor

callBack

private void callBack(org.w3c.dom.Node node,
                      java.lang.String name)

classHeader

private void classHeader(org.w3c.dom.NamedNodeMap attrs)

className

private void className(org.w3c.dom.Node node)

code

public void code(org.w3c.dom.Node node)
Specified by:
code in interface Visitor

constructorHeader

private void constructorHeader(org.w3c.dom.NamedNodeMap attrs)

controllable

public void controllable(org.w3c.dom.Node node)
Description copied from interface: Visitor
CONTROLLABLE element

Specified by:
controllable in interface Visitor

countSpace

private int countSpace(java.lang.String str)

cse

public void cse(org.w3c.dom.Node node)
Description copied from interface: Visitor
CASE element

Specified by:
cse in interface Visitor

declare

public void declare(org.w3c.dom.Node node)
Specified by:
declare in interface Visitor

defult

public void defult(org.w3c.dom.Node node)
Description copied from interface: Visitor
DEFAULT element

Specified by:
defult in interface Visitor

dispatch

void dispatch(org.w3c.dom.Node node)
Invokes the method corresponding to the current element name. Add more cases here as elements are added in triveni.dtd and create the corresponding traversal methods.


done

public void done(org.w3c.dom.Node node)
Description copied from interface: Visitor
DONE element

Specified by:
done in interface Visitor

emit

public void emit(org.w3c.dom.Node node)
Description copied from interface: Visitor
EMIT element

Specified by:
emit in interface Visitor

eventLabel

public void eventLabel(org.w3c.dom.Node node)
Description copied from interface: Visitor
EVENTLABEL element

Specified by:
eventLabel in interface Visitor

eventLabels

public void eventLabels(org.w3c.dom.Node node)
Description copied from interface: Visitor
EVENTLABELS element

Specified by:
eventLabels in interface Visitor

expr

public void expr(org.w3c.dom.Node node)
Description copied from interface: Visitor
EXPR element

Specified by:
expr in interface Visitor

exprRef

public void exprRef(org.w3c.dom.Node node)
Description copied from interface: Visitor
EXPRREF element

Specified by:
exprRef in interface Visitor

exprsRef

public void exprsRef(org.w3c.dom.Node node)
Description copied from interface: Visitor
EXPRSREF element

Specified by:
exprsRef in interface Visitor

extnds

private void extnds(org.w3c.dom.Node node)

generalExpr

private void generalExpr(org.w3c.dom.Node node)

getNamedChild

org.w3c.dom.Node getNamedChild(org.w3c.dom.Node node,
                               java.lang.String name)

getNamedChild

org.w3c.dom.Node getNamedChild(org.w3c.dom.Node node,
                               java.lang.String[] names)
Returns first child element whose name is in the given list.


hasAnyNamedChild

boolean hasAnyNamedChild(org.w3c.dom.Node node)

hasNamedChild

boolean hasNamedChild(org.w3c.dom.Node node,
                      java.lang.String name)

hasNamedChild

boolean hasNamedChild(org.w3c.dom.Node node,
                      java.lang.String[] names)

iif

public void iif(org.w3c.dom.Node node)
Description copied from interface: Visitor
IF element

Specified by:
iif in interface Visitor

implies

public void implies(org.w3c.dom.Node node)
Specified by:
implies in interface Visitor

impls

private void impls(org.w3c.dom.Node node)

imprt

public void imprt(org.w3c.dom.Node node)
Specified by:
imprt in interface Visitor

initializeParamsInstanceFields

private void initializeParamsInstanceFields(org.w3c.dom.Node params)

isEmptyNode

private boolean isEmptyNode(org.w3c.dom.Node node)

label

public void label(org.w3c.dom.Node node)
Specified by:
label in interface Visitor

leaf

public void leaf(org.w3c.dom.Node node)
Specified by:
leaf in interface Visitor

local

public void local(org.w3c.dom.Node node)
Description copied from interface: Visitor
LOCAL element

Specified by:
local in interface Visitor

loop

public void loop(org.w3c.dom.Node node)
Description copied from interface: Visitor
LOOP element

Specified by:
loop in interface Visitor

main

public static void main(java.lang.String[] argv)

newIndentedLine

private void newIndentedLine()

nil

public void nil(org.w3c.dom.Node node)
Description copied from interface: Visitor
NIL element

Specified by:
nil in interface Visitor

not

public void not(org.w3c.dom.Node node)
Specified by:
not in interface Visitor

numOfNonEmptyChildren

private int numOfNonEmptyChildren(org.w3c.dom.Node node)

once

public void once(org.w3c.dom.Node node)
Specified by:
once in interface Visitor

onEmit

public void onEmit(org.w3c.dom.Node node)
Specified by:
onEmit in interface Visitor

onResume

public void onResume(org.w3c.dom.Node node)
Specified by:
onResume in interface Visitor

onStart

public void onStart(org.w3c.dom.Node node)
Specified by:
onStart in interface Visitor

onStop

public void onStop(org.w3c.dom.Node node)
Specified by:
onStop in interface Visitor

onSuspend

public void onSuspend(org.w3c.dom.Node node)
Specified by:
onSuspend in interface Visitor

or

public void or(org.w3c.dom.Node node)
Specified by:
or in interface Visitor

parallel

public void parallel(org.w3c.dom.Node node)
Description copied from interface: Visitor
PARALLEL element

Specified by:
parallel in interface Visitor

param

public void param(org.w3c.dom.Node node)
Specified by:
param in interface Visitor

params

public void params(org.w3c.dom.Node node)
Specified by:
params in interface Visitor

paramsAsInstanceFields

private void paramsAsInstanceFields(org.w3c.dom.Node params)

predicate

public void predicate(org.w3c.dom.Node node)
Description copied from interface: Visitor
PREDICATE element

Specified by:
predicate in interface Visitor

previous

public void previous(org.w3c.dom.Node node)
Specified by:
previous in interface Visitor

printUsage

private static void printUsage()
Prints the usage.


publicity

private void publicity(org.w3c.dom.Node node)

rename

public void rename(org.w3c.dom.Node node)
Description copied from interface: Visitor
RENAME element

Specified by:
rename in interface Visitor

retrn

public void retrn(org.w3c.dom.Node node)
Specified by:
retrn in interface Visitor

run

public void run(org.w3c.dom.Node node)
Specified by:
run in interface Visitor

satisfied

public void satisfied(org.w3c.dom.Node node)
Description copied from interface: Visitor
SATISFIED element

Specified by:
satisfied in interface Visitor

sequence

public void sequence(org.w3c.dom.Node node)
Description copied from interface: Visitor
SEQUENCE element

Specified by:
sequence in interface Visitor

signature

public void signature(org.w3c.dom.Node node)
Specified by:
signature in interface Visitor

signatures

public void signatures(org.w3c.dom.Node node)
Specified by:
signatures in interface Visitor

since

public void since(org.w3c.dom.Node node)
Specified by:
since in interface Visitor

suspendResume

public void suspendResume(org.w3c.dom.Node node)
Description copied from interface: Visitor
SUSPENDRESUME

Specified by:
suspendResume in interface Visitor

swtch

public void swtch(org.w3c.dom.Node node)
Description copied from interface: Visitor
SWITCH element

Specified by:
swtch in interface Visitor

threadActivity

public void threadActivity(org.w3c.dom.Node node)
Description copied from interface: Visitor
THREADACTIVITY element

Specified by:
threadActivity in interface Visitor

timeOut

public void timeOut(org.w3c.dom.Node node)
Specified by:
timeOut in interface Visitor

tlExpr

private void tlExpr(org.w3c.dom.Node node,
                    java.lang.String className)

triveni

public void triveni(org.w3c.dom.Node node)
Description copied from interface: Visitor
top level component

Specified by:
triveni in interface Visitor

update

public void update(org.w3c.dom.Node node)
Specified by:
update in interface Visitor

updateHandler

public void updateHandler(org.w3c.dom.Node node)
Specified by:
updateHandler in interface Visitor

validateActivityBody

private boolean validateActivityBody(org.w3c.dom.Node node)

validateClassHeader

private boolean validateClassHeader(org.w3c.dom.Node node)

validateDeclarables

private boolean validateDeclarables(org.w3c.dom.Node node)

valuator

public void valuator(org.w3c.dom.Node node)
Description copied from interface: Visitor
VALUATOR element

Specified by:
valuator in interface Visitor

violated

public void violated(org.w3c.dom.Node node)
Description copied from interface: Visitor
VIOLATED element

Specified by:
violated in interface Visitor

visit

public void visit(org.w3c.dom.Node node)

visit

public static void visit(java.lang.String uri,
                         java.io.PrintWriter out)
Parses the resulting document tree.


visitChildren

void visitChildren(org.w3c.dom.Node node)

visitChildren

void visitChildren(org.w3c.dom.Node node,
                   java.lang.String separator,
                   int numOfNewLines)
Visits all children of a node and inserts a separator between them.


visitNode

private void visitNode(org.w3c.dom.Node node,
                       Translator.DataVisitor visitor)

visitUntilNamedChild

void visitUntilNamedChild(org.w3c.dom.Node node,
                          java.lang.String[] names,
                          Translator.DataVisitor visitor)
Visits the children of a node up to and including the named element. Removes the visited children. Non-Elments nodes are removed and visited using the DataVisitor visitor.


visitUntilNamedChild

void visitUntilNamedChild(org.w3c.dom.Node node,
                          java.lang.String name,
                          Translator.DataVisitor visitor)

visitWhileNamedChild

void visitWhileNamedChild(org.w3c.dom.Node node,
                          java.lang.String[] names,
                          Translator.DataVisitor visitor,
                          java.lang.String separator,
                          int numOfNewLines)
Visits the children of a node up to and including all consecutive occurrences of the named element. Removes the visited children. Non-Elments nodes are removed and visited using the DataVisitor visitor.


visitWhileNamedChild

void visitWhileNamedChild(org.w3c.dom.Node node,
                          java.lang.String name,
                          Translator.DataVisitor visitor,
                          java.lang.String separator,
                          int numOfNewLines)

visitWhileNotNamedChild

void visitWhileNotNamedChild(org.w3c.dom.Node node,
                             java.lang.String[] names,
                             Translator.DataVisitor visitor,
                             java.lang.String separator,
                             int numOfNewLines)
Visits the children of a node up to but NOT including the named element. Removes the visited children. Non-Elments nodes are removed and visited using the DataVisitor visitor.


visitWhileNotNamedChild

void visitWhileNotNamedChild(org.w3c.dom.Node node,
                             java.lang.String name,
                             Translator.DataVisitor visitor,
                             java.lang.String separator,
                             int numOfNewLines)

watching

public void watching(org.w3c.dom.Node node)
Description copied from interface: Visitor
WATCHING element

Specified by:
watching in interface Visitor

Trull

http://www.cs.luc.edu/trull/