• griesemer's avatar
    cmd/compile/internal/syntax: cleanups around parser tracing · 4b7325c7
    griesemer authored
    These changes affect the parser only when the internal trace
    constant is set.
    
    - factored our printing code used for tracing
    - streamlined advance function and added trace output
    
    The parser's trace output now more clearly prints what tokens
    are skipped and which is the next token in case of an error.
    
    Example trace:
    
        4: . . . . . . . . . . call (
        4: . . . . . . . . . . . expr (
        4: . . . . . . . . . . . . unaryExpr (
        4: . . . . . . . . . . . . . pexpr (
        4: . . . . . . . . . . . . . . operand name (
        4: . . . . . . . . . . . . . . )
        4: . . . . . . . . . . . . . . call (
        4: . . . . . . . . . . . . . . )
        4: . . . . . . . . . . . . . )
        4: . . . . . . . . . . . . )
        4: . . . . . . . . . . . )
        4: . . . . . . . . . . . syntax error: expecting comma or )
        4: . . . . . . . . . . . skip ;
        6: . . . . . . . . . . . skip name
        6: . . . . . . . . . . . skip :=
        6: . . . . . . . . . . . skip literal
        6: . . . . . . . . . . . skip ;
        7: . . . . . . . . . . . skip }
        7: . . . . . . . . . . . skip ;
        9: . . . . . . . . . . . skip func
        9: . . . . . . . . . . . skip name
        9: . . . . . . . . . . . skip (
        9: . . . . . . . . . . . next )
        9: . . . . . . . . . . )
    
    For #22164.
    
    Change-Id: I4a233696b1f989ee3287472172afaf92cf424565
    Reviewed-on: https://go-review.googlesource.com/70490Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
    4b7325c7
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
context Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
plugin Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor/golang_org/x Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
cmp.bash Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
naclmake.bash Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...