# Yarn.Compiler Namespace

## Summary

Contains classes for compiling Yarn code.

## Classes

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

## Namespaces

| Name                                                                                         | Description                                                                       |
| -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [Yarn.Compiler.Upgrader](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.compiler.upgrader) | Contains classes for upgrading Yarn code to more recent versions of the language. |

## Structs

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