ozcld

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2018 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const COLON = 57358
View Source
const DOT = 57357
View Source
const END_BLOCK = 57353
View Source
const EOM = 57347
View Source
const EQUAL = 57348
View Source
const GT = 57355
View Source
const HYPHEN = 57354
View Source
const LABEL_CLASS = 57350
View Source
const LABEL_CLD = 57349
View Source
const LABEL_NAMESPACE = 57351
View Source
const PIPE = 57356
View Source
const START_BLOCK = 57352
View Source
const WORD = 57346

Variables

This section is empty.

Functions

func Parse

func Parse(file *os.File) (string, []error)

Types

type Class

type Class struct {
	// contains filtered or unexported fields
}

クラス

func CreateClass

func CreateClass(stereotype string, name string, fields Fields, methods Methods) *Class

各オブジェクトからクラスを作成する

func CreateClassFromDefs

func CreateClassFromDefs(stereotype string, name string, fieldDefs []string, methodDefs []string) *Class

文字列からクラスを作成する

func (*Class) AddFieldFromString

func (this *Class) AddFieldFromString(def string)

Field を追加

func (*Class) AddMethodFromString

func (this *Class) AddMethodFromString(def string)

Method を追加

func (*Class) GetIdent

func (this *Class) GetIdent() string

識別文字列を取得する

func (*Class) SetIdent

func (this *Class) SetIdent(id string)

識別文字列を設定する

func (*Class) ToDot

func (this *Class) ToDot() string

Dot 形式の文字列を返却する

type ClassDiagram

type ClassDiagram struct {
	// contains filtered or unexported fields
}

クラス図

func CreateClassDiagram

func CreateClassDiagram(name string, namespaces []*Namespace, classes []*Class, relations []*Relation) *ClassDiagram

クラス図作成

func (*ClassDiagram) AddClass

func (this *ClassDiagram) AddClass(class *Class)

Class を追加

func (*ClassDiagram) AddNamespace

func (this *ClassDiagram) AddNamespace(ns *Namespace)

Namespace を追加

func (*ClassDiagram) AddRelation

func (this *ClassDiagram) AddRelation(relation *Relation)

Relation を追加

func (*ClassDiagram) ToDot

func (this *ClassDiagram) ToDot() string

Dot 形式の文字列を返却する

type Dot

type Dot interface {
	// Dot 形式の文字列を返却する
	ToDot() string
}

Dot 形式の文字列に変換できることを表すインターフェース

type Field

type Field struct {
	// contains filtered or unexported fields
}

フィールド

func CreateFieldFromString

func CreateFieldFromString(def string) *Field

フィールドを作成する

func (*Field) ToDot

func (this *Field) ToDot() string

Dot 形式の文字列を返却する

type Fields

type Fields []*Field

フィールドリスト

func (Fields) ToDot

func (this Fields) ToDot() string

Dot 形式の文字列を返却する

type Lexer

type Lexer struct {
	scanner.Scanner

	ErrorList []error

	// パースの結果を格納するオブジェクトを追加
	Result Result
}

yyLexer インタフェースを実装したオブジェクトを作成する。 こいつの Lex メソッドが、字句解析を担当する。

func (*Lexer) Error

func (l *Lexer) Error(e string)

エラー情報を追加

func (*Lexer) Lex

func (l *Lexer) Lex(lval *yySymType) int

Lex : トークンを一つ読み進める。 この実装では、スキャンした結果を何でもかんでも WORD として解釈する。

func (*Lexer) Parse

func (this *Lexer) Parse()

type Method

type Method struct {
	// contains filtered or unexported fields
}

メソッド

func CreateMethodFromString

func CreateMethodFromString(def string) *Method

メソッドを作成する

func (*Method) ToDot

func (this *Method) ToDot() string

Dot 形式の文字列を返却する

type Methods

type Methods []*Method

メソッドリスト

func (Methods) ToDot

func (this Methods) ToDot() string

Dot 形式の文字列を返却する

type Namespace

type Namespace struct {
	// contains filtered or unexported fields
}

名前空間(パッケージ)

func CreateNamespace

func CreateNamespace(name string, classes []*Class, namespaces []*Namespace) *Namespace

Namespace を作成する

func (*Namespace) AddClass

func (this *Namespace) AddClass(class *Class)

Class を追加

func (*Namespace) AddNamespace

func (this *Namespace) AddNamespace(namespace *Namespace)

Namespace を追加

func (*Namespace) GetIdent

func (this *Namespace) GetIdent() string

識別文字列を取得する

func (*Namespace) ToDot

func (this *Namespace) ToDot() string

Dot 形式の文字列を返却する

type Relation

type Relation struct {
	// contains filtered or unexported fields
}

関係

func CreateRelation

func CreateRelation(name string, relationType RelationType, fromClass string, toClass string, fromMultiplicity string, toMultiplicity string) *Relation

Relation を作成する

func (*Relation) ToDot

func (this *Relation) ToDot() string

Dot 形式の文字列を返却する

type RelationType

type RelationType int
const (
	RELATION_NORMAL RelationType = iota
	RELATION_INHERIT
	RELATION_IMPLEMENT
	RELATION_AGGREGATION
	RELATION_COMPOSITION
)

関係の種類

type Result

type Result interface{}

type Token

type Token struct {
	// トークンの種類を表す数値
	Type int

	// 字句解析で分かち書きされた文字列(この表現でよいのかしら?)
	Literal string
}

トークンの情報を保持するための構造体を追加

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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