import java.util.*;
import java.io.*;
public class TransitionDecl {
public void harvestAst( LinkedList ll ) {
// harvest the conditions and block for TransitionDecl
ll.add( arg[3] );
ll.add( arg[4] );
}
public void add2Hash( Hashtable h, String source ) {
// Step 1: Standard stuff for error checking -- add an element
// to the hash table and make sure that the edge was not
// defined before.
String edgeName = arg[0].tok[0].tokenName();
String sig = "transition " + edgeName;
String result = ( String ) h.get( sig );
if ( result == null )
h.put( sig, source );
else
AstNode.error( tok[0], "duplicate " + sig + " declarations in " + result +
" and " + source );
// Step 2: now check if the states are known -- if not, issue a warning
if ( arg[1] instanceof SmSName ) {
String startState = "state " + arg[1].arg[0].tok[0].tokenName();
verifyState( h, startState, sig );
}
String endState = "state " + arg[2].tok[0].tokenName();
verifyState( h, endState, sig );
}
}