Documentation
¶
Index ¶
- func GenerateSkel(mod *ModuleNode, pkgName string) string
- func GenerateStub(mod *ModuleNode, pkgName string) string
- func GenerateTypes(mod *ModuleNode, pkgName string) string
- type ASTNode
- type EnumNode
- type ExceptionNode
- type FieldNode
- type GenContext
- type InterfaceNode
- type Lexer
- type ModuleNode
- type OperationNode
- type ParameterNode
- type Parser
- type StructNode
- type Token
- type TokenType
- type TypedefNode
- type UnionCaseNode
- type UnionNode
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateSkel ¶
func GenerateSkel(mod *ModuleNode, pkgName string) string
GenerateSkel generates server skeleton code for all interfaces.
func GenerateStub ¶
func GenerateStub(mod *ModuleNode, pkgName string) string
GenerateStub generates client stub code for all interfaces.
func GenerateTypes ¶
func GenerateTypes(mod *ModuleNode, pkgName string) string
GenerateTypes generates type definitions, enums, structs, unions, exceptions, and interface definitions (without stub/skeleton implementations).
Types ¶
type ExceptionNode ¶
type GenContext ¶
type GenContext struct {
ModName string
Structs map[string]*StructNode
Typedefs map[string]*TypedefNode
Enums map[string]*EnumNode
Unions map[string]*UnionNode
Exceptions map[string]*ExceptionNode
}
type InterfaceNode ¶
type InterfaceNode struct {
Name string
Operations []*OperationNode
}
type ModuleNode ¶
type ModuleNode struct {
Name string
Typedefs []*TypedefNode
Enums []*EnumNode
Unions []*UnionNode
Exceptions []*ExceptionNode
Structs []*StructNode
Interfaces []*InterfaceNode
}
type OperationNode ¶
type OperationNode struct {
Name string
ReturnType string
Parameters []*ParameterNode
}
type ParameterNode ¶
type Parser ¶
type Parser struct {
// contains filtered or unexported fields
}
func (*Parser) Parse ¶
func (p *Parser) Parse() (*ModuleNode, error)
type StructNode ¶
type TokenType ¶
type TokenType int
const ( TokenEOF TokenType = iota TokenIdent TokenModule TokenStruct TokenTypedef TokenEnum TokenUnion TokenSwitch TokenCase TokenDefault TokenException TokenRaises TokenObject TokenVoid TokenInterface TokenIn TokenOut TokenInout TokenSequence TokenAny TokenOctet TokenLBrace // { TokenRBrace // } TokenLParen // ( TokenRParen // ) TokenLAngle // < TokenRAngle // > TokenSemi // ; TokenComma // , TokenColon // : )
type TypedefNode ¶
type UnionCaseNode ¶
type UnionNode ¶
type UnionNode struct {
Name string
SwitchType string
Cases []*UnionCaseNode
}
Click to show internal directories.
Click to hide internal directories.