In FSharp.sln and VisualFSharp.sln, the project FSharp.Compiler.Private.fsproj has several FsLex and FsYacc MSBuild tasks defined. When the corresponding *.fsl or *.fsy file changes, the change is not picked up by MSBuild, and the output file of the lex/yacc tasks doesn't change. You may find yourself hunting ghosts to find your lexer or yacc change reflected.
Workaround: the only work-around I found was: close VS (to get rid of locked files) and build from commandline through build.cmd.
Related, briefly discussed here with @KevinRansom: #9877 (comment).
A fix is underway as part of #9918.