Versions in this module Expand all Collapse all v1 v1.0.0 Oct 27, 2016 Changes in this version + const CALL + const CASE + const CLOSE + const COLON + const COMMA + const DEF + const DIGITS + const ELSE + const ENDIF + const ENDSELECT + const EQ + const IDENT + const IF + const LET + const LPAREN + const NEWCHAN + const RECV + const RPAREN + const SELECT + const SEMICOLON + const SEND + const SPAWN + const TAU + var ErrEmptyStack = errors.New("stack: empty") + func CalleeParameterString(params []*Parameter) string + func CallerParameterString(params []*Parameter) string + type CallStatement struct + Name string + Params []*Parameter + func (s *CallStatement) AddParams(params ...*Parameter) + func (s *CallStatement) SimpleName() string + func (s *CallStatement) String() string + type CloseStatement struct + Chan string + func (s *CloseStatement) String() string + type ConstToken struct + func (t *ConstToken) EndPos() TokenPos + func (t *ConstToken) StartPos() TokenPos + func (t *ConstToken) Tok() Tok + type DigitsToken struct + func (t *DigitsToken) EndPos() TokenPos + func (t *DigitsToken) StartPos() TokenPos + func (t *DigitsToken) Tok() Tok + type ErrParse struct + Err string + Pos TokenPos + func (e *ErrParse) Error() string + type Function struct + HasComm bool + Name string + Params []*Parameter + Stmts []Statement + func NewFunction(name string) *Function + func (f *Function) AddParams(params ...*Parameter) + func (f *Function) AddStmts(stmts ...Statement) + func (f *Function) GetParamByCalleeValue(v NamedVar) (*Parameter, error) + func (f *Function) IsEmpty() bool + func (f *Function) PutAway() + func (f *Function) Restore() ([]Statement, error) + func (f *Function) SimpleName() string + func (f *Function) String() string + type IdentToken struct + func (*IdentToken) Tok() Tok + func (t *IdentToken) EndPos() TokenPos + func (t *IdentToken) StartPos() TokenPos + type IfStatement struct + Else []Statement + Then []Statement + func (s *IfStatement) String() string + type Lexer struct + Errors chan error + func NewLexer(r io.Reader) *Lexer + func (l *Lexer) Error(err string) + func (l *Lexer) Lex(yylval *migoSymType) int + type NamedVar interface + Name func() string + String func() string + type NewChanStatement struct + Chan string + Name NamedVar + Size int64 + func (s *NewChanStatement) String() string + type Parameter struct + Callee NamedVar + Caller NamedVar + func (p *Parameter) String() string + type Program struct + Funcs []*Function + func NewProgram() *Program + func Parse(r io.Reader) (*Program, error) + func (p *Program) AddFunction(f *Function) + func (p *Program) CleanUp() + func (p *Program) Function(name string) (*Function, bool) + func (p *Program) String() string + type RecvStatement struct + Chan string + func (s *RecvStatement) String() string + type Scanner struct + func NewScanner(r io.Reader) *Scanner + func (s *Scanner) Scan() Token + type SelectStatement struct + Cases [][]Statement + func (s *SelectStatement) String() string + type SendStatement struct + Chan string + func (s *SendStatement) String() string + type SpawnStatement struct + Name string + Params []*Parameter + func (s *SpawnStatement) AddParams(params ...*Parameter) + func (s *SpawnStatement) SimpleName() string + func (s *SpawnStatement) String() string + type Statement interface + String func() string + type StmtsStack struct + func NewStmtsStack() *StmtsStack + func (s *StmtsStack) IsEmpty() bool + func (s *StmtsStack) Pop() ([]Statement, error) + func (s *StmtsStack) Push(stmt []Statement) + func (s *StmtsStack) Size() int + type TauStatement struct + func (s *TauStatement) String() string + type Tok int + const ILLEGAL + type Token interface + EndPos func() TokenPos + StartPos func() TokenPos + Tok func() Tok + type TokenPos struct + Char int + Lines []int + func (p TokenPos) String() string