Skip to content
Snippets Groups Projects
Commit d9a97f75 authored by dgelessus's avatar dgelessus
Browse files

Refactor type name lookup in alternative code generation

parent d7bd806d
No related branches found
No related tags found
No related merge requests found
...@@ -64,16 +64,20 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter ...@@ -64,16 +64,20 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
popCount++; popCount++;
} }
private void generateVariableDeclaration(Node term) throws IOException { private String lookupInternalTypeName(Node term) {
String typeName; String name = simpleTermTransformMap.get(term);
if(simpleTermTransformMap.get(term) != null) if(name != null)
{ {
typeName = simpleTermTransformMap.get(term); return name;
} }
else else
{ {
typeName = CG.getAltTransformElemTypes().get(term); return CG.getAltTransformElemTypes().get(term);
}
} }
private void generateVariableDeclaration(Node term) throws IOException {
String typeName = lookupInternalTypeName(term);
int position = CG.getTermNumbers().get(term); int position = CG.getTermNumbers().get(term);
if(typeName.startsWith("L")) if(typeName.startsWith("L"))
...@@ -110,21 +114,13 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter ...@@ -110,21 +114,13 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
@Override @Override
public void outAAltTransform(AAltTransform node) public void outAAltTransform(AAltTransform node)
{ {
String type_name;
int position; int position;
try try
{ {
for(PTerm term : node.getTerms()) for(PTerm term : node.getTerms())
{ {
if(simpleTermTransformMap.get(term) != null) String type_name = lookupInternalTypeName(term);
{
type_name = simpleTermTransformMap.get(term);
}
else
{
type_name = CG.getAltTransformElemTypes().get(term);
}
position = CG.getTermNumbers().get(term); position = CG.getTermNumbers().get(term);
...@@ -177,15 +173,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter ...@@ -177,15 +173,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
{ {
try try
{ {
String type_name; String type_name = lookupInternalTypeName(node);
if(simpleTermTransformMap.get(node) != null)
{
type_name = simpleTermTransformMap.get(node);
}
else
{
type_name = CG.getAltTransformElemTypes().get(node);
}
int position = CG.getTermNumbers().get(node).intValue(); int position = CG.getTermNumbers().get(node).intValue();
String termKey = currentAlt+"."+node.getId().getText(); String termKey = currentAlt+"."+node.getId().getText();
int elemPosition = CTP.elems_position.get(termKey); int elemPosition = CTP.elems_position.get(termKey);
...@@ -250,15 +238,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter ...@@ -250,15 +238,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
{ {
try try
{ {
String type_name; String type_name = lookupInternalTypeName(node);
if(simpleTermTransformMap.get(node) != null)
{
type_name = simpleTermTransformMap.get(node);
}
else
{
type_name = CG.getAltTransformElemTypes().get(node);
}
String termKey = currentAlt+"."+node.getId().getText(); String termKey = currentAlt+"."+node.getId().getText();
int position = CG.getTermNumbers().get(node); int position = CG.getTermNumbers().get(node);
...@@ -378,15 +358,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter ...@@ -378,15 +358,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
for(PListTerm listTerm : node.getListTerms()) for(PListTerm listTerm : node.getListTerms())
{ {
String type_name; String type_name = lookupInternalTypeName(listTerm);
if(simpleTermTransformMap.get(listTerm) != null)
{
type_name = simpleTermTransformMap.get(listTerm);
}
else
{
type_name = CG.getAltTransformElemTypes().get(listTerm);
}
int position = CG.getTermNumbers().get(listTerm); int position = CG.getTermNumbers().get(listTerm);
if(!type_name.equals("null")) if(!type_name.equals("null"))
...@@ -412,15 +384,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter ...@@ -412,15 +384,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
private void generateNewTerm(Node node, AProdName prodName, List<PTerm> params) private void generateNewTerm(Node node, AProdName prodName, List<PTerm> params)
{ {
String type_name; String type_name = lookupInternalTypeName(node);
if(simpleTermTransformMap.get(node) != null)
{
type_name = simpleTermTransformMap.get(node);
}
else
{
type_name = CG.getAltTransformElemTypes().get(node);
}
int position = CG.getTermNumbers().get(node); int position = CG.getTermNumbers().get(node);
String newAltName = name(prodName); String newAltName = name(prodName);
...@@ -442,14 +406,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter ...@@ -442,14 +406,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
for(PTerm term : params) for(PTerm term : params)
{ {
if(simpleTermTransformMap.get(term) != null) type_name = lookupInternalTypeName(term);
{
type_name = simpleTermTransformMap.get(term);
}
else
{
type_name = CG.getAltTransformElemTypes().get(term);
}
position = CG.getTermNumbers().get(term); position = CG.getTermNumbers().get(term);
if(type_name.equals("null")) if(type_name.equals("null"))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment