# Compiler context (llmcpp) **Compiler context** describes the declarations available at a generated body's location. The tool-server fixture gives the compiler a real class and method request: ```cpp __llm__ void Account::deposit(int amount) { Add amount to cents. } ``` Here `amount` is a parameter and `cents` is private class state. The agent can ask `get_task` for the target interface and `get_context` for the enclosing scope, then use lookup or member inspection to check names. Because the body belongs to `Account`, it can access `cents`. The free function `peek(Account&)` in the same fixture cannot. Compiler context makes that difference visible without sending the entire raw file to the model. Candidate compilation checks the proposed use of those declarations. Source: [06_tools.cpp](https://github.com/yanevskiv/llmcpp/blob/main/tests/test_data/06_tools.cpp).