Esempio n. 1
0
func parse(src string, t *testing.T) *ast.Grammar {
	lexer := new(scanner.Scanner)
	lexer.Init([]byte(src), token.FRONTENDTokens)
	p := parser.NewParser(parser.ActionTable, parser.GotoTable, parser.ProductionsTable, token.FRONTENDTokens)
	res, err := p.Parse(lexer)
	if err != nil {
		t.Fatal(err)
		return nil
	}
	return res.(*ast.Grammar)
}
Esempio n. 2
0
func parse(src string, t *testing.T) *ast.Grammar {
	scanner := new(scanner.Scanner)
	scanner.Init([]byte(src), token.FRONTENDTokens)
	parser := parser.NewParser(parser.ActionTable, parser.GotoTable, parser.ProductionsTable, token.FRONTENDTokens)
	g, err := parser.Parse(scanner)
	if err != nil {
		t.Fatal(fmt.Sprintf("Parse error: %s\n", err))
		return nil
	}

	return g.(*ast.Grammar)
}