Documentation
¶
Index ¶
- type Builder
- type FileFetcher
- type Grammar
- type Position
- type PositionApplication
- type PositionApplicationBuilder
- type PositionBuilder
- type RawToken
- type RawTokenBuilder
- type RepetitiveRuleNode
- type RepetitiveRuleNodeBuilder
- type ReplacementToken
- type ReplacementTokenAdapter
- type ReplacementTokenBuilder
- type Repository
- type RepositoryBuilder
- type RetrieverCriteria
- type RetrieverCriteriaBuilder
- type RetrieverCriteriaRepository
- type RetrieverCriteriaRepositoryBuilder
- type Rule
- type RuleAdapter
- type RuleBuilder
- type RuleNode
- type RuleNodeBuilder
- type RuleSection
- type RuleSectionBuilder
- type RuleTree
- type RuleTreeAdapter
- type RuleTreeBuilder
- type Token
- type TokenBlock
- type TokenBlockBuilder
- type TokenBlocks
- type TokenBlocksBuilder
- type TokenBuilder
- type TokenRule
- type TokenRuleBuilder
- type TokenSection
- type TokenSectionBuilder
- type Tokens
- type TokensAdapter
- type TokensBuilder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Builder ¶
type Builder interface { Create() Builder WithName(name string) Builder WithRoot(root string) Builder WithChannels(channels Tokens) Builder WithTokens(tokens Tokens) Builder WithRules(rules []Rule) Builder WithSubGrammars(grammars map[string]Grammar) Builder WithGrammar(gr Grammar) Builder Now() (Grammar, error) }
Builder represents a grammar builder
type FileFetcher ¶
FileFetcher is a func that fetches daa from file
type Grammar ¶
type Grammar interface { Name() string Root() string RootToken() Token Rules() map[string]Rule HasTokens() bool Tokens() Tokens HasChannels() bool Channels() Tokens HasSubGrammars() bool SubGrammars() map[string]Grammar FetchByName(name string) (Grammar, error) }
Grammar represents the grammar
type PositionApplication ¶
PositionApplication represents a position application
type PositionApplicationBuilder ¶
type PositionApplicationBuilder interface { Create() PositionApplicationBuilder WithGrammar(grammar Grammar) PositionApplicationBuilder Now() (PositionApplication, error) }
PositionApplicationBuilder represents a positionApplication builder
type PositionBuilder ¶
type PositionBuilder interface { Create() PositionBuilder From(from int) PositionBuilder To(to int) PositionBuilder Now() (Position, error) }
PositionBuilder represents a position builder
type RawToken ¶
type RawToken interface { Name() string Value() string Reference() string Code() string Index() int Grammar() string }
RawToken represents a raw token
type RawTokenBuilder ¶
type RawTokenBuilder interface { Create() RawTokenBuilder WithName(name string) RawTokenBuilder WithValue(value string) RawTokenBuilder WithCode(code string) RawTokenBuilder WithIndex(index int) RawTokenBuilder WithGrammar(grammar string) RawTokenBuilder Now() (RawToken, error) }
RawTokenBuilder represents a rawToken builder
type RepetitiveRuleNode ¶
type RepetitiveRuleNode interface { HasRecursiveName() bool RecursiveName() string HasNode() bool Node() RuleNode IsMultipleMandatory() bool IsMultipleOptional() bool IsOptional() bool SetNode(node RuleNode) }
RepetitiveRuleNode represents a repetitive rule node
type RepetitiveRuleNodeBuilder ¶
type RepetitiveRuleNodeBuilder interface { Create() RepetitiveRuleNodeBuilder WithNode(node RuleNode) RepetitiveRuleNodeBuilder WithRecursiveName(recursiveName string) RepetitiveRuleNodeBuilder IsMultipleMandatory() RepetitiveRuleNodeBuilder IsMultipleOptional() RepetitiveRuleNodeBuilder IsOptional() RepetitiveRuleNodeBuilder Now() (RepetitiveRuleNode, error) }
RepetitiveRuleNodeBuilder represents a repetitiveRuleNode builder
type ReplacementToken ¶
ReplacementToken represents a replacement token
type ReplacementTokenAdapter ¶
type ReplacementTokenAdapter interface {
ToReplacementTokens(script string, pattern string) ([]ReplacementToken, error)
}
ReplacementTokenAdapter represents a replacement token adapter
type ReplacementTokenBuilder ¶
type ReplacementTokenBuilder interface { Create() ReplacementTokenBuilder WithToGrammar(toGrammar string) ReplacementTokenBuilder WithFromToken(toToken string) ReplacementTokenBuilder Now() (ReplacementToken, error) }
ReplacementTokenBuilder represents a replacement token builder
type Repository ¶
type Repository interface { Retrieve(criteria RetrieverCriteria) (Grammar, error) RetrieveFromFile(rootPattern string, name string, filePath string) (Grammar, error) }
Repository represents a grammar repository
type RepositoryBuilder ¶
type RepositoryBuilder interface { Create() RepositoryBuilder WithFileFetcher(fileFetcher FileFetcher) RepositoryBuilder Now() (Repository, error) }
RepositoryBuilder represents a repository builder
func NewRepositoryBuilder ¶
func NewRepositoryBuilder() RepositoryBuilder
NewRepositoryBuilder creates a new repository builder
type RetrieverCriteria ¶
type RetrieverCriteria interface { Name() string Root() string BaseDirPath() string TokensPath() string RulesPath() string HasChannelsPath() bool ChannelsPath() string HasExtends() bool Extends() map[string]RetrieverCriteria }
RetrieverCriteria represents a repository retriever criteria
type RetrieverCriteriaBuilder ¶
type RetrieverCriteriaBuilder interface { Create() RetrieverCriteriaBuilder WithName(name string) RetrieverCriteriaBuilder WithRoot(root string) RetrieverCriteriaBuilder WithBaseDirPath(baseDirPath string) RetrieverCriteriaBuilder WithTokensPath(tokensPath string) RetrieverCriteriaBuilder WithChannelsPath(channelsPath string) RetrieverCriteriaBuilder WithRulesPath(rulesPath string) RetrieverCriteriaBuilder WithExtends(extends []RetrieverCriteria) RetrieverCriteriaBuilder Now() (RetrieverCriteria, error) }
RetrieverCriteriaBuilder represents the retriever criteria builder
func NewRetrieverCriteriaBuilder ¶
func NewRetrieverCriteriaBuilder() RetrieverCriteriaBuilder
NewRetrieverCriteriaBuilder returns a new RetrieverCriteria builder
type RetrieverCriteriaRepository ¶
type RetrieverCriteriaRepository interface {
Retrieve(filePath string) (RetrieverCriteria, error)
}
RetrieverCriteriaRepository represents a retrieverRetrieverCriteria repository
type RetrieverCriteriaRepositoryBuilder ¶
type RetrieverCriteriaRepositoryBuilder interface { Create() RetrieverCriteriaRepositoryBuilder WithName(name string) RetrieverCriteriaRepositoryBuilder WithRoot(root string) RetrieverCriteriaRepositoryBuilder WithFileFetcher(fileFetcher FileFetcher) RetrieverCriteriaRepositoryBuilder Now() (RetrieverCriteriaRepository, error) }
RetrieverCriteriaRepositoryBuilder represents a retrieverCriteriaRepository builder
func NewRetrieverCriteriaRepositoryBuilder ¶
func NewRetrieverCriteriaRepositoryBuilder() RetrieverCriteriaRepositoryBuilder
NewRetrieverCriteriaRepositoryBuilder returns a new NewRetrieverCriteriaRepository builder
type Rule ¶
type Rule interface { FindFirst(str string) (string, bool, error) FindConsecutives(str string) (string, bool, error) Name() string Sections() []RuleSection Index() int }
Rule represents a rule
type RuleAdapter ¶
RuleAdapter represents a rule adapter
type RuleBuilder ¶
type RuleBuilder interface { Create() RuleBuilder WithName(name string) RuleBuilder WithSections(sections []RuleSection) RuleBuilder Now() (Rule, error) }
RuleBuilder represents a rule builder
type RuleNode ¶
type RuleNode interface { HasRule() bool Rule() Rule HasLeaf() bool Leaf() RuleTree ResetLeaf(leaf RuleTree) }
RuleNode represents a rule node
type RuleNodeBuilder ¶
type RuleNodeBuilder interface { Create() RuleNodeBuilder WithRule(rule Rule) RuleNodeBuilder WithLeaf(leaf RuleTree) RuleNodeBuilder Now() (RuleNode, error) }
RuleNodeBuilder represents a RuleNode builder
type RuleSection ¶
type RuleSection interface { FindFirst(str string) (string, error) HasConstant() bool Constant() RawToken HasPattern() bool Pattern() RawToken }
RuleSection represents a rule section
type RuleSectionBuilder ¶
type RuleSectionBuilder interface { Create() RuleSectionBuilder WithConstant(constant RawToken) RuleSectionBuilder WithPattern(pattern RawToken) RuleSectionBuilder Now() (RuleSection, error) }
RuleSectionBuilder represents a ruleSection builder
type RuleTree ¶
type RuleTree interface { Token() Token Nodes() [][]RepetitiveRuleNode Grammar() Grammar ResetNodeAtIndex(i int, j int, newNode RepetitiveRuleNode) error }
RuleTree represents a rule tree
type RuleTreeAdapter ¶
RuleTreeAdapter represents a RuleTree adapter
func NewRuleTreeAdapter ¶
func NewRuleTreeAdapter() RuleTreeAdapter
NewRuleTreeAdapter creates a new RuleTreeAdapter instance
type RuleTreeBuilder ¶
type RuleTreeBuilder interface { Create() RuleTreeBuilder WithToken(token Token) RuleTreeBuilder WithNodes(nodes [][]RepetitiveRuleNode) RuleTreeBuilder WithGrammar(grammar Grammar) RuleTreeBuilder WithChildren(children map[string]RuleTree) RuleTreeBuilder Now() (RuleTree, error) }
RuleTreeBuilder represents a RuleTree builder
type Token ¶
type Token interface { Name() string Blocks() []TokenBlocks SubTokenNames() []string SetName(name string) }
Token represents a token
type TokenBlock ¶
type TokenBlock interface { Section() TokenSection HasOptional() bool Optional() RawToken HasMultipleOptional() bool MultipleOptional() RawToken HasMultipleMandatory() bool MultipleMandatory() RawToken }
TokenBlock represents a tokenBlock
type TokenBlockBuilder ¶
type TokenBlockBuilder interface { Create() TokenBlockBuilder WithSection(section TokenSection) TokenBlockBuilder WithOptional(optional RawToken) TokenBlockBuilder WithMultipleOptional(multipleOptional RawToken) TokenBlockBuilder WithMultipleMandatory(multipleMandatory RawToken) TokenBlockBuilder Now() (TokenBlock, error) }
TokenBlockBuilder represents a tokenBlock builder
type TokenBlocks ¶
type TokenBlocks interface { Get() []TokenBlock SubTokenNames() []string RulesToken() ([]Rule, string) }
TokenBlocks represents a tokenBlocks
type TokenBlocksBuilder ¶
type TokenBlocksBuilder interface { Create() TokenBlocksBuilder WithRules(rules []TokenRule) TokenBlocksBuilder WithTokens(tokens []RawToken) TokenBlocksBuilder WithOptionals(optionals []RawToken) TokenBlocksBuilder WithMultipleOptionals(multipleOptionals []RawToken) TokenBlocksBuilder WithMultipleMandatories(multipleMandatories []RawToken) TokenBlocksBuilder Now() (TokenBlocks, error) }
TokenBlocksBuilder represents a tokenBlocks builder
type TokenBuilder ¶
type TokenBuilder interface { Create() TokenBuilder WithName(name string) TokenBuilder WithBlocks(blocks []TokenBlocks) TokenBuilder Now() (Token, error) }
TokenBuilder represents a token builder
type TokenRuleBuilder ¶
type TokenRuleBuilder interface { Create() TokenRuleBuilder WithRule(rule Rule) TokenRuleBuilder WithRawToken(rawToken RawToken) TokenRuleBuilder Now() (TokenRule, error) }
TokenRuleBuilder represents a tokenRule builder
type TokenSection ¶
type TokenSection interface { HasRule() bool Rule() TokenRule HasToken() bool Token() RawToken NextRuleToken() (Rule, string) }
TokenSection represents a token section
type TokenSectionBuilder ¶
type TokenSectionBuilder interface { Create() TokenSectionBuilder WithRule(rule TokenRule) TokenSectionBuilder WithToken(token RawToken) TokenSectionBuilder Now() (TokenSection, error) }
TokenSectionBuilder represents a tokenSection builder
type Tokens ¶
type Tokens interface { Tokens() map[string]Token Replace(tok Token) Tokens HasReplacements() bool Replacements() []ReplacementToken }
Tokens represents tokens
type TokensAdapter ¶
type TokensAdapter interface {
ToTokens(script string, tokenPattern string, replacementTokenPattern string, grammarName string, extends map[string]Grammar, rules []Rule) (Tokens, error)
}
TokensAdapter represents a tokens adapter
type TokensBuilder ¶
type TokensBuilder interface { Create() TokensBuilder WithTokens(tokens map[string]Token) TokensBuilder WithReplacements(replacements []ReplacementToken) TokensBuilder Now() (Tokens, error) }
TokensBuilder represents a tokens builder
Source Files
¶
- builder.go
- grammar.go
- rawtoken.go
- rawtoken_builder.go
- repetitiverulenode.go
- repetitiverulenode_builder.go
- replacementtoken.go
- replacementtoken_adapter.go
- replacementtoken_builder.go
- repository.go
- repository_builder.go
- retrievercriteria.go
- retrievercriteria_builder.go
- retrievercriteria_repository.go
- retrievercriteria_repository_builder.go
- rule.go
- rule_adapter.go
- rule_builder.go
- rulenode.go
- rulenode_builder.go
- rulesection.go
- rulesection_builder.go
- ruletree.go
- ruletree_adapter.go
- ruletree_builder.go
- sdk.go
- token.go
- token_builder.go
- tokenblock.go
- tokenblock_builder.go
- tokenblocks.go
- tokenblocks_builder.go
- tokenrule.go
- tokenrule_builder.go
- tokens.go
- tokens_adapter.go
- tokens_builder.go
- tokensection.go
- tokensection_builder.go