11#include "traversal.h"
2+ #include <string.h>
23
34#define DEBUG_PRINT
45
@@ -10,6 +11,11 @@ ATbool ofp_traverse_init()
1011 return ATtrue ;
1112}
1213
14+ static char * ofp_strdup (char * str )
15+ {
16+ return strdup (str );
17+ }
18+
1319ATbool ofp_traverse_Dop (ATerm term , pOFP_Traverse Dop )
1420{
1521#ifdef DEBUG_PRINT
@@ -19,6 +25,7 @@ ATbool ofp_traverse_Dop(ATerm term, pOFP_Traverse Dop)
1925 char * Dop_val ;
2026 if (ATmatch (term , "<str>" , & Dop_val )) {
2127 // MATCHED Dop
28+ Dop -> post = ofp_strdup (Dop_val );
2229 return ATtrue ;
2330 } else return ATfalse ;
2431
@@ -34,6 +41,7 @@ ATbool ofp_traverse_HexConstant(ATerm term, pOFP_Traverse HexConstant)
3441 char * HexConstant_val ;
3542 if (ATmatch (term , "<str>" , & HexConstant_val )) {
3643 // MATCHED HexConstant
44+ HexConstant -> post = ofp_strdup (HexConstant_val );
3745 return ATtrue ;
3846 } else return ATfalse ;
3947
@@ -49,6 +57,7 @@ ATbool ofp_traverse_OctalConstant(ATerm term, pOFP_Traverse OctalConstant)
4957 char * OctalConstant_val ;
5058 if (ATmatch (term , "<str>" , & OctalConstant_val )) {
5159 // MATCHED OctalConstant
60+ OctalConstant -> post = ofp_strdup (OctalConstant_val );
5261 return ATtrue ;
5362 } else return ATfalse ;
5463
@@ -64,6 +73,7 @@ ATbool ofp_traverse_BinaryConstant(ATerm term, pOFP_Traverse BinaryConstant)
6473 char * BinaryConstant_val ;
6574 if (ATmatch (term , "<str>" , & BinaryConstant_val )) {
6675 // MATCHED BinaryConstant
76+ BinaryConstant -> post = ofp_strdup (BinaryConstant_val );
6777 return ATtrue ;
6878 } else return ATfalse ;
6979
@@ -79,6 +89,7 @@ ATbool ofp_traverse_Rcon(ATerm term, pOFP_Traverse Rcon)
7989 char * Rcon_val ;
8090 if (ATmatch (term , "<str>" , & Rcon_val )) {
8191 // MATCHED Rcon
92+ Rcon -> post = ofp_strdup (Rcon_val );
8293 return ATtrue ;
8394 } else return ATfalse ;
8495
@@ -94,6 +105,7 @@ ATbool ofp_traverse_Scon(ATerm term, pOFP_Traverse Scon)
94105 char * Scon_val ;
95106 if (ATmatch (term , "<str>" , & Scon_val )) {
96107 // MATCHED Scon
108+ Scon -> post = ofp_strdup (Scon_val );
97109 return ATtrue ;
98110 } else return ATfalse ;
99111
@@ -109,6 +121,7 @@ ATbool ofp_traverse_Icon(ATerm term, pOFP_Traverse Icon)
109121 char * Icon_val ;
110122 if (ATmatch (term , "<str>" , & Icon_val )) {
111123 // MATCHED Icon
124+ Icon -> post = ofp_strdup (Icon_val );
112125 return ATtrue ;
113126 } else return ATfalse ;
114127
@@ -124,6 +137,7 @@ ATbool ofp_traverse_Ident(ATerm term, pOFP_Traverse Ident)
124137 char * Ident_val ;
125138 if (ATmatch (term , "<str>" , & Ident_val )) {
126139 // MATCHED Ident
140+ Ident -> post = ofp_strdup (Ident_val );
127141 return ATtrue ;
128142 } else return ATfalse ;
129143
@@ -139,6 +153,7 @@ ATbool ofp_traverse_Letter(ATerm term, pOFP_Traverse Letter)
139153 char * Letter_val ;
140154 if (ATmatch (term , "<str>" , & Letter_val )) {
141155 // MATCHED Letter
156+ Letter -> post = ofp_strdup (Letter_val );
142157 return ATtrue ;
143158 } else return ATfalse ;
144159
@@ -154,6 +169,7 @@ ATbool ofp_traverse_Label(ATerm term, pOFP_Traverse Label)
154169 char * Label_val ;
155170 if (ATmatch (term , "<str>" , & Label_val )) {
156171 // MATCHED Label
172+ Label -> post = ofp_strdup (Label_val );
157173 return ATtrue ;
158174 } else return ATfalse ;
159175
@@ -169,6 +185,7 @@ ATbool ofp_traverse_LblRef(ATerm term, pOFP_Traverse LblRef)
169185 char * LblRef_val ;
170186 if (ATmatch (term , "<str>" , & LblRef_val )) {
171187 // MATCHED LblRef
188+ LblRef -> post = ofp_strdup (LblRef_val );
172189 return ATtrue ;
173190 } else return ATfalse ;
174191
@@ -184,6 +201,7 @@ ATbool ofp_traverse_StartCommentBlock(ATerm term, pOFP_Traverse StartCommentBloc
184201 char * StartCommentBlock_val ;
185202 if (ATmatch (term , "<str>" , & StartCommentBlock_val )) {
186203 // MATCHED StartCommentBlock
204+ StartCommentBlock -> post = ofp_strdup (StartCommentBlock_val );
187205 return ATtrue ;
188206 } else return ATfalse ;
189207
@@ -199,6 +217,7 @@ ATbool ofp_traverse_EOS(ATerm term, pOFP_Traverse EOS)
199217 char * EOS_val ;
200218 if (ATmatch (term , "<str>" , & EOS_val )) {
201219 // MATCHED EOS
220+ EOS -> post = ofp_strdup (EOS_val );
202221 return ATtrue ;
203222 } else return ATfalse ;
204223
0 commit comments