diff options
Diffstat (limited to 'usr/gri/src/test_parser.go')
-rw-r--r-- | usr/gri/src/test_parser.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/usr/gri/src/test_parser.go b/usr/gri/src/test_parser.go new file mode 100644 index 000000000..a85e9b927 --- /dev/null +++ b/usr/gri/src/test_parser.go @@ -0,0 +1,40 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import Scanner "scanner" +import Parser "parser" + + +func Parse(src string, verbose bool) { + S := new(Scanner.Scanner); + S.Open(src); + + P := new(Parser.Parser); + P.Open(S, verbose); + + P.ParseProgram(); +} + + +func main() { + verbose := false; + for i := 1; i < sys.argc(); i++ { + if sys.argv(i) == "-v" { + verbose = true; + continue; + } + + var src string; + var ok bool; + src, ok = sys.readfile(sys.argv(i)); + if ok { + print "parsing " + sys.argv(i) + "\n"; + Parse(src, verbose); + } else { + print "error: cannot read " + sys.argv(i) + "\n"; + } + } +} |