diff --git a/gcc/cobol/etests/.gitignore b/gcc/cobol/etests/.gitignore
index 305b2f7b405f7dc8e076d070bacf356de4484a70..eaf70718543139a05c603bf6fcd8169d03e82188 100644
--- a/gcc/cobol/etests/.gitignore
+++ b/gcc/cobol/etests/.gitignore
@@ -3,3 +3,6 @@ under-test.txt
 *.s
 *.rpt
 *.o
+*.json
+*.html
+*.nodes
diff --git a/gcc/cobol/genapi.cc b/gcc/cobol/genapi.cc
index d25008bf823837b60283e791e9dc1bf4c4a0ba26..4c8f4f96746b3eb26d1a02661eba194568a8705d 100644
--- a/gcc/cobol/genapi.cc
+++ b/gcc/cobol/genapi.cc
@@ -4344,6 +4344,34 @@ parser_display_internal(tree file_descriptor,
       ENDIF
       }
     }
+  else if( refer.field->type == FldLiteralA )
+    {
+    char *buffer = NULL;
+    size_t buffer_size = 0;
+
+    // Maximum size is twice capacity (for all UTF-8 characters) plus one byte
+    // for the terminating NUL character
+    size_t max_possible = 2*refer.field->data.capacity + 1;
+
+    if( max_possible > buffer_size )
+      {
+      buffer_size = max_possible;
+      buffer = (char *)xrealloc(buffer, max_possible);
+      }
+    internal_to_console(&buffer,
+                        &buffer_size,
+                        refer.field->data.initial,
+                        refer.field->data.capacity );
+    gg_write(  file_descriptor,
+               gg_string_literal(buffer),
+               build_int_cst_type(SIZE_T, strlen(buffer)));
+    if( advance )
+      {
+      gg_write(  file_descriptor,
+                 gg_string_literal("\n"),
+                 integer_one_node);
+      }
+    }
   else if( refer.field->type == FldLiteralN )
     {
     // The parser found the string of digits from the source code and converted