You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: awless-template-syntax.peg.go
    path of file: ./repos/awless/template/internal/ast
    
    the code of the file until where you have to start completion: package ast

import (
	"fmt"
	"math"
	"sort"
	"strconv"
)

const endSymbol rune = 1114112

/* The rule types inferred from the grammar are below. */
type pegRule uint8

const (
	ruleUnknown pegRule = iota
	ruleScript
	ruleStatement
	ruleAction
	ruleEntity
	ruleDeclaration
	ruleValueExpr
	ruleCmdExpr
	ruleParams
	ruleParam
	ruleIdentifier
	ruleCompositeValue
	ruleListValue
	ruleListWithoutSquareBrackets
	ruleNoRefValue
	ruleValue
	ruleCustomTypedValue
	ruleUnquotedParamValue
	ruleUnquotedParam
	ruleConcatenationValue
	ruleQuotedStringValue
	ruleQuotedStri
    
func (p *Peg) Execute() {
	buffer, _buffer, text, begin, end := p.Buffer, p.buffer, "", 0, 0
	for _, token := range p.Tokens() {
		switch token.pegRule {

		case rulePegText:
			begin, end = int(token.begin), int(token.end)
			text = string(_buffer[begin:end])

		case ruleAction0:
			p.NewStatement()
		case ruleAction1:
			p.StatementDone()
		case ruleAction2:
			p.addDeclarationIdentifier(text)
		case ruleAction3:
			p.addValue()
		case ruleAction4:
			p.addAction(text)
		case ruleAction5:
			p.addEntity(text)
		case ruleAction6:
			p.addParamKey(text)
		case ruleAction7:
			p.addFirstValueInList()
		case ruleAction8:
			p.lastValueInList()
		case ruleAction9:
			p.addFirstValueInList()
		case ruleAction10:
			p.lastValueInList()
		case ruleAction11:
			p.addAliasParam(text)
		case ruleAction12:
			p.addParamRefValue(text)
		case ruleAction13:
			p.addParamValue(text)
		case ruleAction14:
			p.addParamValue(text)
		case ruleAction15:
			p.addFirstValueInConcatenation()
		case ruleAction16:
			p.lastValueInConcatenation()
		case ruleAction17:
			p.addFirstValueInConcatenation()
		case ruleAction18:
			p.lastValueInConcatenation()
		case ruleAction19:
			p.addStringValue(text)
		case ruleAction20:
			p.addParamHoleValue(text)
		case ruleAction21:
			p.addFirstValueInConcatenation()
		case ruleAction22:
			p.lastValueInConcatenation()
		case ruleAction23:
			p.addFirstValueInConcatenation()
		case ruleAction24:
			p.lastValueInConcatenation()

		}
	}
	_, _, _, _, _ = buffer, _buffer, text, begin, end
}