Package com.darkcollective.relix.symbol.table.internal


package com.darkcollective.relix.symbol.table.internal
The engine-side machinery behind com.darkcollective.relix.symbol.table: not exported by the published artifact. What follows describes the package as a whole, as it stood before the split. Symbol table interface, in-memory implementation, and persistence repository contract.
  • SymbolTable — the primary API for registering and looking up symbols. All lookups are case-insensitive.
  • InMemorySymbolTable — the default implementation backed by LinkedHashMaps. Suitable for single-session, in-process use. Not thread-safe.
  • SymbolRepository — a persistence contract that future implementations may fulfil to store symbols in a database or other durable store. The in-memory table does not use this interface; it is provided as an extension point.

Lookup order

The single-argument overloads of SymbolTable.lookupRelation(String) and SymbolTable.lookupFunction(String) search the "default" namespace first, then the "builtin" namespace. The two-argument overloads allow the caller to specify an explicit namespace.

Registration

All registration calls return a RegistrationResult that describes whether the symbol was accepted, replaced, or rejected, along with any diagnostics. Errors are collected rather than thrown, so multiple conflicts in a batch can be reported at once.

  • Class
    Description
    An in-memory implementation of SymbolTable suitable for single-session, in-process use.
    Persistence contract for symbol storage — the extension point for a durable back-end (relational database, document store, etc.).