From 7e5fb36da00e41891242fb5c5508ee913846219e Mon Sep 17 00:00:00 2001
From: hansen <dominik_hansen@web.de>
Date: Tue, 13 May 2014 16:03:01 +0200
Subject: [PATCH] updated type printer

---
 src/main/java/de/tla2b/output/TlaTypePrinter.java | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/main/java/de/tla2b/output/TlaTypePrinter.java b/src/main/java/de/tla2b/output/TlaTypePrinter.java
index c6a5dde..d3e4f41 100644
--- a/src/main/java/de/tla2b/output/TlaTypePrinter.java
+++ b/src/main/java/de/tla2b/output/TlaTypePrinter.java
@@ -108,9 +108,11 @@ public class TlaTypePrinter implements PositionPrinter, TypeVisitorInterface {
 	}
 
 	public void casePairType(PairType type) {
-		pout.openTerm("couple", true);
+		pout.openTerm("tuple");
+		pout.openList();
 		type.getFirst().apply(this);
 		type.getSecond().apply(this);
+		pout.closeList();
 		pout.closeTerm();
 	}
 
@@ -129,11 +131,18 @@ public class TlaTypePrinter implements PositionPrinter, TypeVisitorInterface {
 	}
 
 	public void caseStructType(StructType type) {
-		pout.openTerm("struct");
+		pout.openTerm("record");
 		pout.openList();
 		ArrayList<String> fields = type.getFields();
 		for (String field : fields) {
+			if (type.isExtensible()) {
+				pout.openTerm("opt");
+			} else {
+				pout.openTerm("field");
+			}
+			pout.printAtom(field);
 			type.getType(field).apply(this);
+			pout.closeTerm();
 		}
 		pout.closeList();
 		pout.closeTerm();
-- 
GitLab