compiler directives support; TMF 040-1 compatible

diff --git a/tests/93-asn1c-controls-OK.asn1 b/tests/93-asn1c-controls-OK.asn1
index 8102431..b1fb585 100644
--- a/tests/93-asn1c-controls-OK.asn1
+++ b/tests/93-asn1c-controls-OK.asn1
@@ -13,17 +13,21 @@
 
 	Sequence ::= SEQUENCE {
 		ainl INTEGER,
-		aptr INTEGER	/* <asn1c:pointer> */
+		--<ASN1C.RepresentAsPointer>--
+		aptr INTEGER
 	}
 
 	Set ::= SET {
 		ainl Sequence,
-		aptr Sequence	-- <asn1c:pointer>
+		--<ASN1C.RepresentAsPointer>--
+		aptr Sequence
 	}
 
 	Choice ::= CHOICE {
-		setof SET OF INTEGER, -- <asn1c:pointer>
-		aptr Sequence,	-- <asn1c:pointer>
+		--<ASN1C.RepresentAsPointer>--
+		setof SET OF INTEGER,
+		--<ASN1C.RepresentAsPointer>--
+		aptr Sequence,
 		ainl Sequence
 	}
 
diff --git a/tests/93-asn1c-controls-OK.asn1.-EF b/tests/93-asn1c-controls-OK.asn1.-EF
index 8df3402..5288379 100644
--- a/tests/93-asn1c-controls-OK.asn1.-EF
+++ b/tests/93-asn1c-controls-OK.asn1.-EF
@@ -5,17 +5,21 @@
 
 Sequence ::= SEQUENCE {
     ainl	 [0] IMPLICIT INTEGER,
-    aptr	 [1] IMPLICIT INTEGER	/* <asn1c:pointer> */
+    --<ASN1C.RepresentAsPointer>--
+    aptr	 [1] IMPLICIT INTEGER
 }
 
 Set ::= SET {
     ainl	 [0] IMPLICIT Sequence,
-    aptr	 [1] IMPLICIT Sequence	/* <asn1c:pointer> */
+    --<ASN1C.RepresentAsPointer>--
+    aptr	 [1] IMPLICIT Sequence
 }
 
 Choice ::= CHOICE {
-    setof	 [0] IMPLICIT SET OF INTEGER,	/* <asn1c:pointer> */
-    aptr	 [1] IMPLICIT Sequence,	/* <asn1c:pointer> */
+    --<ASN1C.RepresentAsPointer>--
+    setof	 [0] IMPLICIT SET OF INTEGER,
+    --<ASN1C.RepresentAsPointer>--
+    aptr	 [1] IMPLICIT Sequence,
     ainl	 [2] IMPLICIT Sequence
 }
 
diff --git a/tests/93-asn1c-controls-OK.asn1.-P b/tests/93-asn1c-controls-OK.asn1.-P
index 0f777d5..f2d5fe3 100644
--- a/tests/93-asn1c-controls-OK.asn1.-P
+++ b/tests/93-asn1c-controls-OK.asn1.-P
@@ -41,7 +41,7 @@
 };
 static asn_TYPE_tag2member_t asn_MAP_Sequence_1_tag2el[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl at 15 */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr at 17 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr at 18 */
 };
 static asn_SEQUENCE_specifics_t asn_SPC_Sequence_1_specs = {
 	sizeof(struct Sequence),
@@ -138,8 +138,8 @@
 	(ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
 };
 static asn_TYPE_tag2member_t asn_MAP_Set_1_tag2el[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl at 20 */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr at 22 */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl at 21 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr at 24 */
 };
 static uint8_t asn_MAP_Set_1_mmap[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
 	(1 << 7) | (1 << 6)
@@ -293,9 +293,9 @@
 		},
 };
 static asn_TYPE_tag2member_t asn_MAP_Choice_1_tag2el[] = {
-    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* setof at 25 */
-    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* aptr at 26 */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ainl at 28 */
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* setof at 28 */
+    { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* aptr at 30 */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ainl at 32 */
 };
 static asn_CHOICE_specifics_t asn_SPC_Choice_1_specs = {
 	sizeof(struct Choice),