Documentation ¶
Overview ¶
Example ¶
package main import ( "bramp.net/antlr4/csv" "fmt" "github.com/antlr/antlr4/runtime/Go/antlr" ) type exampleListener struct { *csv.BaseCSVListener } 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 := csv.NewCSVLexer(is) stream := antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel) // Create the Parser p := csv.NewCSVParser(stream) p.BuildParseTrees = true p.AddErrorListener(antlr.NewDiagnosticErrorListener(true)) // Finally walk the tree tree := p.CsvFile() antlr.ParseTreeWalkerDefault.Walk(&exampleListener{}, tree) }
Output:
Index ¶
- Constants
- type BaseCSVListener
- func (s *BaseCSVListener) EnterCsvFile(ctx *CsvFileContext)
- func (s *BaseCSVListener) EnterEveryRule(ctx antlr.ParserRuleContext)
- func (s *BaseCSVListener) EnterField(ctx *FieldContext)
- func (s *BaseCSVListener) EnterHdr(ctx *HdrContext)
- func (s *BaseCSVListener) EnterRow(ctx *RowContext)
- func (s *BaseCSVListener) ExitCsvFile(ctx *CsvFileContext)
- func (s *BaseCSVListener) ExitEveryRule(ctx antlr.ParserRuleContext)
- func (s *BaseCSVListener) ExitField(ctx *FieldContext)
- func (s *BaseCSVListener) ExitHdr(ctx *HdrContext)
- func (s *BaseCSVListener) ExitRow(ctx *RowContext)
- func (s *BaseCSVListener) VisitErrorNode(node antlr.ErrorNode)
- func (s *BaseCSVListener) VisitTerminal(node antlr.TerminalNode)
- type CSVLexer
- type CSVListener
- type CSVParser
- type CsvFileContext
- func (s *CsvFileContext) AllRow() []IRowContext
- func (s *CsvFileContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *CsvFileContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *CsvFileContext) GetParser() antlr.Parser
- func (s *CsvFileContext) GetRuleContext() antlr.RuleContext
- func (s *CsvFileContext) Hdr() IHdrContext
- func (*CsvFileContext) IsCsvFileContext()
- func (s *CsvFileContext) Row(i int) IRowContext
- func (s *CsvFileContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type FieldContext
- func (s *FieldContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *FieldContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *FieldContext) GetParser() antlr.Parser
- func (s *FieldContext) GetRuleContext() antlr.RuleContext
- func (*FieldContext) IsFieldContext()
- func (s *FieldContext) STRING() antlr.TerminalNode
- func (s *FieldContext) TEXT() antlr.TerminalNode
- func (s *FieldContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type HdrContext
- func (s *HdrContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *HdrContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *HdrContext) GetParser() antlr.Parser
- func (s *HdrContext) GetRuleContext() antlr.RuleContext
- func (*HdrContext) IsHdrContext()
- func (s *HdrContext) Row() IRowContext
- func (s *HdrContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
- type ICsvFileContext
- type IFieldContext
- type IHdrContext
- type IRowContext
- type RowContext
- func (s *RowContext) AllField() []IFieldContext
- func (s *RowContext) EnterRule(listener antlr.ParseTreeListener)
- func (s *RowContext) ExitRule(listener antlr.ParseTreeListener)
- func (s *RowContext) Field(i int) IFieldContext
- func (s *RowContext) GetParser() antlr.Parser
- func (s *RowContext) GetRuleContext() antlr.RuleContext
- func (*RowContext) IsRowContext()
- func (s *RowContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
Examples ¶
Constants ¶
const ( CSVLexerT__0 = 1 CSVLexerT__1 = 2 CSVLexerT__2 = 3 CSVLexerTEXT = 4 CSVLexerSTRING = 5 )
CSVLexer tokens.
const ( CSVParserEOF = antlr.TokenEOF CSVParserT__0 = 1 CSVParserT__1 = 2 CSVParserT__2 = 3 CSVParserTEXT = 4 CSVParserSTRING = 5 )
CSVParser tokens.
const ( CSVParserRULE_csvFile = 0 CSVParserRULE_hdr = 1 CSVParserRULE_row = 2 CSVParserRULE_field = 3 )
CSVParser rules.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseCSVListener ¶
type BaseCSVListener struct{}
BaseCSVListener is a complete listener for a parse tree produced by CSVParser.
func (*BaseCSVListener) EnterCsvFile ¶
func (s *BaseCSVListener) EnterCsvFile(ctx *CsvFileContext)
EnterCsvFile is called when production csvFile is entered.
func (*BaseCSVListener) EnterEveryRule ¶
func (s *BaseCSVListener) EnterEveryRule(ctx antlr.ParserRuleContext)
EnterEveryRule is called when any rule is entered.
func (*BaseCSVListener) EnterField ¶
func (s *BaseCSVListener) EnterField(ctx *FieldContext)
EnterField is called when production field is entered.
func (*BaseCSVListener) EnterHdr ¶
func (s *BaseCSVListener) EnterHdr(ctx *HdrContext)
EnterHdr is called when production hdr is entered.
func (*BaseCSVListener) EnterRow ¶
func (s *BaseCSVListener) EnterRow(ctx *RowContext)
EnterRow is called when production row is entered.
func (*BaseCSVListener) ExitCsvFile ¶
func (s *BaseCSVListener) ExitCsvFile(ctx *CsvFileContext)
ExitCsvFile is called when production csvFile is exited.
func (*BaseCSVListener) ExitEveryRule ¶
func (s *BaseCSVListener) ExitEveryRule(ctx antlr.ParserRuleContext)
ExitEveryRule is called when any rule is exited.
func (*BaseCSVListener) ExitField ¶
func (s *BaseCSVListener) ExitField(ctx *FieldContext)
ExitField is called when production field is exited.
func (*BaseCSVListener) ExitHdr ¶
func (s *BaseCSVListener) ExitHdr(ctx *HdrContext)
ExitHdr is called when production hdr is exited.
func (*BaseCSVListener) ExitRow ¶
func (s *BaseCSVListener) ExitRow(ctx *RowContext)
ExitRow is called when production row is exited.
func (*BaseCSVListener) VisitErrorNode ¶
func (s *BaseCSVListener) VisitErrorNode(node antlr.ErrorNode)
VisitErrorNode is called when an error node is visited.
func (*BaseCSVListener) VisitTerminal ¶
func (s *BaseCSVListener) VisitTerminal(node antlr.TerminalNode)
VisitTerminal is called when a terminal node is visited.
type CSVLexer ¶
func NewCSVLexer ¶
func NewCSVLexer(input antlr.CharStream) *CSVLexer
type CSVListener ¶
type CSVListener interface { antlr.ParseTreeListener // EnterCsvFile is called when entering the csvFile production. EnterCsvFile(c *CsvFileContext) // EnterHdr is called when entering the hdr production. EnterHdr(c *HdrContext) // EnterRow is called when entering the row production. EnterRow(c *RowContext) // EnterField is called when entering the field production. EnterField(c *FieldContext) // ExitCsvFile is called when exiting the csvFile production. ExitCsvFile(c *CsvFileContext) // ExitHdr is called when exiting the hdr production. ExitHdr(c *HdrContext) // ExitRow is called when exiting the row production. ExitRow(c *RowContext) // ExitField is called when exiting the field production. ExitField(c *FieldContext) }
CSVListener is a complete listener for a parse tree produced by CSVParser.
type CSVParser ¶
type CSVParser struct {
*antlr.BaseParser
}
func NewCSVParser ¶
func NewCSVParser(input antlr.TokenStream) *CSVParser
func (*CSVParser) CsvFile ¶
func (p *CSVParser) CsvFile() (localctx ICsvFileContext)
func (*CSVParser) Field ¶
func (p *CSVParser) Field() (localctx IFieldContext)
func (*CSVParser) Hdr ¶
func (p *CSVParser) Hdr() (localctx IHdrContext)
func (*CSVParser) Row ¶
func (p *CSVParser) Row() (localctx IRowContext)
type CsvFileContext ¶
type CsvFileContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewCsvFileContext ¶
func NewCsvFileContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *CsvFileContext
func NewEmptyCsvFileContext ¶
func NewEmptyCsvFileContext() *CsvFileContext
func (*CsvFileContext) AllRow ¶
func (s *CsvFileContext) AllRow() []IRowContext
func (*CsvFileContext) EnterRule ¶
func (s *CsvFileContext) EnterRule(listener antlr.ParseTreeListener)
func (*CsvFileContext) ExitRule ¶
func (s *CsvFileContext) ExitRule(listener antlr.ParseTreeListener)
func (*CsvFileContext) GetParser ¶
func (s *CsvFileContext) GetParser() antlr.Parser
func (*CsvFileContext) GetRuleContext ¶
func (s *CsvFileContext) GetRuleContext() antlr.RuleContext
func (*CsvFileContext) Hdr ¶
func (s *CsvFileContext) Hdr() IHdrContext
func (*CsvFileContext) IsCsvFileContext ¶
func (*CsvFileContext) IsCsvFileContext()
func (*CsvFileContext) Row ¶
func (s *CsvFileContext) Row(i int) IRowContext
func (*CsvFileContext) ToStringTree ¶
func (s *CsvFileContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type FieldContext ¶
type FieldContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyFieldContext ¶
func NewEmptyFieldContext() *FieldContext
func NewFieldContext ¶
func NewFieldContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *FieldContext
func (*FieldContext) EnterRule ¶
func (s *FieldContext) EnterRule(listener antlr.ParseTreeListener)
func (*FieldContext) ExitRule ¶
func (s *FieldContext) ExitRule(listener antlr.ParseTreeListener)
func (*FieldContext) GetParser ¶
func (s *FieldContext) GetParser() antlr.Parser
func (*FieldContext) GetRuleContext ¶
func (s *FieldContext) GetRuleContext() antlr.RuleContext
func (*FieldContext) IsFieldContext ¶
func (*FieldContext) IsFieldContext()
func (*FieldContext) STRING ¶
func (s *FieldContext) STRING() antlr.TerminalNode
func (*FieldContext) TEXT ¶
func (s *FieldContext) TEXT() antlr.TerminalNode
func (*FieldContext) ToStringTree ¶
func (s *FieldContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type HdrContext ¶
type HdrContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyHdrContext ¶
func NewEmptyHdrContext() *HdrContext
func NewHdrContext ¶
func NewHdrContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *HdrContext
func (*HdrContext) EnterRule ¶
func (s *HdrContext) EnterRule(listener antlr.ParseTreeListener)
func (*HdrContext) ExitRule ¶
func (s *HdrContext) ExitRule(listener antlr.ParseTreeListener)
func (*HdrContext) GetParser ¶
func (s *HdrContext) GetParser() antlr.Parser
func (*HdrContext) GetRuleContext ¶
func (s *HdrContext) GetRuleContext() antlr.RuleContext
func (*HdrContext) IsHdrContext ¶
func (*HdrContext) IsHdrContext()
func (*HdrContext) Row ¶
func (s *HdrContext) Row() IRowContext
func (*HdrContext) ToStringTree ¶
func (s *HdrContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string
type ICsvFileContext ¶
type ICsvFileContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsCsvFileContext differentiates from other interfaces. IsCsvFileContext() }
ICsvFileContext is an interface to support dynamic dispatch.
type IFieldContext ¶
type IFieldContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsFieldContext differentiates from other interfaces. IsFieldContext() }
IFieldContext is an interface to support dynamic dispatch.
type IHdrContext ¶
type IHdrContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsHdrContext differentiates from other interfaces. IsHdrContext() }
IHdrContext is an interface to support dynamic dispatch.
type IRowContext ¶
type IRowContext interface { antlr.ParserRuleContext // GetParser returns the parser. GetParser() antlr.Parser // IsRowContext differentiates from other interfaces. IsRowContext() }
IRowContext is an interface to support dynamic dispatch.
type RowContext ¶
type RowContext struct { *antlr.BaseParserRuleContext // contains filtered or unexported fields }
func NewEmptyRowContext ¶
func NewEmptyRowContext() *RowContext
func NewRowContext ¶
func NewRowContext(parser antlr.Parser, parent antlr.ParserRuleContext, invokingState int) *RowContext
func (*RowContext) AllField ¶
func (s *RowContext) AllField() []IFieldContext
func (*RowContext) EnterRule ¶
func (s *RowContext) EnterRule(listener antlr.ParseTreeListener)
func (*RowContext) ExitRule ¶
func (s *RowContext) ExitRule(listener antlr.ParseTreeListener)
func (*RowContext) Field ¶
func (s *RowContext) Field(i int) IFieldContext
func (*RowContext) GetParser ¶
func (s *RowContext) GetParser() antlr.Parser
func (*RowContext) GetRuleContext ¶
func (s *RowContext) GetRuleContext() antlr.RuleContext
func (*RowContext) IsRowContext ¶
func (*RowContext) IsRowContext()
func (*RowContext) ToStringTree ¶
func (s *RowContext) ToStringTree(ruleNames []string, recog antlr.Recognizer) string