summaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/gc/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/gc/parser.go')
-rw-r--r--src/cmd/compile/internal/gc/parser.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/gc/parser.go b/src/cmd/compile/internal/gc/parser.go
index 941a0ec00f..19202674a6 100644
--- a/src/cmd/compile/internal/gc/parser.go
+++ b/src/cmd/compile/internal/gc/parser.go
@@ -15,14 +15,27 @@ package gc
import (
"bufio"
"fmt"
+ "os"
"strconv"
"strings"
)
const trace = false // if set, parse tracing can be enabled with -x
-// parse_file parses a single Go source file.
-func parse_file(bin *bufio.Reader) {
+// oldParseFile parses a single Go source file.
+func oldParseFile(infile string) {
+ f, err := os.Open(infile)
+ if err != nil {
+ fmt.Printf("open %s: %v\n", infile, err)
+ errorexit()
+ }
+ defer f.Close()
+ bin := bufio.NewReader(f)
+
+ // Skip initial BOM if present.
+ if r, _, _ := bin.ReadRune(); r != BOM {
+ bin.UnreadRune()
+ }
newparser(bin, nil).file()
}