private void BuildProcedure() { Token variable = Take(TokenType.FunctionDefinition); Token name = Take(TokenType.Identifier); Take(TokenType.LeftSquigglyBracket); List <IStatement> statements = new List <IStatement>(); while (_currentToken.Type != TokenType.RightSquigglyBracket) { statements.Add(BuildStatement()); } _functionManager.AddNewFunction(name.Value, statements); Take(TokenType.RightSquigglyBracket); }