// 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"; | |
} | |
} | |
} |