parser

package
v0.0.0-...-5dfaa0e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parse

func Parse(tokens token.Tokens, mode Mode, opts ...Option) (*ast.File, error)

Parse parse from token instances, and returns ast.File

func ParseBytes

func ParseBytes(bytes []byte, mode Mode, opts ...Option) (*ast.File, error)

ParseBytes parse from byte slice, and returns ast.File

func ParseFile

func ParseFile(filename string, mode Mode, opts ...Option) (*ast.File, error)

Parse parse from filename, and returns ast.File

Types

type Mode

type Mode uint
const (
	ParseComments Mode = 1 << iota // parse comments and add them to AST
)

type Option

type Option func(p *parser)

Option represents parser's option.

func AllowDuplicateMapKey

func AllowDuplicateMapKey() Option

AllowDuplicateMapKey allow the use of keys with the same name in the same map, but by default, this is not permitted.

type Token

type Token struct {
	Token       *token.Token
	Group       *TokenGroup
	LineComment *token.Token
}

func CreateGroupedTokens

func CreateGroupedTokens(tokens token.Tokens) ([]*Token, error)

func (*Token) Column

func (t *Token) Column() int

func (*Token) Dump

func (t *Token) Dump()

func (*Token) GroupType

func (t *Token) GroupType() TokenGroupType

func (*Token) Line

func (t *Token) Line() int

func (*Token) RawToken

func (t *Token) RawToken() *token.Token

func (*Token) SetGroupType

func (t *Token) SetGroupType(typ TokenGroupType)

func (*Token) Type

func (t *Token) Type() token.Type

type TokenGroup

type TokenGroup struct {
	Type   TokenGroupType
	Tokens []*Token
}

func (*TokenGroup) Column

func (g *TokenGroup) Column() int

func (*TokenGroup) First

func (g *TokenGroup) First() *Token

func (*TokenGroup) Last

func (g *TokenGroup) Last() *Token

func (*TokenGroup) Line

func (g *TokenGroup) Line() int

func (*TokenGroup) RawToken

func (g *TokenGroup) RawToken() *token.Token

func (*TokenGroup) TokenType

func (g *TokenGroup) TokenType() token.Type

type TokenGroupType

type TokenGroupType int
const (
	TokenGroupNone TokenGroupType = iota
	TokenGroupDirective
	TokenGroupDirectiveName
	TokenGroupDocument
	TokenGroupDocumentBody
	TokenGroupAnchor
	TokenGroupAnchorName
	TokenGroupAlias
	TokenGroupLiteral
	TokenGroupFolded
	TokenGroupScalarTag
	TokenGroupMapKey
	TokenGroupMapKeyValue
)

func (TokenGroupType) String

func (t TokenGroupType) String() string

type YAMLVersion

type YAMLVersion string
const (
	YAML10 YAMLVersion = "1.0"
	YAML11 YAMLVersion = "1.1"
	YAML12 YAMLVersion = "1.2"
	YAML13 YAMLVersion = "1.3"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL