parser

package
v1.15.7 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2024 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 (*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
	TokenGroupDocument
	TokenGroupDocumentBody
	TokenGroupAnchor
	TokenGroupAnchorName
	TokenGroupAlias
	TokenGroupLiteral
	TokenGroupFolded
	TokenGroupScalarTag
	TokenGroupMapKey
	TokenGroupMapKeyValue
)

func (TokenGroupType) String

func (t TokenGroupType) String() string

Jump to

Keyboard shortcuts

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