transpiler

package
v0.0.0-...-a1a6cd4 Latest Latest
Warning

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

Go to latest
Published: Jul 19, 2022 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Transpile

func Transpile(config *core.TranspileFunctionConfig) (string, error)

Types

type Define

type Define struct {
	Name       string
	IsFunction bool
	Args       []string

	Content string
}

type Preprocessor

type Preprocessor struct {
	Path string
	Code string

	Output map[string]string

	Defines map[string]*Define
}

func NewPreprocessor

func NewPreprocessor(path string) (*Preprocessor, error)

func (*Preprocessor) Preprocess

func (v *Preprocessor) Preprocess() (string, error)

type PreprocessorCusor

type PreprocessorCusor struct {
	Start int
	End   int
}

type RemixerErrorListener

type RemixerErrorListener struct {
	Errors []string
	// contains filtered or unexported fields
}

func NewRemixerErrorListener

func NewRemixerErrorListener(filename string) *RemixerErrorListener

func (*RemixerErrorListener) ReportAmbiguity

func (l *RemixerErrorListener) ReportAmbiguity(recognizer antlr.Parser, dfa *antlr.DFA, startIndex, stopIndex int, exact bool, ambigAlts *antlr.BitSet, configs antlr.ATNConfigSet)

func (*RemixerErrorListener) ReportAttemptingFullContext

func (l *RemixerErrorListener) ReportAttemptingFullContext(recognizer antlr.Parser, dfa *antlr.DFA, startIndex, stopIndex int, conflictingAlts *antlr.BitSet, configs antlr.ATNConfigSet)

func (*RemixerErrorListener) ReportContextSensitivity

func (l *RemixerErrorListener) ReportContextSensitivity(recognizer antlr.Parser, dfa *antlr.DFA, startIndex, stopIndex, prediction int, configs antlr.ATNConfigSet)

func (*RemixerErrorListener) SyntaxError

func (l *RemixerErrorListener) SyntaxError(recognizer antlr.Recognizer, offendingSymbol interface{}, line, column int, msg string, e antlr.RecognitionException)

type Visitor

type Visitor struct {
	Prefix string
	Path   string
	Code   string

	Package string
	Imports mapset.Set
	Output  map[string]string

	Scope           *scope.Scope
	CurrentFunction *utils.Stack[string]
}

func NewVisitor

func NewVisitor(prefix string, path string, code string) *Visitor

func (*Visitor) NotImplementedError

func (v *Visitor) NotImplementedError(token *antlr.BaseParserRuleContext) error

func (*Visitor) PositionedTranslationError

func (v *Visitor) PositionedTranslationError(start antlr.Token, message string) error

func (*Visitor) TranslationError

func (v *Visitor) TranslationError(token *antlr.BaseParserRuleContext, message string) error

func (*Visitor) VisitBlock

func (v *Visitor) VisitBlock(ctx *parser.BlockContext) (*ast.ASTBlock, error)

func (*Visitor) VisitCaseStatement

func (v *Visitor) VisitCaseStatement(ctx *parser.CaseStatementContext) (*ast.ASTCase, error)

func (*Visitor) VisitCastExpression

func (v *Visitor) VisitCastExpression(ctx *parser.CastExpressionContext) (*ast.ASTExpressionCast, error)

func (*Visitor) VisitDeclaration

func (v *Visitor) VisitDeclaration(ctx *parser.DeclarationContext) (ast.IASTItem, error)

func (*Visitor) VisitDefaultStatement

func (v *Visitor) VisitDefaultStatement(ctx *parser.DefaultStatementContext) (*ast.ASTDefault, error)

func (*Visitor) VisitDoWhileStatement

func (v *Visitor) VisitDoWhileStatement(ctx *parser.DoWhileStatementContext) (*ast.ASTDoWhile, error)

func (*Visitor) VisitEnumDeclaration

func (v *Visitor) VisitEnumDeclaration(ctx *parser.EnumDeclarationContext) (*ast.ASTEnum, error)

func (*Visitor) VisitEnumProperties

func (v *Visitor) VisitEnumProperties(ctx *parser.EnumPropertiesContext) ([]*ast.ASTEnumProperty, error)

func (*Visitor) VisitExpression

func (v *Visitor) VisitExpression(ctx parser.IExpressionContext) (ast.IASTExpression, error)

func (*Visitor) VisitExpressionWithConfigurableIsStatement

func (v *Visitor) VisitExpressionWithConfigurableIsStatement(ctx parser.IExpressionContext, isStatement bool) (ast.IASTExpression, error)

func (*Visitor) VisitForStatement

func (v *Visitor) VisitForStatement(ctx *parser.ForStatementContext) (*ast.ASTFor, error)

func (*Visitor) VisitFunctionArguments

func (v *Visitor) VisitFunctionArguments(ctx *parser.FunctionArgumentsContext) ([]*ast.ASTFunctionArgument, error)

func (*Visitor) VisitFunctionCallArguments

func (v *Visitor) VisitFunctionCallArguments(ctx *parser.FunctionCallArgumentsContext, function *ast.ASTFunction, index int) ([]ast.IASTExpression, error)

func (*Visitor) VisitFunctionCallExpression

