Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Generator ¶
type Generator interface { // Data handlers AddField(comment []string, name string, t antlr.Token, fieldType string) error RegGravity(name string) error // Pass PassN(n int) error PassHeadCharacters(char string) error // AtEnd() error // Head HeadString(anchor string, ignore bool, pass bool) error HeadChar(char string, ignore bool, pass bool) error // Lookups LookupString(anchor string, lower, upper int, close, ignore, pass bool) error LookupFixedString(anchor string, offset int, ignore, pass bool) error LookupChar(anchor string, lower, upper int, close, ignore, pass bool) error LookupFixedChar(anchor string, offset int, ignore, pass bool) error // Takes // Take before anchor (string or character) TakeBeforeString(name, fieldType, anchor string, meta ast.FieldMeta, lower, upper int, close, expand, include bool) error TakeBeforeChar(name, fieldType, char string, meta ast.FieldMeta, lower, upper int, close, expand, include bool) error TakeBeforeStringOnExactPosition(name, fieldType, anchor string, meta ast.FieldMeta, off int, close, expand, include bool) error TakeBeforeCharOnExactPosition(name, fieldType, anchor string, meta ast.FieldMeta, off int, close, expand, include bool) error // Take the rest TakeRest(name, fieldType string, meta ast.FieldMeta) error // RestLengthCheck how many symbols left in the rest RestLengthCheck(operator string, length int) error // Optionals OpenOptionalScope(comment []string, name string, t antlr.Token) error CloseOptionalScope() error OpenSilentOptionalScope(comment []string, name string, t antlr.Token) error CloseSilentOptionalScope() error // Stress set mismatch treatment as critical error Stress() // Relax set mismatch error as not critical Relax() // UseRule ... UseRule(comment []string, t antlr.Token, name string) error // Push is used to signal all the data for current parser was generated Push() error // Generate code at the place Generate(pkgName string, dest io.Writer) error ErrorToken(token antlr.Token, format string, params ...interface{}) error // PlatformType to generate code for PlatformType(t PlatformType) // RegImport go-specific thing for import registration RegImport(importAs, path string) error }
Generator describes methods needed of data lookup and extraction
type PlatformType ¶
type PlatformType int
PlatformType is used to point what platform to generate code for
const ( // Universal for universally compatible code generation Universal PlatformType = iota // LittleEndian is for little endian architecture code generation LittleEndian // BigEndian is for big endian architecture code generation BigEndian )
Click to show internal directories.
Click to hide internal directories.