예제 #1
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseEox(test *testing.T) {
	const input = `
`
	parser := NewParserForText(input)
	Assert(test, parser.ParseEOX(), "Could not parse EOX")
	tree.Display(parser.Ast)
}
예제 #2
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseProgram(test *testing.T) {
	const input = `val + 10 * z. open door.
	`
	parser := NewParserForText(input)
	Assert(test, parser.ParseProgram(), "Could not parse program.")
	tree.Display(parser.Ast)
}
예제 #3
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseStatements(test *testing.T) {
	const input = `val + 10 * z. open door.
	`
	parser := NewParserForText(input)
	Assert(test, parser.ParseStatements(), "Could not parse statements with only a parse word expression with operators")
	tree.Display(parser.Ast)
}
예제 #4
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseWordExpression2(test *testing.T) {
	const input = `val + 10 * z
	`
	parser := NewParserForText(input)
	Assert(test, parser.ParseWordExpression(), "Could not parse word expression with operators")
	tree.Display(parser.Ast)
}
예제 #5
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseWordExpression(test *testing.T) {
	const input = `say "hello world" three times
	`
	parser := NewParserForText(input)
	Assert(test, parser.ParseWordExpression(), "Could not parse word expression")
	tree.Display(parser.Ast)
}
예제 #6
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseParenthesis(test *testing.T) {
	// monolog.Setup("raku_test.log", true, false)
	const input = `(3 + 4 * 5)`
	parser := NewParserForText(input)
	Assert(test, parser.ParseParenthesis(), "Could not parse parenthesis.")
	tree.Display(parser.Ast)
	parser.Ast.Dotty()
}
예제 #7
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseProgram3(test *testing.T) {
	// monolog.Setup("raku_test.log", true, false)
	const input = `set foo to (3 + 4)
`
	parser := NewParserForText(input)
	Assert(test, parser.ParseProgram(), "Could not parse program.")
	tree.Display(parser.Ast)
	parser.Ast.Dotty()
}
예제 #8
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseblock(test *testing.T) {
	// monolog.Setup("raku_test.log", true, false)
	const input = `{
say "hello"
say "world"
let i be 3 + 4
let j be 7 + 5
let ij be i * j
return ij
}
`
	parser := NewParserForText(input)
	Assert(test, parser.ParseBlock(), "Could not parse block.")
	tree.Display(parser.Ast)
	// parser.Ast.Dotty()
}
예제 #9
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseProgram2(test *testing.T) {
	const input = `to greet someone  {
say "hello" someone
}

greet bob

if mp < cost do
	say "Not enough mana!"
end else do
	say "Zap!"
end

`
	parser := NewParserForText(input)
	Assert(test, parser.ParseProgram(), "Could not parse program.")
	tree.Display(parser.Ast)
}
예제 #10
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseValue3(test *testing.T) {
	const input = `$sym`
	parser := NewParserForText(input)
	Assert(test, parser.ParseValue(), "Could not parse value")
	tree.Display(parser.Ast)
}
예제 #11
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseValue(test *testing.T) {
	const input = `"hello \"world\\"`
	parser := NewParserForText(input)
	Assert(test, parser.ParseValue(), "Could not parse value")
	tree.Display(parser.Ast)
}
예제 #12
0
파일: raku_test.go 프로젝트: beoran/woe
func TestParseWord(test *testing.T) {
	const input = `say`
	parser := NewParserForText(input)
	Assert(test, parser.ParseWord(), "Could not parse word")
	tree.Display(parser.Ast)
}