func (v *Visitor) VisitFunctionCallExpression(ctx *parser.FunctionCallExpressionContext) (*ast.ASTExpressionFunctionCall, error)

func (*Visitor) VisitFunctionDeclaration

func (v *Visitor) VisitFunctionDeclaration(ctx *parser.FunctionDeclarationContext) (*ast.ASTFunction, error)

func (*Visitor) VisitFunctionReturn

func (v *Visitor) VisitFunctionReturn(ctx *parser.FunctionReturnContext) (ast.IASTItem, error)

func (*Visitor) VisitGotoStatement

func (v *Visitor) VisitGotoStatement(ctx *parser.GotoStatementContext) (*ast.ASTGoto, error)

func (*Visitor) VisitIdentifierExpression

func (v *Visitor) VisitIdentifierExpression(ctx *parser.IdentifierExpressionContext) (*ast.ASTExpressionLiteral, error)

func (*Visitor) VisitIfStatement

func (v *Visitor) VisitIfStatement(ctx *parser.IfStatementContext) (*ast.ASTIf, error)

func (*Visitor) VisitIncludePreprocessor

func (v *Visitor) VisitIncludePreprocessor(ctx *parser.IncludePreprocessorContext) (ast.IASTItem, error)

func (*Visitor) VisitLabelStatement

func (v *Visitor) VisitLabelStatement(ctx *parser.LabelStatementContext) (*ast.ASTLabel, error)

func (*Visitor) VisitListInitialization

func (v *Visitor) VisitListInitialization(ctx *parser.ListInitializationContext) ([]ast.IASTExpression, error)

func (*Visitor) VisitNamedListInitialization

func (v *Visitor) VisitNamedListInitialization(ctx *parser.NamedListInitializationContext) ([]string, []ast.IASTExpression, error)

func (*Visitor) VisitSizedArrayModifier

func (v *Visitor) VisitSizedArrayModifier(ctx *parser.SizedArrayModifierContext) (ast.IASTExpression, error)

func (*Visitor) VisitSizeofExpression

func (v *Visitor) VisitSizeofExpression(ctx *parser.SizeofExpressionContext) (ast.IASTExpression, error)

func (*Visitor) VisitStatement

func (v *Visitor) VisitStatement(ctx *parser.StatementContext) (ast.IASTItem, error)

func (*Visitor) VisitStructDeclaration

func (v *Visitor) VisitStructDeclaration(ctx *parser.StructDeclarationContext) (*ast.ASTStruct, error)

func (*Visitor) VisitStructDeclarationBody

func (v *Visitor) VisitStructDeclarationBody(ctx *parser.StructDeclarationBodyContext) ([]*ast.ASTStructProperty, error)

func (*Visitor) VisitStructProperty

func (v *Visitor) VisitStructProperty(ctx *parser.StructPropertyContext) (*ast.ASTStructProperty, error)

func (*Visitor) VisitSwitchStatement

func (v *Visitor) VisitSwitchStatement(ctx *parser.SwitchStatementContext) (*ast.ASTSwitch, error)

func (*Visitor) VisitTranslation

func (v *Visitor) VisitTranslation(ctx *parser.TranslationContext) (string, error)

func (*Visitor) VisitTypeSpecifier

func (v *Visitor) VisitTypeSpecifier(ctx parser.ITypeSpecifierContext) (*ast.ASTType, error)

func (*Visitor) VisitTypeSpecifierClassic

func (v *Visitor) VisitTypeSpecifierClassic(ctx *parser.TypeSpecifierClassicContext) (*ast.ASTType, error)

func (*Visitor) VisitTypeSpecifierGeneric

func (v *Visitor) VisitTypeSpecifierGeneric(ctx *parser.TypeSpecifierGenericContext) (*ast.ASTType, error)

func (*Visitor) VisitTypeSpecifierNoPointer

func (v *Visitor) VisitTypeSpecifierNoPointer(ctx parser.ITypeSpecifierNoPointerContext) (*ast.ASTType, error)

func (*Visitor) VisitTypeSpecifierPointer

func (v *Visitor) VisitTypeSpecifierPointer(ctx *parser.TypeSpecifierPointerContext) (*ast.ASTType, error)

func (*Visitor) VisitTypeSpecifierWithModifier

func (v *Visitor) VisitTypeSpecifierWithModifier(ctx *parser.TypeSpecifierWithModifierContext) (*ast.ASTType, error)

func (*Visitor) VisitTypedefDeclaration

func (v *Visitor) VisitTypedefDeclaration(ctx *parser.TypedefDeclarationContext) (ast.IASTItem, error)

func (*Visitor) VisitVariableDeclaration

func (v *Visitor) VisitVariableDeclaration(ctx *parser.VariableDeclarationContext, isStatement bool) (*ast.ASTVariableDeclaration, error)

func (*Visitor) VisitVariableDeclarationList

func (v *Visitor) VisitVariableDeclarationList(ctx *parser.VariableDeclarationListContext, typ *ast.ASTType) ([]*ast.ASTVariableDeclarationItem, error)

func (*Visitor) VisitWhileStatement

func (v *Visitor) VisitWhileStatement(ctx *parser.WhileStatementContext) (*ast.ASTWhile, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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