|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectbyucc.jhdl.parsers.edif.sablecc.analysis.AnalysisAdapter
byucc.jhdl.parsers.edif.sablecc.analysis.DepthFirstAdapter
byucc.jhdl.parsers.edif.sablecc.translation.EdifToJHDLTranslator
This class will walk the abstract syntax tree of a EdifFile and create a data structure that represents the semantic contents of this file. Specifically, this class will create a new EdifCell object that encapsulates all the circuit information for the top-level cell in the Edif file. This class uses the factory design pattern for generating EdifCell class objects. This allows users of the parser to force this class to generate application-specific variants of EdifCell. The DefaultEdifFactory will create the generic EdifCell object. The JHDLEdifFacotry will create JHDL-specific verisions of the EdifCell object.
EdifCell| Field Summary | |
static JHDLOutput |
jout
JHDLOutput for EdifParser |
JHDLOutput |
jout_ignore
|
JHDLOutput |
jout_ignore_loud
|
static java.lang.String |
JOUT_IGNORE_LOUD_NAME
|
static java.lang.String |
JOUT_IGNORE_NAME
|
static java.lang.String |
MESSAGE
|
| Constructor Summary | |
EdifToJHDLTranslator()
|
|
EdifToJHDLTranslator(EdifFactory factory)
The constructor creates two JHDLOutput object and enable/disable them |
|
| Method Summary | |
static void |
addToMergePortList(java.lang.String nam)
|
void |
caseACellref(ACellref node)
f0 -> |
void |
caseAContents(AContents node)
|
void |
caseADontcare(ADontcare node)
|
void |
caseAIdent(AIdent node)
This method will set the currName variable from each node name definition |
void |
caseAInoutDirection(AInoutDirection node)
f0 -> |
void |
caseAInputDirection(AInputDirection node)
|
void |
caseAMember(AMember node)
f0 -> |
void |
caseAOutputDirection(AOutputDirection node)
|
void |
caseAProperty(AProperty node)
This method will add all the property (name, value) into the current instance cell's property list. |
void |
caseTIntegertoken(TIntegertoken node)
f0 -> |
void |
caseTStringtoken(TStringtoken node)
|
static void |
clearMergePortList()
|
JHDLEdifCell |
getRootCell()
Return the root cell of the whole EDIF tree |
EdifCell |
getRootEdifCell()
|
void |
inAArray(AArray node)
f0 -> |
void |
inACell(ACell node)
f0 -> |
void |
inADontcare(ADontcare node)
|
void |
inAEdif(AEdif node)
f0 -> |
void |
inAInstance(AInstance node)
f0 -> |
void |
inAInstanceref(AInstanceref node)
f0 -> |
void |
inANet(ANet node)
f0 -> |
void |
inAPort(APort node)
f0 -> |
void |
inAPortref(APortref node)
f0 -> |
void |
inARename(ARename node)
f0 -> |
void |
inAView(AView node)
f0 -> |
static void |
main(java.lang.String[] args)
|
void |
outACell(ACell node)
|
void |
outADontcare(ADontcare node)
|
void |
outAEdif(AEdif node)
|
void |
outAInstance(AInstance node)
|
void |
outAInterface(AInterface node)
This method only checks the bus definition of the interface |
void |
outANet(ANet node)
The method adds the currNet into the currCell's netList if it is not connected to any port |
void |
outAPort(APort node)
This method will first add the current port into the portList ( if single wire, just add it, if bus, add bus name and all member wires ), then it processes the bus-look-like wire and create a respected bus if it does not exist or add it to the existing bus. |
void |
outAPortref(APortref node)
|
static void |
removeFromMergePortList(java.lang.String nam)
|
static EdifToJHDLTranslator |
translate(java.lang.String filename)
|
static EdifToJHDLTranslator |
translate(java.lang.String filename,
boolean caseSensitive,
EdifFactory factory)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static JHDLOutput jout
public static final java.lang.String JOUT_IGNORE_NAME
public JHDLOutput jout_ignore
public static final java.lang.String JOUT_IGNORE_LOUD_NAME
public JHDLOutput jout_ignore_loud
public static final java.lang.String MESSAGE
| Constructor Detail |
public EdifToJHDLTranslator()
public EdifToJHDLTranslator(EdifFactory factory)
| Method Detail |
public static void addToMergePortList(java.lang.String nam)
public static void clearMergePortList()
public static void removeFromMergePortList(java.lang.String nam)
public JHDLEdifCell getRootCell()
public EdifCell getRootEdifCell()
public void inAEdif(AEdif node)
inAEdif in class DepthFirstAdapterpublic void outAEdif(AEdif node)
outAEdif in class DepthFirstAdapterpublic void inACell(ACell node)
inACell in class DepthFirstAdapterpublic void outACell(ACell node)
outACell in class DepthFirstAdapterpublic void inAView(AView node)
inAView in class DepthFirstAdapterpublic void caseAIdent(AIdent node)
caseAIdent in interface AnalysiscaseAIdent in class DepthFirstAdapterpublic void outAInterface(AInterface node)
outAInterface in class DepthFirstAdapterpublic void inANet(ANet node)
inANet in class DepthFirstAdapterpublic void outANet(ANet node)
outANet in class DepthFirstAdapterpublic void inAPort(APort node)
inAPort in class DepthFirstAdapterpublic void outAPort(APort node)
outAPort in class DepthFirstAdapterpublic void caseAInoutDirection(AInoutDirection node)
public void caseAInputDirection(AInputDirection node)
caseAInputDirection in interface AnalysiscaseAInputDirection in class DepthFirstAdapterpublic void caseAOutputDirection(AOutputDirection node)
caseAOutputDirection in interface AnalysiscaseAOutputDirection in class DepthFirstAdapterpublic void inARename(ARename node)
inARename in class DepthFirstAdapterpublic void caseTStringtoken(TStringtoken node)
caseTStringtoken in interface AnalysiscaseTStringtoken in class AnalysisAdapterpublic void inAPortref(APortref node)
inAPortref in class DepthFirstAdapterpublic void outAPortref(APortref node)
outAPortref in class DepthFirstAdapterpublic void inAInstanceref(AInstanceref node)
inAInstanceref in class DepthFirstAdapterpublic void caseAContents(AContents node)
caseAContents in interface AnalysiscaseAContents in class DepthFirstAdapterpublic void inAInstance(AInstance node)
inAInstance in class DepthFirstAdapterpublic void outAInstance(AInstance node)
outAInstance in class DepthFirstAdapterpublic void caseACellref(ACellref node)
caseACellref in interface AnalysiscaseACellref in class DepthFirstAdapterpublic void caseAProperty(AProperty node)
caseAProperty in interface AnalysiscaseAProperty in class DepthFirstAdapterpublic void inAArray(AArray node)
inAArray in class DepthFirstAdapterpublic void caseAMember(AMember node)
caseAMember in interface AnalysiscaseAMember in class DepthFirstAdapterpublic void caseTIntegertoken(TIntegertoken node)
caseTIntegertoken in interface AnalysiscaseTIntegertoken in class AnalysisAdapterpublic void inADontcare(ADontcare node)
inADontcare in class DepthFirstAdapterpublic void outADontcare(ADontcare node)
outADontcare in class DepthFirstAdapterpublic void caseADontcare(ADontcare node)
caseADontcare in interface AnalysiscaseADontcare in class DepthFirstAdapterpublic static EdifToJHDLTranslator translate(java.lang.String filename)
public static EdifToJHDLTranslator translate(java.lang.String filename,
boolean caseSensitive,
EdifFactory factory)
public static void main(java.lang.String[] args)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||