xref: /aosp_15_r20/external/antlr/runtime/C/doxygen/runtime.dox (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robot/// \page runtime Navigating the C Runtime Documentation
2*16467b97STreehugger Robot///
3*16467b97STreehugger Robot/// If you are familiar with Doxygen generated documentation, then the layout of the files, typedefs
4*16467b97STreehugger Robot/// and so on will be familiar to you. However there is also additional structure applied that helps
5*16467b97STreehugger Robot/// the programmer to see how the runtime is made up.
6*16467b97STreehugger Robot///
7*16467b97STreehugger Robot/// \section modules Modules
8*16467b97STreehugger Robot///
9*16467b97STreehugger Robot/// Under the Modules menu tree you will find the entry API Classes. This section is further
10*16467b97STreehugger Robot/// divided into typedefs and structs and the standard runtime supplied interface implementation
11*16467b97STreehugger Robot/// methods.
12*16467b97STreehugger Robot///
13*16467b97STreehugger Robot/// The typedefs are the types that you declare in your code and which are returned by the
14*16467b97STreehugger Robot/// 'constructors' such as antlr38BitFileStreamNew(). The underlying structures document
15*16467b97STreehugger Robot/// the data elements of the type and what a function pointer installed in any particular
16*16467b97STreehugger Robot/// slot should do.
17*16467b97STreehugger Robot///
18*16467b97STreehugger Robot/// The default implementations are the static methods within the default implementation file
19*16467b97STreehugger Robot/// for a 'class', which are installed by the runtime when a default instance of one the
20*16467b97STreehugger Robot/// typedefs (classes) is created.
21*16467b97STreehugger Robot///
22*16467b97STreehugger Robot/// When navigating the source code, find the typedef you want to consult and inspect the documentation
23*16467b97STreehugger Robot/// for its function pointers, then look at the documentation for the default methods that implement
24*16467b97STreehugger Robot/// that 'method'.
25*16467b97STreehugger Robot///
26*16467b97STreehugger Robot/// For example, under "API Typedefs and Structs" you will find "Base Recognizer Definition", which tells
27*16467b97STreehugger Robot/// you all the methods that belong to this interface. Under "API Implementation Functions", you will
28*16467b97STreehugger Robot/// find "Base Recognizer Implementation", which documents the actual functions that are installed
29*16467b97STreehugger Robot/// to implement the class methods.
30*16467b97STreehugger Robot///
31*16467b97STreehugger Robot/// From here, the documentation should be obvious. If it is not, then you could try reading
32*16467b97STreehugger Robot/// the actual source code, but please don't email the author directly, use the ANTLR Interest
33*16467b97STreehugger Robot/// email group, which you should probably have signed up for if you have read this far into the
34*16467b97STreehugger Robot/// C runtime documentation.
35*16467b97STreehugger Robot///