diff options
author | Robert Griesemer <gri@golang.org> | 2008-07-10 18:05:00 -0700 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2008-07-10 18:05:00 -0700 |
commit | fffe52d91f5697404854814b8b5ef9be92617c24 (patch) | |
tree | 7cc85a4c5f9655cf6d49c9e8220e232a27fb5437 /usr/gri/gosrc/test_parser.go | |
parent | d1284ef9f08ad1b342a27b2f5de064b07bb45d03 (diff) | |
download | golang-fffe52d91f5697404854814b8b5ef9be92617c24.tar.gz |
- created new dir (gosrc) for go-based front-end
- adjusted makefiles
SVN=126763
Diffstat (limited to 'usr/gri/gosrc/test_parser.go')
-rw-r--r-- | usr/gri/gosrc/test_parser.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/usr/gri/gosrc/test_parser.go b/usr/gri/gosrc/test_parser.go new file mode 100644 index 000000000..78d8d8711 --- /dev/null +++ b/usr/gri/gosrc/test_parser.go @@ -0,0 +1,42 @@ +// 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(filename, src string, verbose int) { + S := new(Scanner.Scanner); + S.Open(filename, src); + + P := new(Parser.Parser); + P.Open(S, verbose); + + P.ParseProgram(); +} + + +func main() { + verbose := 0; + for i := 1; i < sys.argc(); i++ { + switch sys.argv(i) { + case "-v": + verbose = 1; + continue; + case "-vv": + verbose = 2; + continue; + } + + src, ok := sys.readfile(sys.argv(i)); + if ok { + print "parsing " + sys.argv(i) + "\n"; + Parse(sys.argv(i), src, verbose); + } else { + print "error: cannot read " + sys.argv(i) + "\n"; + } + } +} |