Version: v1.1.0 Latest Latest

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

Go to latest
Published: Oct 4, 2017 License: Apache-2.0 Imports: 11 Imported by: 0




This section is empty.


This section is empty.


This section is empty.


type RSG

type RSG struct {
	// contains filtered or unexported fields

RSG is a random syntax generator.

func NewRSG

func NewRSG(seed int64, y string) (*RSG, error)

NewRSG creates a random syntax generator from the given random seed and yacc file.

func (*RSG) Float64

func (r *RSG) Float64() float64

Float64 returns a random float. It is sometimes +/-Inf, NaN, and attempts to be distributed among very small, large, and normal scale numbers.

func (*RSG) Generate

func (r *RSG) Generate(root string, depth int) string

Generate generates a unique random syntax from the root node. At most depth levels of token expansion are performed. An empty string is returned on error or if depth is exceeded. Generate is safe to call from mulitipule goroutines. If Generate is called more times than it can generate unique output, it will block forever.

func (*RSG) GenerateRandomArg

func (r *RSG) GenerateRandomArg(typ parser.Type) string

GenerateRandomArg generates a random, valid, SQL function argument of the specified type.

func (*RSG) Int added in v1.1.0

func (r *RSG) Int() int64

Int returns a random int. It attempts to distribute results among small, large, and normal scale numbers.

func (*RSG) Int63

func (r *RSG) Int63() int64

Int63 returns a random int64.

func (*RSG) Intn

func (r *RSG) Intn(n int) int

Intn returns a random int.

Source Files


Path Synopsis
Package yacc parses .y files.
Package yacc parses .y files.

Jump to

Keyboard shortcuts

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