c99tree test page

On this page you can try out c99tree on your C source file without compilinf or installing anything on your system. Just copy&paste your source into the textbox below, select a format and submit. You can #include libc (an oldish version of gnu libc will be used)

source:

Command Options
treecc using the following output format:
  ind
  xml
  plist
  web3
  json
  perl
  awk
  abstract c source
expand typedef under CUSTOM_TYPE
list globals:
  all: functions, variables, global or local static (the raw list)
  global states: global or local static variables
  global public variables and functions
 
function calls:
  all: raw dump of function call information
  list of internal calls
  graph of internal calls
 
Complex edit:
  wrap statements between prefix and suffix
prefix text:
suffix text:
c99tree debugging
  locdump: 2-column location highlight
 

c99tree: The tree

del del del del del del del del del
FILE  (%m:%M)
 GRAMMAR_TREE  [26:-1] (<none>:1)
  DECL  [2058:-1] (/tmp/fileZNz0nf.c:2)
   TYPE  [2051:-1] (/tmp/fileZNz0nf.c:2)
    TYPENAME int [2048:2047] (/tmp/fileZNz0nf.c:2)
   ID gv1 [2052:2050] (/tmp/fileZNz0nf.c:2)
   ID gv2 [2056:2055] (/tmp/fileZNz0nf.c:2)
  FUNCDEF main [2162:-1] (/tmp/fileZNz0nf.c:3)
   TYPE  [2064:-1] (/tmp/fileZNz0nf.c:3)
    TYPENAME int [2061:2060] (/tmp/fileZNz0nf.c:3)
   ID main [2065:2063] (/tmp/fileZNz0nf.c:3)
    TYPE  [2091:-1] (/tmp/fileZNz0nf.c:3)
     ARGLIST  [2090:2066] (/tmp/fileZNz0nf.c:3)
      ARG  [2074:-1] (/tmp/fileZNz0nf.c:3)
       TYPE  [2071:-1] (/tmp/fileZNz0nf.c:3)
        TYPENAME int [2068:2067] (/tmp/fileZNz0nf.c:3)
       ID argc [2072:2070] (/tmp/fileZNz0nf.c:3)
      ARG  [2089:-1] (/tmp/fileZNz0nf.c:3)
       TYPE  [2080:-1] (/tmp/fileZNz0nf.c:3)
        TYPENAME char [2077:2076] (/tmp/fileZNz0nf.c:3)
       ID argv [2082:2081] (/tmp/fileZNz0nf.c:3)
        TYPE  [2086:-1] (/tmp/fileZNz0nf.c:3)
         PTR  [2088:2079] (/tmp/fileZNz0nf.c:3)
         INDEX  [2085:2083] (/tmp/fileZNz0nf.c:3)
   BLOCK  [2094:2093] (/tmp/fileZNz0nf.c:4)
    DECL  [2110:-1] (/tmp/fileZNz0nf.c:5)
     TYPE  [2104:-1] (/tmp/fileZNz0nf.c:5)
      CLASS static [2098:2097] (/tmp/fileZNz0nf.c:5)
      TYPENAME char [2101:2100] (/tmp/fileZNz0nf.c:5)
     ID lv1 [2106:2105] (/tmp/fileZNz0nf.c:5)
      TYPE  [2109:-1] (/tmp/fileZNz0nf.c:5)
       PTR  [2108:2103] (/tmp/fileZNz0nf.c:5)
    STATEMENT expr [2123:2122] (/tmp/fileZNz0nf.c:6)
     CALL printf [2121:-1] (/tmp/fileZNz0nf.c:6)
      ID printf [2120:2113] (/tmp/fileZNz0nf.c:6)
      ARGLIST  [2119:2114] (/tmp/fileZNz0nf.c:6)
       ARG  [2118:-1] (/tmp/fileZNz0nf.c:6)
        SCONST \"Hello world!\\n\" [2116:2115] (/tmp/fileZNz0nf.c:6)
    STATEMENT return [2159:2126] (/tmp/fileZNz0nf.c:7)
     CALL main [2157:-1] (/tmp/fileZNz0nf.c:7)
      ID main [2156:2128] (/tmp/fileZNz0nf.c:7)
      ARGLIST  [2155:2129] (/tmp/fileZNz0nf.c:7)
       ARG  [2133:-1] (/tmp/fileZNz0nf.c:7)
        ICONST 0 [2131:2130] (/tmp/fileZNz0nf.c:7)
       ARG  [2154:-1] (/tmp/fileZNz0nf.c:8)
        EXPRBRACKET  [2151:2137] (/tmp/fileZNz0nf.c:8)
         OP cast binary [2150:2138] (/tmp/fileZNz0nf.c:8)
          TYPE  [2149:-1] (/tmp/fileZNz0nf.c:8)
           TYPENAME void [2140:2139] (/tmp/fileZNz0nf.c:8)
           ID <anonymous> [2145:-1] (<none>:0)
            PTR  [2144:2142] (/tmp/fileZNz0nf.c:8)
          ICONST 0 [2147:2146] (/tmp/fileZNz0nf.c:8)
 TOKEN_TREE  [27:-1] (<none>:1)
  TOKEN_STR  [29:-1] (/tmp/fileZNz0nf.c:1)
  TOKEN_PPDIR #include <stdio.h>\n [30:-1] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR \n [2046:-1] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR int [2047:2048] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR   [2049:-1] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR gv1 [2050:2052] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR , [2053:-1] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR   [2054:-1] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR gv2 [2055:2056] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR ; [2057:-1] (/tmp/fileZNz0nf.c:2)
  TOKEN_STR \n [2059:-1] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR int [2060:2061] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR   [2062:-1] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR main [2063:2065] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR ( [2066:2090] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR int [2067:2068] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR   [2069:-1] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR argc [2070:2072] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR , [2073:-1] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR   [2075:-1] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR char [2076:2077] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR   [2078:-1] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR * [2079:2088] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR argv [2081:2082] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR [ [2083:2085] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR ] [2084:-1] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR ) [2087:-1] (/tmp/fileZNz0nf.c:3)
  TOKEN_STR \n [2092:-1] (/tmp/fileZNz0nf.c:4)
  TOKEN_STR { [2093:2094] (/tmp/fileZNz0nf.c:4)
  TOKEN_STR \n [2095:-1] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR 	 [2096:-1] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR static [2097:2098] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR   [2099:-1] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR char [2100:2101] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR   [2102:-1] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR * [2103:2108] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR lv1 [2105:2106] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR ; [2107:-1] (/tmp/fileZNz0nf.c:5)
  TOKEN_STR \n [2111:-1] (/tmp/fileZNz0nf.c:6)
  TOKEN_STR 	 [2112:-1] (/tmp/fileZNz0nf.c:6)
  TOKEN_STR printf [2113:2120] (/tmp/fileZNz0nf.c:6)
  TOKEN_STR ( [2114:2119] (/tmp/fileZNz0nf.c:6)
  TOKEN_STR \"Hello world!\\n\" [2115:2116] (/tmp/fileZNz0nf.c:6)
  TOKEN_STR ) [2117:-1] (/tmp/fileZNz0nf.c:6)
  TOKEN_STR ; [2122:2123] (/tmp/fileZNz0nf.c:6)
  TOKEN_STR \n [2124:-1] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR 	 [2125:-1] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR return [2126:2159] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR   [2127:-1] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR main [2128:2156] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR ( [2129:2155] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR 0 [2130:2131] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR , [2132:-1] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR   [2134:-1] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR NULL [2136:-1] (/tmp/fileZNz0nf.c:9)
  TOKEN_STR ) [2153:-1] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR ; [2158:-1] (/tmp/fileZNz0nf.c:7)
  TOKEN_STR \n [2160:-1] (/tmp/fileZNz0nf.c:8)
  TOKEN_STR } [2161:-1] (/tmp/fileZNz0nf.c:8)
  TOKEN_STR \n [2163:-1] (/tmp/fileZNz0nf.c:9)
  TOKEN_STR \n [2164:-1] (/tmp/fileZNz0nf.c:10)

Format help: [] contains [node_uid:twin_uid]; node_uid is the unique ID of the current node, twin_uid is the uid of the same node in the twin subtree. () contains location information.

c99tree $LastChangedRevision: 319 $