mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 10:26:02 +00:00 
			
		
		
		
	 7f14f0d8a0
			
		
	
	
		7f14f0d8a0
		
	
	
	
	
		
			
			svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
  r81032 | antoine.pitrou | 2010-05-09 17:52:27 +0200 (dim., 09 mai 2010) | 9 lines
  Recorded merge of revisions 81029 via svnmerge from
  svn+ssh://pythondev@svn.python.org/python/trunk
  ........
    r81029 | antoine.pitrou | 2010-05-09 16:46:46 +0200 (dim., 09 mai 2010) | 3 lines
    Untabify C files. Will watch buildbots.
  ........
................
		
	
			
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
 | |
| /* List a node on a file */
 | |
| 
 | |
| #include "pgenheaders.h"
 | |
| #include "token.h"
 | |
| #include "node.h"
 | |
| 
 | |
| /* Forward */
 | |
| static void list1node(FILE *, node *);
 | |
| static void listnode(FILE *, node *);
 | |
| 
 | |
| void
 | |
| PyNode_ListTree(node *n)
 | |
| {
 | |
|     listnode(stdout, n);
 | |
| }
 | |
| 
 | |
| static int level, atbol;
 | |
| 
 | |
| static void
 | |
| listnode(FILE *fp, node *n)
 | |
| {
 | |
|     level = 0;
 | |
|     atbol = 1;
 | |
|     list1node(fp, n);
 | |
| }
 | |
| 
 | |
| static void
 | |
| list1node(FILE *fp, node *n)
 | |
| {
 | |
|     if (n == 0)
 | |
|         return;
 | |
|     if (ISNONTERMINAL(TYPE(n))) {
 | |
|         int i;
 | |
|         for (i = 0; i < NCH(n); i++)
 | |
|             list1node(fp, CHILD(n, i));
 | |
|     }
 | |
|     else if (ISTERMINAL(TYPE(n))) {
 | |
|         switch (TYPE(n)) {
 | |
|         case INDENT:
 | |
|             ++level;
 | |
|             break;
 | |
|         case DEDENT:
 | |
|             --level;
 | |
|             break;
 | |
|         default:
 | |
|             if (atbol) {
 | |
|                 int i;
 | |
|                 for (i = 0; i < level; ++i)
 | |
|                     fprintf(fp, "\t");
 | |
|                 atbol = 0;
 | |
|             }
 | |
|             if (TYPE(n) == NEWLINE) {
 | |
|                 if (STR(n) != NULL)
 | |
|                     fprintf(fp, "%s", STR(n));
 | |
|                 fprintf(fp, "\n");
 | |
|                 atbol = 1;
 | |
|             }
 | |
|             else
 | |
|                 fprintf(fp, "%s ", STR(n));
 | |
|             break;
 | |
|         }
 | |
|     }
 | |
|     else
 | |
|         fprintf(fp, "? ");
 | |
| }
 |