UILDUMPSYMBOLTABLE(3)

πŸ“¦
version 2.5.2 Β· 2 versions
, in alpine 3.24, arch rolling, centos-stream 9, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

πŸ’– UilDumpSymbolTable πŸ’–

okay bestie, so this one is a library call from the UIL crew, and it's literally just "show me everything inside this symbol table, right now, on my screen". no cap.


✨ NAME ✨

UilDumpSymbolTable β€” Dumps the contents of a named UIL symbol table to standard output 🫢


🌸 SYNOPSIS 🌸

#include <uil/UilDef.h>

void UilDumpSymbolTable(
sym_entry_type *root_ptr);

πŸ¦‹ DESCRIPTION πŸ¦‹

so the UilDumpSymbolTable function dumps the contents of a UIL symbol table pointer to standard output. that's it, that's the whole vibe. it prints, you read, slay. πŸ’…

  • root_ptr β€” this is a pointer to the the symbol table root entry. (yes, the original says "the the", we don't fix it, we respect it ✨) you can grab this value from the parse_tree_root part of the Uil_compile_desc_type data structure that Uil hands back to you.

ngl, this is the fun part: by following the link from the root entry, you can traverse the entire parse tree. it's giving main character energy for the whole tree. 🌳

symbol table entries come out in this format:

hex.address symbol.type symbol.data prev.source.position source.position modification.record

where:

  • hex.address β€” the hexadecimal address of this entry in the symbol table. it's the entry's little home address. 🏠
  • symbol.type β€” the type of this symbol table entry. some possible types are root, module, value, procedure, and widget. so many icons honestly. πŸ‘‘
  • symbol.data β€” the data for the symbol table entry. and lowkey the data varies with the type of the entry. often it contains pointers to other symbol table entries, or the actual data for the data type. it's a mystery box, we love her. 🎁
  • prev.source.position β€” the end point in the source code for the previous source item.
  • source.position β€” the range of positions in the source code for this symbol. πŸ“

and yeah, the format line also has a modification.record field chilling in there at the end β€” that's just part of the line, bestie, i'm not gonna make up lore about it. πŸ™ˆ

heads up: the exact data structures for each symbol type are defined in the include file UilSymDef.h. and note that this file is automatically included when an application includes the file UilDef.h. so you don't gotta do it twice. one include, two files, that's the deal. 🧚


and that's the whole page, bestie!! this was the UilDumpSymbolTable(library call) manual page, living its life in the library call section of the manual. go dump a symbol table, you absolute legend. periodt. πŸ’…βœ¨πŸŽ€πŸ¦‹