LCOV - code coverage report
Current view: top level - libreoffice/workdir/unxlngi6.pro/UnpackedTarball/python3/Parser - listnode.c (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 32 0.0 %
Date: 2012-12-17 Functions: 0 3 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : 
       2             : /* List a node on a file */
       3             : 
       4             : #include "pgenheaders.h"
       5             : #include "token.h"
       6             : #include "node.h"
       7             : 
       8             : /* Forward */
       9             : static void list1node(FILE *, node *);
      10             : static void listnode(FILE *, node *);
      11             : 
      12             : void
      13           0 : PyNode_ListTree(node *n)
      14             : {
      15           0 :     listnode(stdout, n);
      16           0 : }
      17             : 
      18             : static int level, atbol;
      19             : 
      20             : static void
      21           0 : listnode(FILE *fp, node *n)
      22             : {
      23           0 :     level = 0;
      24           0 :     atbol = 1;
      25           0 :     list1node(fp, n);
      26           0 : }
      27             : 
      28             : static void
      29           0 : list1node(FILE *fp, node *n)
      30             : {
      31           0 :     if (n == 0)
      32           0 :         return;
      33           0 :     if (ISNONTERMINAL(TYPE(n))) {
      34             :         int i;
      35           0 :         for (i = 0; i < NCH(n); i++)
      36           0 :             list1node(fp, CHILD(n, i));
      37             :     }
      38           0 :     else if (ISTERMINAL(TYPE(n))) {
      39           0 :         switch (TYPE(n)) {
      40             :         case INDENT:
      41           0 :             ++level;
      42           0 :             break;
      43             :         case DEDENT:
      44           0 :             --level;
      45           0 :             break;
      46             :         default:
      47           0 :             if (atbol) {
      48             :                 int i;
      49           0 :                 for (i = 0; i < level; ++i)
      50           0 :                     fprintf(fp, "\t");
      51           0 :                 atbol = 0;
      52             :             }
      53           0 :             if (TYPE(n) == NEWLINE) {
      54           0 :                 if (STR(n) != NULL)
      55           0 :                     fprintf(fp, "%s", STR(n));
      56           0 :                 fprintf(fp, "\n");
      57           0 :                 atbol = 1;
      58             :             }
      59             :             else
      60           0 :                 fprintf(fp, "%s ", STR(n));
      61           0 :             break;
      62             :         }
      63             :     }
      64             :     else
      65           0 :         fprintf(fp, "? ");
      66             : }

Generated by: LCOV version 1.10