Symbol Table

A location to store all identifiable objects during a parse to resolve references.

Many languages need to refer to objects at multiple points within the code. If we have a language that defines a configuration of tasks and their dependencies, we need a way for one task to refer to its dependent tasks in its definition.

In order to do this, we come up with some form of symbol for each task; while processing the DSL script, we put these symbols in a Symbol Table that stores the link between the symbol and an underlying object that holds the full information.

For more details see chapter 12 of the DSL book

| Catalog of DSL patterns |