コード例 #1
0
ファイル: test_utils.go プロジェクト: se77en/c6
func AssertTokenType(t *testing.T, tokenType ast.TokenType, token *ast.Token) {
	assert.NotNil(t, token)
	if tokenType != token.Type {
		OutputRed(t, "not ok - expecting %s. Got %s '%s'", tokenType.String(), token.Type.String(), token.Str)
	} else {
		OutputGreen(t, "ok - expecting %s. Got %s '%s'", tokenType.String(), token.Type.String(), token.Str)
	}
	assert.Equal(t, tokenType, token.Type)
}
コード例 #2
0
ファイル: parser.go プロジェクト: se77en/c6
func (parser *Parser) expect(tokenType ast.TokenType) *ast.Token {
	var tok = parser.next()
	if tok != nil && tok.Type != tokenType {
		parser.backup()
		panic(SyntaxError{
			Reason:      tokenType.String(),
			ActualToken: tok,
			File:        parser.File,
		})
	}
	return tok
}