# Compiler

Class in [Yarn.Compiler](https://docs.yarnspinner.dev/2.1/api/csharp/yarn.compiler)

Inherits from `Yarn.Compiler.YarnSpinnerParserBaseListener`

## Summary

Compiles Yarn code.

```csharp
public class Compiler : YarnSpinnerParserBaseListener
```

## Methods

| Name                                                                                                                                                                                         | Description                                                                                                                                                                        |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Compile(CompilationJob)](https://docs.yarnspinner.dev/2.1/api/csharp/yarn.compiler/yarn.compiler.compiler/yarn.compiler.compiler.compile)                                                   | Compiles Yarn code, as specified by a compilation job.                                                                                                                             |
| [FlattenParseTree(IParseTree)](https://docs.yarnspinner.dev/2.1/api/csharp/yarn.compiler/yarn.compiler.compiler/yarn.compiler.compiler.flattenparsetree)                                     | Flattens a tree of `Antlr4.Runtime.Tree.IParseTree` objects by recursively visiting their children, and converting them into a flat ``System.Collections.Generic.IEnumerable`1`` . |
| [GetDocumentComments(CommonTokenStream,ParserRuleContext,bool)](https://docs.yarnspinner.dev/2.1/api/csharp/yarn.compiler/yarn.compiler.compiler/yarn.compiler.compiler.getdocumentcomments) | Gets the text of the documentation comments that either immediately precede `context` , or are on the same line as `context` .                                                     |
| [GetLineIDForNodeName(string)](https://docs.yarnspinner.dev/2.1/api/csharp/yarn.compiler/yarn.compiler.compiler/yarn.compiler.compiler.getlineidfornodename)                                 |                                                                                                                                                                                    |
