sexpression

package
v0.0.0-...-4c43aeb Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Example
package main

import (
	"bramp.net/antlr4/sexpression"

	"fmt"
	"github.com/antlr/antlr4/runtime/Go/antlr"
)

type exampleListener struct {
	*sexpression.BasesexpressionListener
}

func (l *exampleListener) EnterEveryRule(ctx antlr.ParserRuleContext) {
	fmt.Println(ctx.GetText())
}
func main() {
	// Setup the input
	is := antlr.NewInputStream("...some text to parse...")

	// Create the Lexer
	lexer := sexpression.NewsexpressionLexer(is)
	stream := antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel)

	// Create the Parser
	p := sexpression.NewsexpressionParser(stream)
	p.BuildParseTrees = true
	p.AddErrorListener(antlr.NewDiagnosticErrorListener(true))

	// Finally walk the tree
	tree := p.Sexpr()
	antlr.ParseTreeWalkerDefault.Walk(&exampleListener{}, tree)
}
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewsexpressionLexer

func NewsexpressionLexer(input antlr.CharStream) *sexpressionLexer

func NewsexpressionParser

func NewsexpressionParser(input antlr.TokenStream) *sexpressionParser

Types

type AtomContext

type AtomContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewAtomContext

func NewAtomContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *AtomContext

func NewEmptyAtomContext

func NewEmptyAtomContext() *AtomContext

func (*AtomContext) DOT

func (s *AtomContext) DOT() antlr.TerminalNode

func (*AtomContext) EnterRule

func (s *AtomContext) EnterRule(listener antlr.ParseTreeListener)

func (*AtomContext) ExitRule

func (s *AtomContext) ExitRule(listener antlr.ParseTreeListener)

func (*AtomContext) GetParser

func (s *AtomContext) GetParser() antlr.Parser

func (*AtomContext) GetRuleContext

func (s *AtomContext) GetRuleContext() antlr.RuleContext

func (*AtomContext) IsAtomContext

func (*AtomContext) IsAtomContext()

func (*AtomContext) NUMBER

func (s *AtomContext) NUMBER() antlr.TerminalNode

func (*AtomContext) STRING

func (s *AtomContext) STRING() antlr.TerminalNode

func (*AtomContext) SYMBOL

func (s *AtomContext) SYMBOL() antlr.TerminalNode

func (*AtomContext) ToStringTree

func (s *AtomContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

type BasesexpressionListener

type BasesexpressionListener struct{}

BasesexpressionListener is a complete listener for a parse tree produced by sexpressionParser.

func (*BasesexpressionListener) EnterAtom

func (s *BasesexpressionListener) EnterAtom(ctx *AtomContext)

EnterAtom is called when production atom is entered.

func (*BasesexpressionListener) EnterEveryRule

func (s *BasesexpressionListener) EnterEveryRule(ctx antlr.ParserRuleContext)

EnterEveryRule is called when any rule is entered.

func (*BasesexpressionListener) EnterItem

func (s *BasesexpressionListener) EnterItem(ctx *ItemContext)

EnterItem is called when production item is entered.

func (*BasesexpressionListener) EnterList

func (s *BasesexpressionListener) EnterList(ctx *ListContext)

EnterList is called when production list is entered.

func (*BasesexpressionListener) EnterSexpr

func (s *BasesexpressionListener) EnterSexpr(ctx *SexprContext)

EnterSexpr is called when production sexpr is entered.

func (*BasesexpressionListener) ExitAtom

func (s *BasesexpressionListener) ExitAtom(ctx *AtomContext)

ExitAtom is called when production atom is exited.

func (*BasesexpressionListener) ExitEveryRule

func (s *BasesexpressionListener) ExitEveryRule(ctx antlr.ParserRuleContext)

ExitEveryRule is called when any rule is exited.

func (*BasesexpressionListener) ExitItem

func (s *BasesexpressionListener) ExitItem(ctx *ItemContext)

ExitItem is called when production item is exited.

func (*BasesexpressionListener) ExitList

func (s *BasesexpressionListener) ExitList(ctx *ListContext)

ExitList is called when production list is exited.

func (*BasesexpressionListener) ExitSexpr

func (s *BasesexpressionListener) ExitSexpr(ctx *SexprContext)

ExitSexpr is called when production sexpr is exited.

func (*BasesexpressionListener) VisitErrorNode

func (s *BasesexpressionListener) VisitErrorNode(node antlr.ErrorNode)

VisitErrorNode is called when an error node is visited.

func (*BasesexpressionListener) VisitTerminal

func (s *BasesexpressionListener) VisitTerminal(node antlr.TerminalNode)

VisitTerminal is called when a terminal node is visited.

type IAtomContext

type IAtomContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsAtomContext differentiates from other interfaces.
	IsAtomContext()
}

