ttcn3

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2022 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Overview

Package ttcn3 provides routines for evaluating TTCN-3 source code.

This package is in alpha stage, as we are still figuring out requirements and interfaces.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DB added in v0.13.0

type DB struct {
	// Names is a map from symbol name to a list of files that contain the symbol.
	Names map[string]map[string]bool

	// Modules maps from module name to file path.
	Modules map[string]map[string]bool
	// contains filtered or unexported fields
}

DB implements database for querying TTCN-3 source code bases.

func (*DB) Index added in v0.13.0

func (db *DB) Index(files ...string)

Index parses TTCN-3 source files and adds names and dependencies to the database.

func (*DB) VisibleModules added in v0.14.0

func (db *DB) VisibleModules(id string, mod *ast.Module) []*Definition

VisibleModules returns a list of modules that may contain the given symbol. First parameter id specifies the symbol to look for and second parameter module specifies where the imports come from.

type Definition added in v0.13.0

type Definition struct {
	*ast.Ident
	ast.Node
	*Tree
	Next *Definition
}

func Definitions added in v0.14.0

func Definitions(id string, n ast.Node, t *Tree) []*Definition

type Scope added in v0.13.0

type Scope struct {
	ast.Node
	Tree  *Tree
	Names map[string]*Definition
}

func NewScope added in v0.13.0

func NewScope(n ast.Node, tree *Tree) *Scope

NewScope builts and populares a new scope from the given syntax node. NewScope returns nil if no valid scope could be built.

func (*Scope) Insert added in v0.13.0

func (scp *Scope) Insert(n ast.Node, id *ast.Ident)

func (*Scope) Lookup added in v0.14.0

func (scp *Scope) Lookup(name string) []*Definition

Lookup returns a list of defintions for the given identifier. Lookup may be called with nil as receiver.

type Tree

type Tree struct {
	FileSet *loc.FileSet
	Root    ast.Node
	Names   map[string]bool
	Err     error
	// contains filtered or unexported fields
}

Tree represents the TTCN-3 syntax tree, usually of a file.

func Parse added in v0.11.0

func Parse(src string) *Tree

Parse parses a string and returns a syntax tree.

func ParseFile

func ParseFile(path string) *Tree

ParseFile parses a file and returns a syntax tree.

func (*Tree) Components added in v0.12.0

func (t *Tree) Components() []*ast.ComponentTypeDecl

func (*Tree) Controls added in v0.12.0

func (t *Tree) Controls() []*ast.ControlPart

func (*Tree) ExprAt added in v0.14.0

func (tree *Tree) ExprAt(pos loc.Pos) ast.Expr

ExprAt returns the primary expression at the given position.

func (*Tree) Filename added in v0.14.0

func (t *Tree) Filename() string

Filename returns the filename of the file that was parsed.

func (*Tree) Funcs added in v0.12.0

func (t *Tree) Funcs() []*ast.FuncDecl

func (*Tree) Imports added in v0.12.0

func (t *Tree) Imports() []*ast.ImportDecl

func (*Tree) Lookup added in v0.14.0

func (tree *Tree) Lookup(n ast.Expr) []*Definition

Lookup returns the definitions of the given expression. For handling imports and multiple modules, use LookupWithDB.

func (*Tree) LookupWithDB added in v0.14.0

func (tree *Tree) LookupWithDB(n ast.Expr, db *DB) []*Definition

LookupWithDB returns the definitions of the given expression, but uses the database for import resoltion.

func (*Tree) ModuleOf added in v0.14.0

func (t *Tree) ModuleOf(n ast.Node) *ast.Module

ModuleOf returns the module of the given node, by walking up the tree.

func (*Tree) ModulePars added in v0.12.0

func (t *Tree) ModulePars() []*ast.Declarator

func (*Tree) Modules added in v0.9.6

func (t *Tree) Modules() []*ast.Module

func (*Tree) ParentOf added in v0.14.0

func (t *Tree) ParentOf(n ast.Node) ast.Node

ParentOf returns the parent of the given node.

func (*Tree) Ports added in v0.12.0

func (t *Tree) Ports() []*ast.PortTypeDecl

func (*Tree) Pos added in v0.13.0

func (tree *Tree) Pos(line int, column int) loc.Pos

Pos encodes a line and column tuple into a offset-based Pos tag. If file nas not been parsed yet, Pos will return loc.NoPos.

func (*Tree) Position added in v0.13.0

func (tree *Tree) Position(pos loc.Pos) loc.Position

Position return a human readable position of the node.

func (*Tree) SliceAt added in v0.13.0

func (tree *Tree) SliceAt(pos loc.Pos) []ast.Node

SliceAt returns the slice of nodes at the given position.

Directories

Path Synopsis
Package ast provides TTCN-3 syntax tree nodes and functions for tree traversal.
Package ast provides TTCN-3 syntax tree nodes and functions for tree traversal.
package doc provides helper functions to extract test tags and documents from TTCN-3 comments.
package doc provides helper functions to extract test tags and documents from TTCN-3 comments.
Package parser implements a tolerant TTCN-3 parser library.
Package parser implements a tolerant TTCN-3 parser library.
Package scanner provides a TTCN-3 scanner
Package scanner provides a TTCN-3 scanner
Package token defines constants representing the lexical tokens of the TTCN-3 programming language and basic operations on tokens (printing, predicates).
Package token defines constants representing the lexical tokens of the TTCN-3 programming language and basic operations on tokens (printing, predicates).

Jump to

Keyboard shortcuts

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