ANTLR3_TREE_PARSER_struct(3)

πŸ“¦ version 3.4, in fedora 43

πŸ’– ANTLR3_TREE_PARSER_struct(3) πŸ’–

okay bestie, welcome to the ANTLR3C section 3 manual page for ANTLR3_TREE_PARSER_struct. grab a boba, this one's a struct tour and it's giving ✨internals✨


🌸 NAME 🌸

ANTLR3_TREE_PARSER_struct</purl> β€” Internal structure representing an element in a hash bucket.

(not me clocking that the description is literally about hash buckets for a tree parser struct. iconic. no notes. we move. πŸ’…)


✨ SYNOPSIS ✨

#include <antlr3treeparser.h>

πŸŽ€ Data Fields

  • pANTLR3_COMMON_TREE_NODE_STREAM ctnstream β€” Pointer to the common tree node stream for the parser.
  • void(* free )(struct ANTLR3_TREE_PARSER_struct *parser) β€” Pointer to a function that knows how to free resources of an ANTLR3 tree parser.
  • pANTLR3_COMMON_TREE_NODE_STREAM(* getTreeNodeStream )(struct ANTLR3_TREE_PARSER_struct *parser) β€” Return a pointer to the input stream.
  • pANTLR3_BASE_RECOGNIZER rec β€” A pointer to the base recognizer, where most of the parser functions actually live because they are shared between parser and tree parser and this is the easier way than copying the interface all over the place.
  • void(* setTreeNodeStream )(struct ANTLR3_TREE_PARSER_struct *parser, pANTLR3_COMMON_TREE_NODE_STREAM input) β€” Set the input stream and reset the parser.
  • void * super β€” Pointer to any super class.

πŸ¦‹ Detailed Description πŸ¦‹

Internal structure representing an element in a hash bucket.

Stores the original key so that duplicate keys can be rejected if necessary, and contains function can be supported. If the hash key could be unique I would have invented the perfect compression algorithm ;-)

okay so the struct itself has main character energy and the comment section is roasting itself. we love a self-aware data structure fr fr 😭

πŸ‘‘ Field Documentation πŸ‘‘

πŸ’œ pANTLR3_COMMON_TREE_NODE_STREAM ANTLR3_TREE_PARSER_struct::ctnstream

Pointer to the common tree node stream for the parser.

Referenced by alreadyParsedRule(), antlr3RecognitionExceptionNew(), consumeUntil(), consumeUntilSet(), displayRecognitionError(), getTreeNodeStream(), match(), matchAny(), memoize(), recover(), recoverFromMismatchedElement(), recoverFromMismatchedSet(), recoverFromMismatchedToken(), setTreeNodeStream(), and synpred().

that's a whole group chat of callers showing up in this field's mentions. ctnstream is lowkey the popular one 🫢

πŸ“ void(* ANTLR3_TREE_PARSER_struct::free) (struct ANTLR3_TREE_PARSER_struct *parser)

Pointer to a function that knows how to free resources of an ANTLR3 tree parser.

Referenced by antlr3TreeParserNewStream().

🌈 pANTLR3_COMMON_TREE_NODE_STREAM(* ANTLR3_TREE_PARSER_struct::getTreeNodeStream) (struct ANTLR3_TREE_PARSER_struct *parser)

Return a pointer to the input stream.

Referenced by antlr3TreeParserNewStream().

🌸 pANTLR3_BASE_RECOGNIZER ANTLR3_TREE_PARSER_struct::rec

A pointer to the base recognizer, where most of the parser functions actually live because they are shared between parser and tree parser and this is the easier way than copying the interface all over the place. Macros hide this for the generated code so it is easier on the eye (though not the debugger ;-).

Referenced by antlr3TreeParserNewStream(), freeParser(), and setTreeNodeStream().

the way that this one is doing all the actual work while the other fields get the credit... rec is carrying this entire struct on its back, periodt πŸ’… and the debugger catching strays? valid. relatable. πŸ™ˆ

🧚 void(* ANTLR3_TREE_PARSER_struct::setTreeNodeStream) (struct ANTLR3_TREE_PARSER_struct *parser, pANTLR3_COMMON_TREE_NODE_STREAM input)

Set the input stream and reset the parser.

Referenced by antlr3TreeParserNewStream().

⭐ void* ANTLR3_TREE_PARSER_struct::super

Pointer to any super class.

literally just "pointer to any super class." no elaboration. no references. an enigma. we respect the mystery πŸŽ€

πŸ’– Author πŸ’–

Generated automatically by Doxygen for ANTLR3C from the source code.

doxygen wrote this, not a human, and yet the ";-)" and ";-)" jokes made it through. automated sass. slay πŸ€–βœ¨

Version 3.3.1 Β· Tue Jul 29 2025 00:00:0

and that's the whole page bestie!! πŸŒˆπŸ’… thanks for reading the ANTLR3C internals with me, you ate that, no cap. go parse a tree, you've earned it πŸ¦‹πŸŽ€βœ¨

πŸ“¦ where this page comes from