<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>metasharp Issue Tracker Rss Feed</title><link>http://metasharp.codeplex.com/WorkItem/List.aspx</link><description>metasharp Issue Tracker Rss Description</description><item><title>Commented Issue: Memoization Fails for large input streams [29]</title><link>http://metasharp.codeplex.com/workitem/29</link><description>When the input stream become large &amp;#40;&amp;#126;1.1M nodes without children, or &amp;#126;6K nodes with children&amp;#41; the ID used to track memos in the memo table ceases to be unique. This causes &amp;#34;garbage&amp;#34; production matches with no error reported.&lt;br /&gt;&lt;br /&gt;Attached is a patch that uses a first-class key to identify the memos &amp;#61;&amp;#62; survives largish inputs. It also places a test after memo retrieval to verify and fail if the memo does not refer to the expected input position. This can be removed once confidence is gained...&lt;br /&gt;Comments: Committed &amp;#35;4e896f18ec7c I will wait for the grammar to reproduce this and make a test before closing this.</description><author>justinc</author><pubDate>Sat, 04 Feb 2012 22:37:05 GMT</pubDate><guid isPermaLink="false">Commented Issue: Memoization Fails for large input streams [29] 20120204103705P</guid></item><item><title>Edited Issue: Memoization Fails for large input streams [29]</title><link>http://metasharp.codeplex.com/workitem/29</link><description>When the input stream become large &amp;#40;&amp;#126;1.1M nodes without children, or &amp;#126;6K nodes with children&amp;#41; the ID used to track memos in the memo table ceases to be unique. This causes &amp;#34;garbage&amp;#34; production matches with no error reported.&lt;br /&gt;&lt;br /&gt;Attached is a patch that uses a first-class key to identify the memos &amp;#61;&amp;#62; survives largish inputs. It also places a test after memo retrieval to verify and fail if the memo does not refer to the expected input position. This can be removed once confidence is gained...&lt;br /&gt;</description><author>justinc</author><pubDate>Sat, 04 Feb 2012 22:37:05 GMT</pubDate><guid isPermaLink="false">Edited Issue: Memoization Fails for large input streams [29] 20120204103705P</guid></item><item><title>Edited Issue: Memoization Fails for large input streams [29]</title><link>http://metasharp.codeplex.com/workitem/29</link><description>When the input stream become large &amp;#40;&amp;#126;1.1M nodes without children, or &amp;#126;6K nodes with children&amp;#41; the ID used to track memos in the memo table ceases to be unique. This causes &amp;#34;garbage&amp;#34; production matches with no error reported.&lt;br /&gt;&lt;br /&gt;Attached is a patch that uses a first-class key to identify the memos &amp;#61;&amp;#62; survives largish inputs. It also places a test after memo retrieval to verify and fail if the memo does not refer to the expected input position. This can be removed once confidence is gained...&lt;br /&gt;</description><author>justinc</author><pubDate>Sat, 04 Feb 2012 22:36:06 GMT</pubDate><guid isPermaLink="false">Edited Issue: Memoization Fails for large input streams [29] 20120204103606P</guid></item><item><title>Commented Issue: Memoization Fails for large input streams [29]</title><link>http://metasharp.codeplex.com/workitem/29</link><description>When the input stream become large &amp;#40;&amp;#126;1.1M nodes without children, or &amp;#126;6K nodes with children&amp;#41; the ID used to track memos in the memo table ceases to be unique. This causes &amp;#34;garbage&amp;#34; production matches with no error reported.&lt;br /&gt;&lt;br /&gt;Attached is a patch that uses a first-class key to identify the memos &amp;#61;&amp;#62; survives largish inputs. It also places a test after memo retrieval to verify and fail if the memo does not refer to the expected input position. This can be removed once confidence is gained...&lt;br /&gt;Comments: Unfortunately with this patch the time it takes to run all the tests goes from about 15s to 30s on my laptop... I will run some perf analysis and see what I can do here.</description><author>justinc</author><pubDate>Sat, 04 Feb 2012 18:47:52 GMT</pubDate><guid isPermaLink="false">Commented Issue: Memoization Fails for large input streams [29] 20120204064752P</guid></item><item><title>Created Feature: Optional primitive [30]</title><link>http://metasharp.codeplex.com/workitem/30</link><description>Rules with the form &amp;#34;w x&amp;#63; y z&amp;#34; should be transformed into&amp;#58;&lt;br /&gt;&lt;br /&gt;And&amp;#40;w, Optional&amp;#40;x, And&amp;#40;y, z&amp;#41;&amp;#41; &lt;br /&gt;&lt;br /&gt;Where optional has the form of &amp;#34;x y z &amp;#124; y z&amp;#34; except the productions are in the same scope as the original form.&lt;br /&gt;</description><author>justinc</author><pubDate>Sat, 04 Feb 2012 00:33:49 GMT</pubDate><guid isPermaLink="false">Created Feature: Optional primitive [30] 20120204123349A</guid></item><item><title>Commented Issue: Memoization Fails for large input streams [29]</title><link>http://metasharp.codeplex.com/workitem/29</link><description>When the input stream become large &amp;#40;&amp;#126;1.1M nodes without children, or &amp;#126;6K nodes with children&amp;#41; the ID used to track memos in the memo table ceases to be unique. This causes &amp;#34;garbage&amp;#34; production matches with no error reported.&lt;br /&gt;&lt;br /&gt;Attached is a patch that uses a first-class key to identify the memos &amp;#61;&amp;#62; survives largish inputs. It also places a test after memo retrieval to verify and fail if the memo does not refer to the expected input position. This can be removed once confidence is gained...&lt;br /&gt;Comments: You mentioned that you had a script that was provoking the collisions earlier, do you have that handy by any chance&amp;#63; I would really like to create a unit test so I can ensure that it&amp;#39;s fixed and that we&amp;#39;re not regressing this issue...</description><author>justinc</author><pubDate>Thu, 02 Feb 2012 18:21:41 GMT</pubDate><guid isPermaLink="false">Commented Issue: Memoization Fails for large input streams [29] 20120202062141P</guid></item><item><title>Created Issue: Memoization Fails for large input streams [29]</title><link>http://metasharp.codeplex.com/workitem/29</link><description>When the input stream become large &amp;#40;&amp;#126;1.1M nodes without children, or &amp;#126;6K nodes with children&amp;#41; the ID used to track memos in the memo table ceases to be unique. This causes &amp;#34;garbage&amp;#34; production matches with no error reported.&lt;br /&gt;&lt;br /&gt;Attached is a patch that uses a first-class key to identify the memos &amp;#61;&amp;#62; survives largish inputs. It also places a test after memo retrieval to verify and fail if the memo does not refer to the expected input position. This can be removed once confidence is gained...&lt;br /&gt;</description><author>Aethon</author><pubDate>Thu, 02 Feb 2012 17:45:07 GMT</pubDate><guid isPermaLink="false">Created Issue: Memoization Fails for large input streams [29] 20120202054507P</guid></item><item><title>Edited Feature: nuget package [28]</title><link>http://metasharp.codeplex.com/workitem/28</link><description>Currently we are packaging the msbuild task in with the VS extension which results in a changing path every time the extension is updated, which causes errors for projects pointing to these assemblies. This is not a reasonable location for build dependencies. Installing these same assets into an administrator protected location is also not acceptable. The solution is to use nuget to deliver per-project dependencies.&lt;br /&gt;&lt;br /&gt;The nuget package should&amp;#58;&lt;br /&gt;&amp;#42; Contain only these files&amp;#58;&lt;br /&gt;  - MetaSharp.Transformation.dll&lt;br /&gt;  - MetaSharp.Build.dll&lt;br /&gt;  - MetaSharp.Build.targets&lt;br /&gt;&amp;#42; Add an &amp;#60;Import &amp;#47;&amp;#62; to the project the package was referenced by to the .targets file.&lt;br /&gt;&lt;br /&gt;The VS Extension should&amp;#58;&lt;br /&gt;&amp;#42; have a dependency on Nuget&lt;br /&gt;&amp;#42; have a project template that already includes the metasharp nuget package referenced and imported.&lt;br /&gt;&amp;#42; not have a command to add meta&amp;#35; to a project &amp;#40;users will use nuget to do this instead&amp;#41;.&lt;br /&gt;&lt;br /&gt;The &amp;#34;build deploy&amp;#34; command should&amp;#58;&lt;br /&gt;&amp;#42; place the nuget package into &amp;#47;deploy&amp;#47;&amp;#36;&amp;#40;Version&amp;#41;&amp;#47;&amp;#36;&amp;#40;Configuration&amp;#41;&amp;#47; alongside the vsix file.&lt;br /&gt;</description><author>justinc</author><pubDate>Tue, 11 Oct 2011 15:44:40 GMT</pubDate><guid isPermaLink="false">Edited Feature: nuget package [28] 20111011034440P</guid></item><item><title>Edited Feature: nuget package [28]</title><link>http://metasharp.codeplex.com/workitem/28</link><description>Currently we are packaging the msbuild task in with the VS extension which results in a changing path every time the extension is updated, which causes errors for projects pointing to these assemblies. This is not a reasonable location for build dependencies. Installing these same assets into an administrator protected location is also not acceptable. The solution is to use nuget to deliver per&amp;#47;project dependencies.&lt;br /&gt;&lt;br /&gt;The nuget package should&amp;#58;&lt;br /&gt;&amp;#42; Contain only these files&amp;#58;&lt;br /&gt;  - MetaSharp.Transformation.dll&lt;br /&gt;  - MetaSharp.Build.dll&lt;br /&gt;  - MetaSharp.Build.targets&lt;br /&gt;&amp;#42; Add an &amp;#60;Import &amp;#47;&amp;#62; to the project the package was referenced by to the .targets file.&lt;br /&gt;&lt;br /&gt;The VS Extension should&amp;#58;&lt;br /&gt;&amp;#42; have a dependency on Nuget&lt;br /&gt;&amp;#42; have a project template that already includes the metasharp nuget package referenced and imported.&lt;br /&gt;&amp;#42; not have a command to add meta&amp;#35; to a project &amp;#40;users will use nuget to do this instead&amp;#41;.&lt;br /&gt;&lt;br /&gt;The &amp;#34;build deploy&amp;#34; command should&amp;#58;&lt;br /&gt;&amp;#42; place the nuget package into &amp;#47;deploy&amp;#47;&amp;#36;&amp;#40;Version&amp;#41;&amp;#47;&amp;#36;&amp;#40;Configuration&amp;#41;&amp;#47; alongside the vsix file.&lt;br /&gt;</description><author>justinc</author><pubDate>Tue, 11 Oct 2011 15:44:01 GMT</pubDate><guid isPermaLink="false">Edited Feature: nuget package [28] 20111011034401P</guid></item><item><title>Created Feature: nuget package [28]</title><link>http://metasharp.codeplex.com/workitem/28</link><description>Currently we are packaging the msbuild task in with the VS extension which results in a changing path every time the extension is updated, which causes errors for projects pointing to these assemblies. This is not a reasonable location for build dependencies. Installing these same assets into an administrator protected location is also not acceptable. The solution is to use nuget to deliver per&amp;#47;project dependencies.&lt;br /&gt;&lt;br /&gt;The nuget package should&amp;#58;&lt;br /&gt;&amp;#42; Contain only these files&amp;#58;&lt;br /&gt;  - MetaSharp.Transformation.dll&lt;br /&gt;  - MetaSharp.Build.dll&lt;br /&gt;  - MetaSharp.Build.targets&lt;br /&gt;&amp;#42; Add an &amp;#60;Import &amp;#47;&amp;#62; to the project the package was referenced by to the .targets file.&lt;br /&gt;&lt;br /&gt;The VS Extension should&amp;#58;&lt;br /&gt;&amp;#42; have a dependency on Nuget&lt;br /&gt;&amp;#42; have a project template that already includes the metasharp nuget package referenced and imported.&lt;br /&gt;&amp;#42; not have a command to add meta&amp;#35; to a project &amp;#40;users will use nuget to do this instead&amp;#41;.&lt;br /&gt;</description><author>justinc</author><pubDate>Tue, 11 Oct 2011 15:41:57 GMT</pubDate><guid isPermaLink="false">Created Feature: nuget package [28] 20111011034157P</guid></item><item><title>Created Issue: Grammar ItemTemplate should say "Meta# Grammar" [27]</title><link>http://metasharp.codeplex.com/workitem/27</link><description>In the item templates right now it just says &amp;#34;Grammar&amp;#34; but to the right it will say &amp;#34;Visual C&amp;#35; Items&amp;#34;. The class item template does just say &amp;#34;Class&amp;#34; but that sort of implies that inside of that template is C&amp;#35; code for a class. Just saying &amp;#34;Grammar&amp;#34; implies that inside will be C&amp;#35; code but instead you get meta&amp;#35; code. Therefore the name should be &amp;#34;Meta&amp;#35; Grammar&amp;#34; to make that distinction more clear. Also the icon should be that of a codefile with the meta&amp;#35; logo &amp;#40;like the C&amp;#35; class template&amp;#41; instead of just the meta&amp;#35; logo.&lt;br /&gt;</description><author>justinc</author><pubDate>Mon, 10 Oct 2011 16:59:09 GMT</pubDate><guid isPermaLink="false">Created Issue: Grammar ItemTemplate should say "Meta# Grammar" [27] 20111010045909P</guid></item><item><title>Closed Issue: MetaSharp Console Window button should be in Windows menu [26]</title><link>http://metasharp.codeplex.com/workitem/26</link><description>Right now it&amp;#39;s in a context menu off a project but it should be in with the list of other windows.&lt;br /&gt;Comments: done.</description><author>justinc</author><pubDate>Sat, 01 Oct 2011 19:55:20 GMT</pubDate><guid isPermaLink="false">Closed Issue: MetaSharp Console Window button should be in Windows menu [26] 20111001075520P</guid></item><item><title>Closed Task: MetaSharp.Build.Test should be built during "build test" [23]</title><link>http://metasharp.codeplex.com/workitem/23</link><description>This project should be run and tested when the &amp;#34;build test&amp;#34; command is issued at the command line.&lt;br /&gt;Comments: obsolete. The project has been replaced by mocking msbuild in the unit test project.</description><author>justinc</author><pubDate>Thu, 29 Sep 2011 02:50:19 GMT</pubDate><guid isPermaLink="false">Closed Task: MetaSharp.Build.Test should be built during "build test" [23] 20110929025019A</guid></item><item><title>Created Issue: MetaSharp Console Window button should be in Windows menu [26]</title><link>http://metasharp.codeplex.com/workitem/26</link><description>Right now it&amp;#39;s in a context menu off a project but it should be in with the list of other windows.&lt;br /&gt;</description><author>justinc</author><pubDate>Sat, 03 Sep 2011 19:54:21 GMT</pubDate><guid isPermaLink="false">Created Issue: MetaSharp Console Window button should be in Windows menu [26] 20110903075421P</guid></item><item><title>Edited Feature: Generate C# from Lang AST [13]</title><link>http://metasharp.codeplex.com/workitem/13</link><description>In an attempt to replace the CodeDom we will need to generate C&amp;#35; ourselves. Write a grammar that visits a Lang AST and generates code into a textwriter service stored in the context.&lt;br /&gt;</description><author>justinc</author><pubDate>Sat, 03 Sep 2011 19:53:06 GMT</pubDate><guid isPermaLink="false">Edited Feature: Generate C# from Lang AST [13] 20110903075306P</guid></item><item><title>Edited Feature: Implement interfaces in Lang. [18]</title><link>http://metasharp.codeplex.com/workitem/18</link><description>allow users to create interfaces using the lang grammar.&lt;br /&gt;</description><author>justinc</author><pubDate>Sat, 03 Sep 2011 19:52:46 GMT</pubDate><guid isPermaLink="false">Edited Feature: Implement interfaces in Lang. [18] 20110903075246P</guid></item><item><title>Edited Feature: Implement Enums in Lang. [19]</title><link>http://metasharp.codeplex.com/workitem/19</link><description>Allow users to declare enums in the Lang grammar. Syntax example&amp;#58;&lt;br /&gt;&lt;br /&gt;public enum Values as int&amp;#58;&lt;br /&gt;  One,&lt;br /&gt;  Two,&lt;br /&gt;  Three &amp;#61; 3&lt;br /&gt;end&lt;br /&gt;</description><author>justinc</author><pubDate>Sat, 03 Sep 2011 19:52:33 GMT</pubDate><guid isPermaLink="false">Edited Feature: Implement Enums in Lang. [19] 20110903075233P</guid></item><item><title>Edited Feature: Implement quasi quotes for Lang. [21]</title><link>http://metasharp.codeplex.com/workitem/21</link><description>Quasi quotes return the ast of the generated code rather than the code itself. Example syntax&amp;#58;&lt;br /&gt;&lt;br /&gt;string x &amp;#61; &amp;#34;foo&amp;#34;&amp;#59;&lt;br /&gt;CodeObject ast &amp;#61; &amp;#91;&amp;#124; public class &amp;#36;x&amp;#58; &amp;#36;y.Members end &amp;#124;&amp;#93;&amp;#59;&lt;br /&gt;&lt;br /&gt;The following would return a new CodeTypeMember&amp;#40;...&amp;#41; expression.&lt;br /&gt;</description><author>justinc</author><pubDate>Sat, 03 Sep 2011 19:52:20 GMT</pubDate><guid isPermaLink="false">Edited Feature: Implement quasi quotes for Lang. [21] 20110903075220P</guid></item><item><title>Closed Feature: InvalidTypeDeclaration node. [17]</title><link>http://metasharp.codeplex.com/workitem/17</link><description>Inside of the Lang namespace rule, if it fails to parse a block of code completely it should instead read it all and return an InvalidTypeDeclaration node &amp;#40;assume valid imports for now&amp;#41;. Next a new grammar should be created that visits the code dom and looks for InvalidTypeDeclaration objects inside of namespaces and calls into an IErrorReporterService in a projection.&lt;br /&gt;&lt;br /&gt;Put the new Grammar in &amp;#47;src&amp;#47;MetaSharp.Transformation&amp;#47;GrammarErrorReporter.g, the IErrorReporterService should go into &amp;#47;src&amp;#47;MetaSharp.Transformation.&lt;br /&gt;&lt;br /&gt;Mock the error reporter in the unit tests. In other work items we will create an error reporter for the msbuild project and another for the VS project.&lt;br /&gt;Comments: This functionality is now obsolete, in favor of using error logging behavior. Now we will produce valid types but the presence of errors is used to determine if it&amp;#39;s valid or not.</description><author>justinc</author><pubDate>Sat, 03 Sep 2011 19:47:21 GMT</pubDate><guid isPermaLink="false">Closed Feature: InvalidTypeDeclaration node. [17] 20110903074721P</guid></item><item><title>Closed Feature: Statement rule should never return Fail. [22]</title><link>http://metasharp.codeplex.com/workitem/22</link><description>The statement rule should always read up to the next StatementEnd or BlockEnd. If it cannot find a valid Statement it should return an InvalidStatement.&lt;br /&gt;Comments: All statements now uses error unless rule to ensure that Statement never returns Fail.</description><author>justinc</author><pubDate>Sat, 03 Sep 2011 19:45:19 GMT</pubDate><guid isPermaLink="false">Closed Feature: Statement rule should never return Fail. [22] 20110903074519P</guid></item></channel></rss>