IAtomContext is an interface to support dynamic dispatch.

type IItemContext

type IItemContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsItemContext differentiates from other interfaces.
	IsItemContext()
}

IItemContext is an interface to support dynamic dispatch.

type IListContext

type IListContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsListContext differentiates from other interfaces.
	IsListContext()
}

IListContext is an interface to support dynamic dispatch.

type ISexprContext

type ISexprContext interface {
	antlr.ParserRuleContext

	// GetParser returns the parser.
	GetParser() antlr.Parser

	// IsSexprContext differentiates from other interfaces.
	IsSexprContext()
}

ISexprContext is an interface to support dynamic dispatch.

type ItemContext

type ItemContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewEmptyItemContext

func NewEmptyItemContext() *ItemContext

func NewItemContext

func NewItemContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ItemContext

func (*ItemContext) AllItem

func (s *ItemContext) AllItem() []IItemContext

func (*ItemContext) Atom

func (s *ItemContext) Atom() IAtomContext

func (*ItemContext) DOT

func (s *ItemContext) DOT() antlr.TerminalNode

func (*ItemContext) EnterRule

func (s *ItemContext) EnterRule(listener antlr.ParseTreeListener)

func (*ItemContext) ExitRule

func (s *ItemContext) ExitRule(listener antlr.ParseTreeListener)

func (*ItemContext) GetParser

func (s *ItemContext) GetParser() antlr.Parser

func (*ItemContext) GetRuleContext

func (s *ItemContext) GetRuleContext() antlr.RuleContext

func (*ItemContext) IsItemContext

func (*ItemContext) IsItemContext()

func (*ItemContext) Item

func (s *ItemContext) Item(i int) IItemContext

func (*ItemContext) LPAREN

func (s *ItemContext) LPAREN() antlr.TerminalNode

func (*ItemContext) List

func (s *ItemContext) List() IListContext

func (*ItemContext) RPAREN

func (s *ItemContext) RPAREN() antlr.TerminalNode

func (*ItemContext) ToStringTree

func (s *ItemContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

type ListContext

type ListContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewEmptyListContext

func NewEmptyListContext() *ListContext

func NewListContext

func NewListContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *ListContext

func (*ListContext) AllItem

func (s *ListContext) AllItem() []IItemContext

func (*ListContext) EnterRule

func (s *ListContext) EnterRule(listener antlr.ParseTreeListener)

func (*ListContext) ExitRule

func (s *ListContext) ExitRule(listener antlr.ParseTreeListener)

func (*ListContext) GetParser

func (s *ListContext) GetParser() antlr.Parser

func (*ListContext) GetRuleContext

func (s *ListContext) GetRuleContext() antlr.RuleContext

func (*ListContext) IsListContext

func (*ListContext) IsListContext()

func (*ListContext) Item

func (s *ListContext) Item(i int) IItemContext

func (*ListContext) LPAREN

func (s *ListContext) LPAREN() antlr.TerminalNode

func (*ListContext) RPAREN

func (s *ListContext) RPAREN() antlr.TerminalNode

func (*ListContext) ToStringTree

func (s *ListContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

type SexprContext

type SexprContext struct {
	*antlr.BaseParserRuleContext
	// contains filtered or unexported fields
}

func NewEmptySexprContext

func NewEmptySexprContext() *SexprContext

func NewSexprContext

func NewSexprContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *SexprContext

func (*SexprContext) AllItem

func (s *SexprContext) AllItem() []IItemContext

func (*SexprContext) EOF

func (s *SexprContext) EOF() antlr.TerminalNode

func (*SexprContext) EnterRule

func (s *SexprContext) EnterRule(listener antlr.ParseTreeListener)

func (*SexprContext) ExitRule

func (s *SexprContext) ExitRule(listener antlr.ParseTreeListener)

func (*SexprContext) GetParser

func (s *SexprContext) GetParser() antlr.Parser

func (*SexprContext) GetRuleContext

func (s *SexprContext) GetRuleContext() antlr.RuleContext

func (*SexprContext) IsSexprContext

func (*SexprContext) IsSexprContext()

func (*SexprContext) Item

func (s *SexprContext) Item(i int) IItemContext

func (*SexprContext) ToStringTree

func (s *SexprContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string

Jump to

Keyboard shortcuts

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