> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/2.1/api/csharp/yarn.compiler.md).

# Yarn.Compiler Namespace

## Summary

Contains classes for compiling Yarn code.

## Classes

| Name                                                                                | Description                                                                                |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| [Compiler](/2.1/api/csharp/yarn.compiler/yarn.compiler.compiler.md)                 | Compiles Yarn code.                                                                        |
| [Declaration](/2.1/api/csharp/yarn.compiler/yarn.compiler.declaration.md)           |                                                                                            |
| [Diagnostic](/2.1/api/csharp/yarn.compiler/yarn.compiler.diagnostic.md)             |                                                                                            |
| [IndentAwareLexer](/2.1/api/csharp/yarn.compiler/yarn.compiler.indentawarelexer.md) | A Lexer subclass that detects newlines and generates indent and dedent tokens accordingly. |
| [Utility](/2.1/api/csharp/yarn.compiler/yarn.compiler.utility.md)                   | Utility methods for working with line tags.                                                |

## Namespaces

| Name                                                                | Description                                                                       |
| ------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [Yarn.Compiler.Upgrader](/2.1/api/csharp/yarn.compiler.upgrader.md) | Contains classes for upgrading Yarn code to more recent versions of the language. |

## Structs

| Name                                                                                  | Description                                                                                    |
| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| [CompilationJob](/2.1/api/csharp/yarn.compiler/yarn.compiler.compilationjob.md)       | An object that contains Yarn source code to compile, and instructions on how to compile it.    |
| [CompilationResult](/2.1/api/csharp/yarn.compiler/yarn.compiler.compilationresult.md) | The result of a compilation.                                                                   |
| [FileParseResult](/2.1/api/csharp/yarn.compiler/yarn.compiler.fileparseresult.md)     | Contains the result of parsing a single file of source code.                                   |
| [StringInfo](/2.1/api/csharp/yarn.compiler/yarn.compiler.stringinfo.md)               | Information about a string. Stored inside a string table, which is produced from the Compiler. |
