diff --git a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
index 492c6f0f2d2..579915eb046 100644
--- a/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
+++ b/src/fsharp/FSharp.Compiler.Private/FSharp.Compiler.Private.fsproj
@@ -192,10 +192,16 @@
--unicode --lexlib Internal.Utilities.Text.Lexing
AbsIL\illex.fsl
+
+ AbsIL\FsLex\illex.fsl
+
--module FSharp.Compiler.AbstractIL.Internal.AsciiParser --open FSharp.Compiler.AbstractIL --internal --lexlib Internal.Utilities.Text.Lexing --parslib Internal.Utilities.Text.Parsing
AbsIL\ilpars.fsy
+
+ AbsIL\FsYacc\ilpars.fsy
+
AbsIL\il.fsi
@@ -214,6 +220,12 @@
AbsIL\ilascii.fs
+
+ AbsIL\FsYaccOut\ilpars.fs
+
+
+ AbsIL\FsLexOut\illex.fs
+
AbsIL\ilprint.fsi
@@ -241,12 +253,6 @@
AbsIL\ilsupp.fs
-
- $(FsYaccOutputFolder)AbsIL\ilpars.fs
-
-
- $(FsLexOutputFolder)AbsIL\illex.fs
-
AbsIL\ilbinary.fsi
@@ -326,6 +332,18 @@
--module FSharp.Compiler.Parser --open FSharp.Compiler --internal --lexlib Internal.Utilities.Text.Lexing --parslib Internal.Utilities.Text.Parsing
ParserAndUntypedAST\pars.fsy
+
+ ParserAndUntypedAST\FsLex\pplex.fsl
+
+
+ ParserAndUntypedAST\FsLex\lex.fsl
+
+
+ ParserAndUntypedAST\FsYacc\pppars.fsy
+
+
+ ParserAndUntypedAST\FsYacc\pars.fsy
+
ParserAndUntypedAST\UnicodeLexing.fsi
@@ -351,10 +369,10 @@
ParserAndUntypedAST\ParseHelpers.fs
- $(FsYaccOutputFolder)ParserAndUntypedAST\pppars.fs
+ ParserAndUntypedAST\FsYaccOutput\pppars.fs
- $(FsYaccOutputFolder)ParserAndUntypedAST\pars.fs
+ ParserAndUntypedAST\FsYaccOutput\pars.fs
ParserAndUntypedAST\lexhelp.fsi
@@ -363,10 +381,10 @@
ParserAndUntypedAST\lexhelp.fs
- $(FsYaccOutputFolder)ParserAndUntypedAST\pplex.fs
+ ParserAndUntypedAST\FsLexOutput\pplex.fs
-
- $(FsYaccOutputFolder)ParserAndUntypedAST\lex.fs
+
+ ParserAndUntypedAST\FsLexOutput\lex.fs
ParserAndUntypedAST\LexFilter.fs