|
|||||||||||
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 DepthFirstAdapter
public void outAEdif(AEdif node)
outAEdif
in class DepthFirstAdapter
public void inACell(ACell node)
inACell
in class DepthFirstAdapter
public void outACell(ACell node)
outACell
in class DepthFirstAdapter
public void inAView(AView node)
inAView
in class DepthFirstAdapter
public void caseAIdent(AIdent node)
caseAIdent
in interface Analysis
caseAIdent
in class DepthFirstAdapter
public void outAInterface(AInterface node)
outAInterface
in class DepthFirstAdapter
public void inANet(ANet node)
inANet
in class DepthFirstAdapter
public void outANet(ANet node)
outANet
in class DepthFirstAdapter
public void inAPort(APort node)
inAPort
in class DepthFirstAdapter
public void outAPort(APort node)
outAPort
in class DepthFirstAdapter
public void caseAInoutDirection(AInoutDirection node)
public void caseAInputDirection(AInputDirection node)
caseAInputDirection
in interface Analysis
caseAInputDirection
in class DepthFirstAdapter
public void caseAOutputDirection(AOutputDirection node)
caseAOutputDirection
in interface Analysis
caseAOutputDirection
in class DepthFirstAdapter
public void inARename(ARename node)
inARename
in class DepthFirstAdapter
public void caseTStringtoken(TStringtoken node)
caseTStringtoken
in interface Analysis
caseTStringtoken
in class AnalysisAdapter
public void inAPortref(APortref node)
inAPortref
in class DepthFirstAdapter
public void outAPortref(APortref node)
outAPortref
in class DepthFirstAdapter
public void inAInstanceref(AInstanceref node)
inAInstanceref
in class DepthFirstAdapter
public void caseAContents(AContents node)
caseAContents
in interface Analysis
caseAContents
in class DepthFirstAdapter
public void inAInstance(AInstance node)
inAInstance
in class DepthFirstAdapter
public void outAInstance(AInstance node)
outAInstance
in class DepthFirstAdapter
public void caseACellref(ACellref node)
caseACellref
in interface Analysis
caseACellref
in class DepthFirstAdapter
public void caseAProperty(AProperty node)
caseAProperty
in interface Analysis
caseAProperty
in class DepthFirstAdapter
public void inAArray(AArray node)
inAArray
in class DepthFirstAdapter
public void caseAMember(AMember node)
caseAMember
in interface Analysis
caseAMember
in class DepthFirstAdapter
public void caseTIntegertoken(TIntegertoken node)
caseTIntegertoken
in interface Analysis
caseTIntegertoken
in class AnalysisAdapter
public void inADontcare(ADontcare node)
inADontcare
in class DepthFirstAdapter
public void outADontcare(ADontcare node)
outADontcare
in class DepthFirstAdapter
public void caseADontcare(ADontcare node)
caseADontcare
in interface Analysis
caseADontcare
in class DepthFirstAdapter
public 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 |