diff --git a/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.dll b/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.dll
deleted file mode 100644
index 41e88f8f316..00000000000
Binary files a/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.dll and /dev/null differ
diff --git a/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.pdb b/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.pdb
deleted file mode 100644
index 8b683e884b8..00000000000
Binary files a/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.pdb and /dev/null differ
diff --git a/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.xml b/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.xml
deleted file mode 100644
index 61659855749..00000000000
--- a/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.Build.Tasks.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-
-
-FSharp.PowerPack.Build.Tasks
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Convert string into Option string where null and String.Empty result in None
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.targets b/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.targets
deleted file mode 100644
index e6d112b0618..00000000000
--- a/lkg/FSharp-14.0.23413.0/bin/FSharp.PowerPack.targets
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
-
-
-
-
- CallFsLex;CallFsYacc;$(CompileDependsOn)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
-
-
- false
-
-
-
-
-
-
diff --git a/lkg/FSharp-14.0.23413.0/bin/FSharp.SRGen.Build.Tasks.dll b/lkg/FSharp-14.0.23413.0/bin/FSharp.SRGen.Build.Tasks.dll
deleted file mode 100644
index 9556f1b30ef..00000000000
Binary files a/lkg/FSharp-14.0.23413.0/bin/FSharp.SRGen.Build.Tasks.dll and /dev/null differ
diff --git a/lkg/FSharp-14.0.23413.0/bin/FSharp.SRGen.targets b/lkg/FSharp-14.0.23413.0/bin/FSharp.SRGen.targets
deleted file mode 100644
index 5e9362cdd27..00000000000
--- a/lkg/FSharp-14.0.23413.0/bin/FSharp.SRGen.targets
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
- ProcessFsSrGen;$(PrepareForBuildDependsOn)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
-
-
-
\ No newline at end of file
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsLex.exe b/lkg/FSharp-14.0.23413.0/bin/FsLex.exe
deleted file mode 100644
index a200d6346d6..00000000000
Binary files a/lkg/FSharp-14.0.23413.0/bin/FsLex.exe and /dev/null differ
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsLex.exe.config b/lkg/FSharp-14.0.23413.0/bin/FsLex.exe.config
deleted file mode 100644
index 40ebedd13f1..00000000000
--- a/lkg/FSharp-14.0.23413.0/bin/FsLex.exe.config
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsLex.pdb b/lkg/FSharp-14.0.23413.0/bin/FsLex.pdb
deleted file mode 100644
index 22c3d79098e..00000000000
Binary files a/lkg/FSharp-14.0.23413.0/bin/FsLex.pdb and /dev/null differ
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsLex.xml b/lkg/FSharp-14.0.23413.0/bin/FsLex.xml
deleted file mode 100644
index 9cd0037d69d..00000000000
--- a/lkg/FSharp-14.0.23413.0/bin/FsLex.xml
+++ /dev/null
@@ -1,1313 +0,0 @@
-
-
-FsLex
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Standard utility to create a Unicode LexBuffer
-
- One small annoyance is that LexBuffers and not IDisposable. This means
- we can't just return the LexBuffer object, since the file it wraps wouldn't
- get closed when we're finished with the LexBuffer. Hence we return the stream,
- the reader and the LexBuffer. The caller should dispose the first two when done.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
-
-
-
-
-
-
-
-
-
-
-
-
-
- The total number of elements in the set
-
-
-
-
- Remove the given element from the set
-
-
-
-
- Apply the given function to each binding in the hash table
-
-
-
-
- Apply the given function to the set threading the accumulating parameter
- through the sequence of function applications
-
-
-
-
- Make a shallow copy of the set
-
-
-
-
- Test if the set contains the given element
-
-
-
-
- Clear all elements from the set
-
-
-
-
- Add an element to the collection
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create a new mutable hash set with the given elements and using the given key hash/equality functions
-
-
-
-
- Create a new empty mutable hash set with an internal bucket array of the given approximate size
- and with the given key hash/equality functions
-
-
-
-
- Create a new empty mutable hash set using the given key hash/equality functions
-
-
-
-
- Mutable hash sets based by default on F# structural "hash" and (=) functions. Implemented via a hash table and/or Dictionary.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The spec value describes the action of the argument,
- and whether it expects a following parameter.
-
-
-
-
- "usage specs use" prints the help for each argument.
-
-
-
-
-
-
-
- "parse specs f use" parses the arguments given by Sys.argv
- according to the argument processing specifications "specs".
- Arguments begin with "-". Non-arguments are passed to "f" in
- order. "use" is printed as part of the usage line if an error occurs.
-
- Permitted arguments are specified using triples: (arg, action, help).
- Actions are:
- Unit(f): call f, no subseq. arg
- Set(br): set ref to 'true', no subseq. arg.
- Clear(br): set ref to 'false, no subseq. arg.
- String(f): pass the subseq. arg to f
- Int(f): pass the subseq. arg to f
- Float(f): pass the subseq. arg to f
- Rest(f): pass all subseq. args to f in order
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A simple command-line argument processor.
-
-
-
-
- ASCII LexBuffers
-
- The type "lexbuf" is opaque, but has an internal position information field
- that can be updated by setting "lexbuf.EndPos", for example if you wish
- to update the other fields in that position data before or during
- lexing. You will need to do this if you wish to maintain accurate
- line-count information. If you do this and wish to maintain strict
- cross-compiling compatibility with OCamlLex and other tools you may need code
- to conditionally use lexbuf_set_curr_p when compiling F# code.
-
-
-
-
-
-
-
- Return absolute positions into the entire stream of characters
-
-
-
-
- Return absolute positions into the entire stream of characters
-
-
-
-
-
-
-
-
-
-
- same as lexeme_end_p
-
-
-
-
- Return the positions stored in the lexbuf for the matched string
-
-
-
-
- Return the positions stored in the lexbuf for the matched string
-
-
-
-
- Return a character from the matched string, innterpreting the bytes using an ASCII encoding
-
-
-
-
- Return the bytes for the matched string
-
-
-
-
- Return the matched string interpreting the bytes using the given Unicode text encoding
-
-
-
-
- Return the matched string
-
-
-
-
- Fuel a lexer from function that fills an array of bytes up to the given length, returning the
- number of bytes filled.
-
-
-
-
- Fuel a lexer from an array of bytes
-
-
-
-
- Fuel a lexer from a string, converted to ascii using <c>System.Text.Encoding.ASCII.GetBytes</c>
-
-
-
-
- Fuel a lexer using the given BinaryReader.
-
-
-
-
- Fuel a lexer using the given TextReader or StreamReader.
- The characters read are decoded to bytes using the given encoding (e.g. System.Text.Encoding.ASCII)
- and the bytes presented to the lexer. The encoding used to decode the characters
- is associated with the expectations of the lexer (e.g. a lexer may be constructed to accept only
- ASCII or pseudo-UTF8 bytes) and will typically be different to
- the encoding used to decode the file.
-
-
-
-
- Fuel a lexer using the given in_channel. The bytes are read using Pervasives.input.
- If the in_channel is a textual channel the bytes are
- presented to the lexer by decoding the characters using System.Text.Encoding.ASCII.
-
-
-
-
- Remove all input, though don't discard the except the current lexeme
-
-
-
-
- Lexing: ML-like lexing support
-
- This file maintains rough compatibility for lexbuffers used by some ML
- laxer generators. The lexbuf carries an associated pair of positions.
- Beware that only the "cnum" (absolute character number) field is automatically
- updated as each lexeme is matched. Upon each successful match the prior end
- position is transferred to be the start position and a new start position
- is allocated with an updated pos_cnum field.
-
-
-
-
- Interpret tables for a unicode lexer generated by fslex.
-
-
-
-
-
-
-
- Interpret tables for a unicode lexer generated by fslex, processing input asynchronously
-
-
-
-
- The type of tables for an unicode lexer generated by fslex.
-
-
-
-
- Interpret tables for an ascii lexer generated by fslex.
-
-
-
-
-
-
-
- Interpret tables for an ascii lexer generated by fslex, processing input asynchronously
-
-
-
-
- The type of tables for an ascii lexer generated by fslex.
-
-
-
-
- The start position for the lexeme
-
-
-
-
- True if the refill of the buffer ever failed , or if explicitly set to true.
-
-
-
-
- The end position for the lexeme
-
-
-
-
- The start position for the lexeme
-
-
-
-
- The length of the matched string
-
-
-
-
- The matched string
-
-
-
-
- True if the refill of the buffer ever failed , or if explicitly set to true.
-
-
-
-
- The end position for the lexeme
-
-
-
-
- Dynamically typed, non-lexically scoped parameter table
-
-
-
-
- Fast helper to turn the matched characters into a string, avoiding an intermediate array
-
-
-
-
- Fetch a particular character in the matched string
-
-
-
-
- Create a lex buffer suitable for use with a Unicode lexer that reads character inputs from the given text reader
-
-
-
-
- Create a lex buffer suitable for Unicode lexing that reads characters from the given string
-
-
-
-
- Create a lex buffer that reads character or byte inputs by using the given function
-
-
-
-
- Create a lex buffer suitable for Unicode lexing that reads characters from the given array
-
-
-
-
-
-
-
- Create a lex buffer suitable for byte lexing that reads characters from the given array
-
-
-
-
-
-
-
- Create a lex buffer suitable for use with ASCII byte lexing that reads byte inputs from the given binary reader
-
-
-
-
- Create a lex buffer that asynchronously reads character or byte inputs by using the given function
-
-
-
-
- Remove all input, though don't discard the current lexeme
-
-
-
-
-
-
-
- The absolute offset of the column for the position
-
-
-
-
- The absolute offset of the beginning of the line
-
-
-
-
- The line number for the position in the original source file
-
-
-
-
- The line number for the position
-
-
-
-
- The file name for the position
-
-
-
-
- Return absolute offset of the start of the line marked by the position
-
-
-
-
- The line number for the position in the input stream, assuming fresh positions have been updated
- using AsNewLinePos()
-
-
-
-
-
-
-
- The line number in the input stream, assuming fresh positions have been updated
- using AsNewLinePos() and by modifying the EndPos property of the LexBuffer.
-
-
-
-
- The file name associated with the input stream.
-
-
-
-
- Get an arbitrary position, with the empty string as filename, and
-
-
-
-
- Return the column number marked by the position, i.e. the difference between the AbsoluteOffset and the StartOfLineAbsoluteOffset
-
-
-
-
-
-
-
- The character number in the input stream
-
-
-
-
- Gives a position shifted by specified number of characters
-
-
-
-
- Get a position corresponding to the first line (line number 1) in a given file
-
-
-
-
- Given a position at the start of a token of length n, return a position just beyond the end of the token
-
-
-
-
-
-
-
- Position information stored for lexing tokens
-
-
-
-
- The tag of the error terminal
-
-
-
-
- The total number of terminals
-
-
-
-
- This function is used to hold the user specified "parse_error" or "parse_error_rich" functions
-
-
-
-
- This table is logically part of the Goto table
-
-
-
-
- The sparse table offsets for the productions active for each state
-
-
-
-
- The sparse table for the productions active for each state
-
-
-
-
- The sparse goto table row offsets
-
-
-
-
- The sparse goto table
-
-
-
-
- The immediate action table
-
-
-
-
- The number of symbols for each reduction
-
-
-
-
- The sparse action table row offsets
-
-
-
-
- The sparse action table elements
-
-
-
-
- A function to compute the data carried by a token
-
-
-
-
- A function to compute the tag of a token
-
-
-
-
- The token number indicating the end of input
-
-
-
-
- The reduction table
-
-
-
-
- Interpret the parser table taking input from the given lexer, using the given lex buffer, and the given start state.
- Returns an object indicating the final synthesized value for the parse.
-
-
-
-
- Tables generated by fsyacc
-
-
-
-
- The stack of state indexes active at the parse error
-
-
-
-
- The token that would cause a shift at the parse error
-
-
-
-
- The stack of productions that would be reduced at the parse error
-
-
-
-
- The tokens that would cause a reduction at the parse error
-
-
-
-
- The state active at the parse error
-
-
-
-
- The message associated with the parse error
-
-
-
-
- The token that caused the parse error
-
-
-
-
-
-
-
- Get the full range of positions matched by the production
-
-
-
-
- Get the store of local values associated with this parser
-
-
-
-
- Raise an error in this parse context
-
-
-
-
- Get the start position for the terminal or non-terminal at a given index matched by the production
-
-
-
-
- Get the start and end position for the terminal or non-terminal at a given index matched by the production
-
-
-
-
- Get the end position for the terminal or non-terminal at a given index matched by the production
-
-
-
-
- Get the value produced by the terminal or non-terminal at the given position
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The default implementation of the parse_error function
-
-
-
-
- The default implementation of the parse_error_rich function
-
-
-
-
-
-
-
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsSrGen.exe b/lkg/FSharp-14.0.23413.0/bin/FsSrGen.exe
deleted file mode 100644
index d0cc465cf8b..00000000000
Binary files a/lkg/FSharp-14.0.23413.0/bin/FsSrGen.exe and /dev/null differ
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsSrgen.exe.config b/lkg/FSharp-14.0.23413.0/bin/FsSrgen.exe.config
deleted file mode 100644
index 40ebedd13f1..00000000000
--- a/lkg/FSharp-14.0.23413.0/bin/FsSrgen.exe.config
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsYacc.exe b/lkg/FSharp-14.0.23413.0/bin/FsYacc.exe
deleted file mode 100644
index 91d5f277736..00000000000
Binary files a/lkg/FSharp-14.0.23413.0/bin/FsYacc.exe and /dev/null differ
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsYacc.exe.config b/lkg/FSharp-14.0.23413.0/bin/FsYacc.exe.config
deleted file mode 100644
index 40ebedd13f1..00000000000
--- a/lkg/FSharp-14.0.23413.0/bin/FsYacc.exe.config
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsYacc.pdb b/lkg/FSharp-14.0.23413.0/bin/FsYacc.pdb
deleted file mode 100644
index 03c506d24a8..00000000000
Binary files a/lkg/FSharp-14.0.23413.0/bin/FsYacc.pdb and /dev/null differ
diff --git a/lkg/FSharp-14.0.23413.0/bin/FsYacc.xml b/lkg/FSharp-14.0.23413.0/bin/FsYacc.xml
deleted file mode 100644
index b743c0952dc..00000000000
--- a/lkg/FSharp-14.0.23413.0/bin/FsYacc.xml
+++ /dev/null
@@ -1,1532 +0,0 @@
-
-
-FsYacc
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A mutable table giving a Set<KernelItemIndex> for each kernel. The kernels represent the
- "propagate" items for the kernel. TODO: document this more w.r.t. the Dragon book.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A mutable table giving a lookahead set Set<Terminal> for each kernel. The terminals represent the
- "spontaneous" items for the kernel. TODO: document this more w.r.t. the Dragon book.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hold the results of cpmuting the LALR(1) closure of an LR(0) kernel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A mutable table giving an index to each LR(0) kernel. Kernels are referred to only by index.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A mutable table maping kernels to sets of lookahead tokens
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Allocate indexes for each production
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Allocate indexes for each terminal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Allocate indexes for each non-terminal
-
-
-
-
- Indexes into the memoizing table for the Goto computations
- Embed in a single integer, since these are faster
- keys for the dictionary hash tables
-
- Logically:
-
- type GotoItemIndex = GotoItemIdx of KernelIdx * SymbolIndex
-
-
-
-
- Indexes in the LookaheadTable, SpontaneousTable, PropagateTable
- Embed in a single integer, since these are faster
- keys for the dictionary hash tables
-
- Logically:
-
- type KernelItemIndex = KernelItemIdx of KernelIdx * Item0
-
-
-
-
-
-
-
- Representation of Symbols.
- Ideally would be declared as
- type SymbolIndex = PTerminal of TerminalIndex | PNonTerminal of NonTerminalIndex
- but for performance reasons we embed as a simple integer (saves ~10%)
-
- We use an active pattern to reverse the embedding.
-
-
-
-
-
-
-
- Indexes in the TerminalTable and NonTerminalTable
-
-
-
-
- Indexes of LR(0) kernels in the KernelTable
-
-
-
-
- LR(0) kernels
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Part of the output of CompilerLalrParserSpec
-
-
-
-
- Represent (ProductionIndex,ProdictionDotIndex) as one integer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Compile a pre-processed LALR parser spec to tables following the Dragon book algorithm
-
-
-
-
- A standard utility to create a dictionary from a list of pairs
-
-
-
-
- A general standard memoization utility. Be sure to apply to only one (function) argument to build the
- residue function!
-
-
-
-
- A standard utility to compute a least fixed point of a set under a generative computation
-
-
-
-
- Create a work list and loop until it is exhausted, calling a worker function for
- each element. Pass a function to queue additional work on the work list
- to the worker function
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- An active pattern that should be in the F# standard library
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Standard utility to create a Unicode LexBuffer
-
- One small annoyance is that LexBuffers and not IDisposable. This means
- we can't just return the LexBuffer object, since the file it wraps wouldn't
- get closed when we're finished with the LexBuffer. Hence we return the stream,
- the reader and the LexBuffer. The caller should dispose the first two when done.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
-
-
-
-
-
-
-
-
-
-
-
-
-
- The total number of elements in the set
-
-
-
-
- Remove the given element from the set
-
-
-
-
- Apply the given function to each binding in the hash table
-
-
-
-
- Apply the given function to the set threading the accumulating parameter
- through the sequence of function applications
-
-
-
-
- Make a shallow copy of the set
-
-
-
-
- Test if the set contains the given element
-
-
-
-
- Clear all elements from the set
-
-
-
-
- Add an element to the collection
-
-
-
-
-
-
-
-
-
-
-
-
-
- Create a new mutable hash set with the given elements and using the given key hash/equality functions
-
-
-
-
- Create a new empty mutable hash set with an internal bucket array of the given approximate size
- and with the given key hash/equality functions
-
-
-
-
- Create a new empty mutable hash set using the given key hash/equality functions
-
-
-
-
- Mutable hash sets based by default on F# structural "hash" and (=) functions. Implemented via a hash table and/or Dictionary.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The spec value describes the action of the argument,
- and whether it expects a following parameter.
-
-
-
-
- "usage specs use" prints the help for each argument.
-
-
-
-
-
-
-
- "parse specs f use" parses the arguments given by Sys.argv
- according to the argument processing specifications "specs".
- Arguments begin with "-". Non-arguments are passed to "f" in
- order. "use" is printed as part of the usage line if an error occurs.
-
- Permitted arguments are specified using triples: (arg, action, help).
- Actions are:
- Unit(f): call f, no subseq. arg
- Set(br): set ref to 'true', no subseq. arg.
- Clear(br): set ref to 'false, no subseq. arg.
- String(f): pass the subseq. arg to f
- Int(f): pass the subseq. arg to f
- Float(f): pass the subseq. arg to f
- Rest(f): pass all subseq. args to f in order
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A simple command-line argument processor.
-
-
-
-
- ASCII LexBuffers
-
- The type "lexbuf" is opaque, but has an internal position information field
- that can be updated by setting "lexbuf.EndPos", for example if you wish
- to update the other fields in that position data before or during
- lexing. You will need to do this if you wish to maintain accurate
- line-count information. If you do this and wish to maintain strict
- cross-compiling compatibility with OCamlLex and other tools you may need code
- to conditionally use lexbuf_set_curr_p when compiling F# code.
-
-
-
-
-
-
-
- Return absolute positions into the entire stream of characters
-
-
-
-
- Return absolute positions into the entire stream of characters
-
-
-
-
-
-
-
-
-
-
- same as lexeme_end_p
-
-
-
-
- Return the positions stored in the lexbuf for the matched string
-
-
-
-
- Return the positions stored in the lexbuf for the matched string
-
-
-
-
- Return a character from the matched string, innterpreting the bytes using an ASCII encoding
-
-
-
-
- Return the bytes for the matched string
-
-
-
-
- Return the matched string interpreting the bytes using the given Unicode text encoding
-
-
-
-
- Return the matched string
-
-
-
-
- Fuel a lexer from function that fills an array of bytes up to the given length, returning the
- number of bytes filled.
-
-
-
-
- Fuel a lexer from an array of bytes
-
-
-
-
- Fuel a lexer from a string, converted to ascii using <c>System.Text.Encoding.ASCII.GetBytes</c>
-
-
-
-
- Fuel a lexer using the given BinaryReader.
-
-
-
-
- Fuel a lexer using the given TextReader or StreamReader.
- The characters read are decoded to bytes using the given encoding (e.g. System.Text.Encoding.ASCII)
- and the bytes presented to the lexer. The encoding used to decode the characters
- is associated with the expectations of the lexer (e.g. a lexer may be constructed to accept only
- ASCII or pseudo-UTF8 bytes) and will typically be different to
- the encoding used to decode the file.
-
-
-
-
- Fuel a lexer using the given in_channel. The bytes are read using Pervasives.input.
- If the in_channel is a textual channel the bytes are
- presented to the lexer by decoding the characters using System.Text.Encoding.ASCII.
-
-
-
-
- Remove all input, though don't discard the except the current lexeme
-
-
-
-
- Lexing: ML-like lexing support
-
- This file maintains rough compatibility for lexbuffers used by some ML
- laxer generators. The lexbuf carries an associated pair of positions.
- Beware that only the "cnum" (absolute character number) field is automatically
- updated as each lexeme is matched. Upon each successful match the prior end
- position is transferred to be the start position and a new start position
- is allocated with an updated pos_cnum field.
-
-
-
-
- Interpret tables for a unicode lexer generated by fslex.
-
-
-
-
-
-
-
- Interpret tables for a unicode lexer generated by fslex, processing input asynchronously
-
-
-
-
- The type of tables for an unicode lexer generated by fslex.
-
-
-
-
- Interpret tables for an ascii lexer generated by fslex.
-
-
-
-
-
-
-
- Interpret tables for an ascii lexer generated by fslex, processing input asynchronously
-
-
-
-
- The type of tables for an ascii lexer generated by fslex.
-
-
-
-
- The start position for the lexeme
-
-
-
-
- True if the refill of the buffer ever failed , or if explicitly set to true.
-
-
-
-
- The end position for the lexeme
-
-
-
-
- The start position for the lexeme
-
-
-
-
- The length of the matched string
-
-
-
-
- The matched string
-
-
-
-
- True if the refill of the buffer ever failed , or if explicitly set to true.
-
-
-
-
- The end position for the lexeme
-
-
-
-
- Dynamically typed, non-lexically scoped parameter table
-
-
-
-
- Fast helper to turn the matched characters into a string, avoiding an intermediate array
-
-
-
-
- Fetch a particular character in the matched string
-
-
-
-
- Create a lex buffer suitable for use with a Unicode lexer that reads character inputs from the given text reader
-
-
-
-
- Create a lex buffer suitable for Unicode lexing that reads characters from the given string
-
-
-
-
- Create a lex buffer that reads character or byte inputs by using the given function
-
-
-
-
- Create a lex buffer suitable for Unicode lexing that reads characters from the given array
-
-
-
-
-
-
-
- Create a lex buffer suitable for byte lexing that reads characters from the given array
-
-
-
-
-
-
-
- Create a lex buffer suitable for use with ASCII byte lexing that reads byte inputs from the given binary reader
-
-
-
-
- Create a lex buffer that asynchronously reads character or byte inputs by using the given function
-
-
-
-
- Remove all input, though don't discard the current lexeme
-
-
-
-
-
-
-
- The absolute offset of the column for the position
-
-
-
-
- The absolute offset of the beginning of the line
-
-
-
-
- The line number for the position in the original source file
-
-
-
-
- The line number for the position
-
-
-
-
- The file name for the position
-
-
-
-
- Return absolute offset of the start of the line marked by the position
-
-
-
-
- The line number for the position in the input stream, assuming fresh positions have been updated
- using AsNewLinePos()
-
-
-
-
-
-
-
- The line number in the input stream, assuming fresh positions have been updated
- using AsNewLinePos() and by modifying the EndPos property of the LexBuffer.
-
-
-
-
- The file name associated with the input stream.
-
-
-
-
- Get an arbitrary position, with the empty string as filename, and
-
-
-
-
- Return the column number marked by the position, i.e. the difference between the AbsoluteOffset and the StartOfLineAbsoluteOffset
-
-
-
-
-
-
-
- The character number in the input stream
-
-
-
-
- Gives a position shifted by specified number of characters
-
-
-
-
- Get a position corresponding to the first line (line number 1) in a given file
-
-
-
-
- Given a position at the start of a token of length n, return a position just beyond the end of the token
-
-
-
-
-
-
-
- Position information stored for lexing tokens
-
-
-
-
- The tag of the error terminal
-
-
-
-
- The total number of terminals
-
-
-
-
- This function is used to hold the user specified "parse_error" or "parse_error_rich" functions
-
-
-
-
- This table is logically part of the Goto table
-
-
-
-
- The sparse table offsets for the productions active for each state
-
-
-
-
- The sparse table for the productions active for each state
-
-
-
-
- The sparse goto table row offsets
-
-
-
-
- The sparse goto table
-
-
-
-
- The immediate action table
-
-
-
-
- The number of symbols for each reduction
-
-
-
-
- The sparse action table row offsets
-
-
-
-
- The sparse action table elements
-
-
-
-
- A function to compute the data carried by a token
-
-
-
-
- A function to compute the tag of a token
-
-
-
-
- The token number indicating the end of input
-
-
-
-
- The reduction table
-
-
-
-
- Interpret the parser table taking input from the given lexer, using the given lex buffer, and the given start state.
- Returns an object indicating the final synthesized value for the parse.
-
-
-
-
- Tables generated by fsyacc
-
-
-
-
- The stack of state indexes active at the parse error
-
-
-
-
- The token that would cause a shift at the parse error
-
-
-
-
- The stack of productions that would be reduced at the parse error
-
-
-
-
- The tokens that would cause a reduction at the parse error
-
-
-
-
- The state active at the parse error
-
-
-
-
- The message associated with the parse error
-
-
-
-
- The token that caused the parse error
-
-
-
-
-
-
-
- Get the full range of positions matched by the production
-
-
-
-
- Get the store of local values associated with this parser
-
-
-
-
- Raise an error in this parse context
-
-
-
-
- Get the start position for the terminal or non-terminal at a given index matched by the production
-
-
-
-
- Get the start and end position for the terminal or non-terminal at a given index matched by the production
-
-
-
-
- Get the end position for the terminal or non-terminal at a given index matched by the production
-
-
-
-
- Get the value produced by the terminal or non-terminal at the given position
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The default implementation of the parse_error function
-
-
-
-
- The default implementation of the parse_error_rich function
-
-
-
-
-
-
-
diff --git a/packages.config b/packages.config
index 6e0a76090e8..bdc97ff6a9d 100644
--- a/packages.config
+++ b/packages.config
@@ -4,7 +4,10 @@
-
+
+
+
+
diff --git a/src/FSharpSource.Settings.targets b/src/FSharpSource.Settings.targets
index 196c04efb52..0f57c852fba 100644
--- a/src/FSharpSource.Settings.targets
+++ b/src/FSharpSource.Settings.targets
@@ -103,10 +103,10 @@
- $(FSharpSourcesRoot)\..\lkg\FSharp-$(LkgVersion)\bin
- $(FSharpSourcesRoot)\..\lkg\FSharp-$(LkgVersion)\bin
- $(FSharpSourcesRoot)\..\lkg\FSharp-$(LkgVersion)\bin
- fsi.exe
+ $(FSharpSourcesRoot)\..\packages\fssrgen.3.1.0\lib\net46
+ $(FSharpSourcesRoot)\..\packages\FsLexYacc.6.1.0\build
+ $(FSharpSourcesRoot)\..\packages\FsLexYacc.6.1.0\build
+ Fsi.exe
fslex.exe
fsyacc.exe
2.0.0-beta6-61005-05
diff --git a/src/FSharpSource.targets b/src/FSharpSource.targets
index 74cc14916f5..55dc21777a9 100644
--- a/src/FSharpSource.targets
+++ b/src/FSharpSource.targets
@@ -181,6 +181,9 @@
$(DefineConstants);TODO_REWORK_SERVER
$(DefineConstants);NO_LOADER_OPTIMIZATION
$(DefineConstants);SILVERLIGHT_COMPILER_FSHARP_CORE
+ $(DefineConstants);NETSTANDARD1_5
+ $(DefineConstants);NETSTANDARD1_6
+ $(DefineConstants);NETCOREAPP1_0
$(OtherFlags) --simpleresolution
v5.0
@@ -529,7 +532,7 @@
-
+
..\..\..\packages\System.ValueTuple.4.0.0-rc3-24212-01\lib\netstandard1.1\System.ValueTuple.dll
-
+
diff --git a/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj b/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj
index f69f0497d91..052913a0639 100644
--- a/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj
+++ b/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj
@@ -529,7 +529,7 @@
-
+
diff --git a/src/fsharp/FSharp.LanguageService.Compiler/FSharp.LanguageService.Compiler.fsproj b/src/fsharp/FSharp.LanguageService.Compiler/FSharp.LanguageService.Compiler.fsproj
index 7223af0163f..44d5b020818 100644
--- a/src/fsharp/FSharp.LanguageService.Compiler/FSharp.LanguageService.Compiler.fsproj
+++ b/src/fsharp/FSharp.LanguageService.Compiler/FSharp.LanguageService.Compiler.fsproj
@@ -603,7 +603,7 @@
-
+
$(OtherFlags) /warnon:1182