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
popCount++;
}
private void generateVariableDeclaration(Node term) throws IOException {
String typeName;
if(simpleTermTransformMap.get(term) != null)
private String lookupInternalTypeName(Node term) {
String name = simpleTermTransformMap.get(term);
if(name != null)
{
typeName = simpleTermTransformMap.get(term);
return name;
}
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);
if(typeName.startsWith("L"))
......@@ -110,21 +114,13 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
@Override
public void outAAltTransform(AAltTransform node)
{
String type_name;
int position;
try
{
for(PTerm term : node.getTerms())
{
if(simpleTermTransformMap.get(term) != null)
{
type_name = simpleTermTransformMap.get(term);
}
else
{
type_name = CG.getAltTransformElemTypes().get(term);
}
String type_name = lookupInternalTypeName(term);
position = CG.getTermNumbers().get(term);
......@@ -177,15 +173,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
{
try
{
String type_name;
if(simpleTermTransformMap.get(node) != null)
{
type_name = simpleTermTransformMap.get(node);
}
else
{
type_name = CG.getAltTransformElemTypes().get(node);
}
String type_name = lookupInternalTypeName(node);
int position = CG.getTermNumbers().get(node).intValue();
String termKey = currentAlt+"."+node.getId().getText();
int elemPosition = CTP.elems_position.get(termKey);
......@@ -250,15 +238,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
{
try
{
String type_name;
if(simpleTermTransformMap.get(node) != null)
{
type_name = simpleTermTransformMap.get(node);
}
else
{
type_name = CG.getAltTransformElemTypes().get(node);
}
String type_name = lookupInternalTypeName(node);
String termKey = currentAlt+"."+node.getId().getText();
int position = CG.getTermNumbers().get(node);
......@@ -378,15 +358,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
for(PListTerm listTerm : node.getListTerms())
{
String type_name;
if(simpleTermTransformMap.get(listTerm) != null)
{
type_name = simpleTermTransformMap.get(listTerm);
}
else
{
type_name = CG.getAltTransformElemTypes().get(listTerm);
}
String type_name = lookupInternalTypeName(listTerm);
int position = CG.getTermNumbers().get(listTerm);
if(!type_name.equals("null"))
......@@ -412,15 +384,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
private void generateNewTerm(Node node, AProdName prodName, List<PTerm> params)
{
String type_name;
if(simpleTermTransformMap.get(node) != null)
{
type_name = simpleTermTransformMap.get(node);
}
else
{
type_name = CG.getAltTransformElemTypes().get(node);
}
String type_name = lookupInternalTypeName(node);
int position = CG.getTermNumbers().get(node);
String newAltName = name(prodName);
......@@ -442,14 +406,7 @@ public class GenerateAlternativeCodeForParser extends DepthFirstAdapter
for(PTerm term : params)
{
if(simpleTermTransformMap.get(term) != null)
{
type_name = simpleTermTransformMap.get(term);
}
else
{
type_name = CG.getAltTransformElemTypes().get(term);
}
type_name = lookupInternalTypeName(term);
position = CG.getTermNumbers().get(term);
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