parser

package
v0.0.0-...-bc2ff70 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var TokMap = token.NewTokenMap(
	[]string{
		"INVALID",
		"␚",
		"empty",
		";",
		"syntax",
		"=",
		"tok_literal",
		"package",
		"tok_identifier",
		"import",
		"enum",
		"{",
		"}",
		"tok_num",
		"option",
		"message",
		"map",
		"<",
		",",
		">",
		"repeated",
		"service",
		"rpc",
		"(",
		")",
		"returns",
		"tok_doc",
	},
	map[string]token.Type{
		"INVALID":        0,
		"␚":              1,
		"empty":          2,
		";":              3,
		"syntax":         4,
		"=":              5,
		"tok_literal":    6,
		"package":        7,
		"tok_identifier": 8,
		"import":         9,
		"enum":           10,
		"{":              11,
		"}":              12,
		"tok_num":        13,
		"option":         14,
		"message":        15,
		"map":            16,
		"<":              17,
		",":              18,
		">":              19,
		"repeated":       20,
		"service":        21,
		"rpc":            22,
		"(":              23,
		")":              24,
		"returns":        25,
		"tok_doc":        26,
	},
)

Functions

This section is empty.

Types

type Attrib

type Attrib interface {
}

type Context

type Context interface{}

Parser-specific user-defined and entirely-optional context, accessible as '$Context' in SDT actions.

type Parser

type Parser struct {
	Context Context
	// contains filtered or unexported fields
}

func NewParser

func NewParser() *Parser

func (*Parser) Error

func (p *Parser) Error(err error, scanner Scanner) (recovered bool, errorAttrib *parseError.Error)

func (*Parser) Parse

func (p *Parser) Parse(scanner Scanner) (res interface{}, err error)

func (*Parser) Reset

func (p *Parser) Reset()

type ProdTab

type ProdTab [numProductions]ProdTabEntry

type ProdTabEntry

type ProdTabEntry struct {
	String     string
	Id         string
	NTType     int
	Index      int
	NumSymbols int
	ReduceFunc func([]Attrib, interface{}) (Attrib, error)
}

type Scanner

type Scanner interface {
	Scan() (tok *token.Token)
}

Jump to

Keyboard shortcuts

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