Pārlūkot izejas kodu

Adds support for basic SRV resources and some help to dndxc. (#1160)

Add an optional extended description…
Marcelo Lopez Ruiz 7 gadi atpakaļ
vecāks
revīzija
1fea2b7162

+ 156 - 154
tools/clang/tools/dotnetc/EditorForm.Designer.cs

@@ -149,17 +149,17 @@ namespace MainNs
             this.TheStatusStrip.ImageScalingSize = new System.Drawing.Size(24, 24);
             this.TheStatusStrip.ImageScalingSize = new System.Drawing.Size(24, 24);
             this.TheStatusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.TheStatusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.TheStatusStripLabel});
             this.TheStatusStripLabel});
-            this.TheStatusStrip.Location = new System.Drawing.Point(0, 365);
+            this.TheStatusStrip.Location = new System.Drawing.Point(0, 187);
             this.TheStatusStrip.Name = "TheStatusStrip";
             this.TheStatusStrip.Name = "TheStatusStrip";
-            this.TheStatusStrip.Padding = new System.Windows.Forms.Padding(4, 0, 15, 0);
-            this.TheStatusStrip.Size = new System.Drawing.Size(1202, 37);
+            this.TheStatusStrip.Padding = new System.Windows.Forms.Padding(2, 0, 8, 0);
+            this.TheStatusStrip.Size = new System.Drawing.Size(601, 22);
             this.TheStatusStrip.TabIndex = 0;
             this.TheStatusStrip.TabIndex = 0;
             this.TheStatusStrip.Text = "statusStrip1";
             this.TheStatusStrip.Text = "statusStrip1";
             // 
             // 
             // TheStatusStripLabel
             // TheStatusStripLabel
             // 
             // 
             this.TheStatusStripLabel.Name = "TheStatusStripLabel";
             this.TheStatusStripLabel.Name = "TheStatusStripLabel";
-            this.TheStatusStripLabel.Size = new System.Drawing.Size(84, 32);
+            this.TheStatusStripLabel.Size = new System.Drawing.Size(42, 17);
             this.TheStatusStripLabel.Text = "Ready.";
             this.TheStatusStripLabel.Text = "Ready.";
             // 
             // 
             // TheMenuStrip
             // TheMenuStrip
@@ -174,7 +174,8 @@ namespace MainNs
             this.helpToolStripMenuItem});
             this.helpToolStripMenuItem});
             this.TheMenuStrip.Location = new System.Drawing.Point(0, 0);
             this.TheMenuStrip.Location = new System.Drawing.Point(0, 0);
             this.TheMenuStrip.Name = "TheMenuStrip";
             this.TheMenuStrip.Name = "TheMenuStrip";
-            this.TheMenuStrip.Size = new System.Drawing.Size(1202, 42);
+            this.TheMenuStrip.Padding = new System.Windows.Forms.Padding(3, 1, 0, 1);
+            this.TheMenuStrip.Size = new System.Drawing.Size(601, 24);
             this.TheMenuStrip.TabIndex = 1;
             this.TheMenuStrip.TabIndex = 1;
             this.TheMenuStrip.Text = "menuStrip1";
             this.TheMenuStrip.Text = "menuStrip1";
             // 
             // 
@@ -190,7 +191,7 @@ namespace MainNs
             this.toolStripMenuItem4,
             this.toolStripMenuItem4,
             this.exitToolStripMenuItem});
             this.exitToolStripMenuItem});
             this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
             this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
-            this.fileToolStripMenuItem.Size = new System.Drawing.Size(64, 36);
+            this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 22);
             this.fileToolStripMenuItem.Text = "&File";
             this.fileToolStripMenuItem.Text = "&File";
             this.fileToolStripMenuItem.DropDownOpening += new System.EventHandler(this.fileToolStripMenuItem_DropDownOpening);
             this.fileToolStripMenuItem.DropDownOpening += new System.EventHandler(this.fileToolStripMenuItem_DropDownOpening);
             // 
             // 
@@ -198,7 +199,7 @@ namespace MainNs
             // 
             // 
             this.NewToolStripMenuItem.Name = "NewToolStripMenuItem";
             this.NewToolStripMenuItem.Name = "NewToolStripMenuItem";
             this.NewToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
             this.NewToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
-            this.NewToolStripMenuItem.Size = new System.Drawing.Size(274, 38);
+            this.NewToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
             this.NewToolStripMenuItem.Text = "&New";
             this.NewToolStripMenuItem.Text = "&New";
             this.NewToolStripMenuItem.Click += new System.EventHandler(this.NewToolStripMenuItem_Click);
             this.NewToolStripMenuItem.Click += new System.EventHandler(this.NewToolStripMenuItem_Click);
             // 
             // 
@@ -206,7 +207,7 @@ namespace MainNs
             // 
             // 
             this.openToolStripMenuItem.Name = "openToolStripMenuItem";
             this.openToolStripMenuItem.Name = "openToolStripMenuItem";
             this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
             this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
-            this.openToolStripMenuItem.Size = new System.Drawing.Size(274, 38);
+            this.openToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
             this.openToolStripMenuItem.Text = "&Open...";
             this.openToolStripMenuItem.Text = "&Open...";
             this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
             this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
             // 
             // 
@@ -214,37 +215,37 @@ namespace MainNs
             // 
             // 
             this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
             this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
             this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
             this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
-            this.saveToolStripMenuItem.Size = new System.Drawing.Size(274, 38);
+            this.saveToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
             this.saveToolStripMenuItem.Text = "&Save";
             this.saveToolStripMenuItem.Text = "&Save";
             this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
             this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
             // 
             // 
             // saveAsToolStripMenuItem
             // saveAsToolStripMenuItem
             // 
             // 
             this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
             this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem";
-            this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(274, 38);
+            this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
             this.saveAsToolStripMenuItem.Text = "Save &As...";
             this.saveAsToolStripMenuItem.Text = "Save &As...";
             this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
             this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click);
             // 
             // 
             // toolStripSeparator1
             // toolStripSeparator1
             // 
             // 
             this.toolStripSeparator1.Name = "toolStripSeparator1";
             this.toolStripSeparator1.Name = "toolStripSeparator1";
-            this.toolStripSeparator1.Size = new System.Drawing.Size(271, 6);
+            this.toolStripSeparator1.Size = new System.Drawing.Size(152, 6);
             // 
             // 
             // recentFilesToolStripMenuItem
             // recentFilesToolStripMenuItem
             // 
             // 
             this.recentFilesToolStripMenuItem.Name = "recentFilesToolStripMenuItem";
             this.recentFilesToolStripMenuItem.Name = "recentFilesToolStripMenuItem";
-            this.recentFilesToolStripMenuItem.Size = new System.Drawing.Size(274, 38);
+            this.recentFilesToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
             this.recentFilesToolStripMenuItem.Text = "Recent &Files";
             this.recentFilesToolStripMenuItem.Text = "Recent &Files";
             // 
             // 
             // toolStripMenuItem4
             // toolStripMenuItem4
             // 
             // 
             this.toolStripMenuItem4.Name = "toolStripMenuItem4";
             this.toolStripMenuItem4.Name = "toolStripMenuItem4";
-            this.toolStripMenuItem4.Size = new System.Drawing.Size(271, 6);
+            this.toolStripMenuItem4.Size = new System.Drawing.Size(152, 6);
             // 
             // 
             // exitToolStripMenuItem
             // exitToolStripMenuItem
             // 
             // 
             this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
             this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
-            this.exitToolStripMenuItem.Size = new System.Drawing.Size(274, 38);
+            this.exitToolStripMenuItem.Size = new System.Drawing.Size(155, 22);
             this.exitToolStripMenuItem.Text = "E&xit";
             this.exitToolStripMenuItem.Text = "E&xit";
             this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
             this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
             // 
             // 
@@ -266,27 +267,27 @@ namespace MainNs
             this.FontGrowToolStripMenuItem,
             this.FontGrowToolStripMenuItem,
             this.FontShrinkToolStripMenuItem});
             this.FontShrinkToolStripMenuItem});
             this.editToolStripMenuItem.Name = "editToolStripMenuItem";
             this.editToolStripMenuItem.Name = "editToolStripMenuItem";
-            this.editToolStripMenuItem.Size = new System.Drawing.Size(67, 36);
+            this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 22);
             this.editToolStripMenuItem.Text = "&Edit";
             this.editToolStripMenuItem.Text = "&Edit";
             // 
             // 
             // undoToolStripMenuItem
             // undoToolStripMenuItem
             // 
             // 
             this.undoToolStripMenuItem.Name = "undoToolStripMenuItem";
             this.undoToolStripMenuItem.Name = "undoToolStripMenuItem";
             this.undoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z)));
             this.undoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z)));
-            this.undoToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.undoToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.undoToolStripMenuItem.Text = "&Undo";
             this.undoToolStripMenuItem.Text = "&Undo";
             this.undoToolStripMenuItem.Click += new System.EventHandler(this.undoToolStripMenuItem_Click);
             this.undoToolStripMenuItem.Click += new System.EventHandler(this.undoToolStripMenuItem_Click);
             // 
             // 
             // toolStripMenuItem1
             // toolStripMenuItem1
             // 
             // 
             this.toolStripMenuItem1.Name = "toolStripMenuItem1";
             this.toolStripMenuItem1.Name = "toolStripMenuItem1";
-            this.toolStripMenuItem1.Size = new System.Drawing.Size(293, 6);
+            this.toolStripMenuItem1.Size = new System.Drawing.Size(161, 6);
             // 
             // 
             // cutToolStripMenuItem
             // cutToolStripMenuItem
             // 
             // 
             this.cutToolStripMenuItem.Name = "cutToolStripMenuItem";
             this.cutToolStripMenuItem.Name = "cutToolStripMenuItem";
             this.cutToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)));
             this.cutToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X)));
-            this.cutToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.cutToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.cutToolStripMenuItem.Text = "Cu&t";
             this.cutToolStripMenuItem.Text = "Cu&t";
             this.cutToolStripMenuItem.Click += new System.EventHandler(this.cutToolStripMenuItem_Click);
             this.cutToolStripMenuItem.Click += new System.EventHandler(this.cutToolStripMenuItem_Click);
             // 
             // 
@@ -294,7 +295,7 @@ namespace MainNs
             // 
             // 
             this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
             this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
             this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
             this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
-            this.copyToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.copyToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.copyToolStripMenuItem.Text = "&Copy";
             this.copyToolStripMenuItem.Text = "&Copy";
             this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
             this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
             // 
             // 
@@ -302,48 +303,48 @@ namespace MainNs
             // 
             // 
             this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem";
             this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem";
             this.pasteToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
             this.pasteToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
-            this.pasteToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.pasteToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.pasteToolStripMenuItem.Text = "&Paste";
             this.pasteToolStripMenuItem.Text = "&Paste";
             this.pasteToolStripMenuItem.Click += new System.EventHandler(this.pasteToolStripMenuItem_Click);
             this.pasteToolStripMenuItem.Click += new System.EventHandler(this.pasteToolStripMenuItem_Click);
             // 
             // 
             // deleteToolStripMenuItem
             // deleteToolStripMenuItem
             // 
             // 
             this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem";
             this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem";
-            this.deleteToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.deleteToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.deleteToolStripMenuItem.Text = "&Delete";
             this.deleteToolStripMenuItem.Text = "&Delete";
             this.deleteToolStripMenuItem.Click += new System.EventHandler(this.deleteToolStripMenuItem_Click);
             this.deleteToolStripMenuItem.Click += new System.EventHandler(this.deleteToolStripMenuItem_Click);
             // 
             // 
             // toolStripMenuItem2
             // toolStripMenuItem2
             // 
             // 
             this.toolStripMenuItem2.Name = "toolStripMenuItem2";
             this.toolStripMenuItem2.Name = "toolStripMenuItem2";
-            this.toolStripMenuItem2.Size = new System.Drawing.Size(293, 6);
+            this.toolStripMenuItem2.Size = new System.Drawing.Size(161, 6);
             // 
             // 
             // selectAllToolStripMenuItem
             // selectAllToolStripMenuItem
             // 
             // 
             this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
             this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem";
             this.selectAllToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A)));
             this.selectAllToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.A)));
-            this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.selectAllToolStripMenuItem.Text = "Select &All";
             this.selectAllToolStripMenuItem.Text = "Select &All";
             this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
             this.selectAllToolStripMenuItem.Click += new System.EventHandler(this.selectAllToolStripMenuItem_Click);
             // 
             // 
             // toolStripMenuItem3
             // toolStripMenuItem3
             // 
             // 
             this.toolStripMenuItem3.Name = "toolStripMenuItem3";
             this.toolStripMenuItem3.Name = "toolStripMenuItem3";
-            this.toolStripMenuItem3.Size = new System.Drawing.Size(293, 6);
+            this.toolStripMenuItem3.Size = new System.Drawing.Size(161, 6);
             // 
             // 
             // findAndReplaceToolStripMenuItem
             // findAndReplaceToolStripMenuItem
             // 
             // 
             this.findAndReplaceToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.findAndReplaceToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.quickFindToolStripMenuItem});
             this.quickFindToolStripMenuItem});
             this.findAndReplaceToolStripMenuItem.Name = "findAndReplaceToolStripMenuItem";
             this.findAndReplaceToolStripMenuItem.Name = "findAndReplaceToolStripMenuItem";
-            this.findAndReplaceToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.findAndReplaceToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.findAndReplaceToolStripMenuItem.Text = "&Find and Replace";
             this.findAndReplaceToolStripMenuItem.Text = "&Find and Replace";
             // 
             // 
             // quickFindToolStripMenuItem
             // quickFindToolStripMenuItem
             // 
             // 
             this.quickFindToolStripMenuItem.Name = "quickFindToolStripMenuItem";
             this.quickFindToolStripMenuItem.Name = "quickFindToolStripMenuItem";
             this.quickFindToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
             this.quickFindToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
-            this.quickFindToolStripMenuItem.Size = new System.Drawing.Size(308, 38);
+            this.quickFindToolStripMenuItem.Size = new System.Drawing.Size(171, 22);
             this.quickFindToolStripMenuItem.Text = "Quick &Find";
             this.quickFindToolStripMenuItem.Text = "Quick &Find";
             this.quickFindToolStripMenuItem.Click += new System.EventHandler(this.quickFindToolStripMenuItem_Click);
             this.quickFindToolStripMenuItem.Click += new System.EventHandler(this.quickFindToolStripMenuItem_Click);
             // 
             // 
@@ -351,14 +352,14 @@ namespace MainNs
             // 
             // 
             this.goToToolStripMenuItem.Name = "goToToolStripMenuItem";
             this.goToToolStripMenuItem.Name = "goToToolStripMenuItem";
             this.goToToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G)));
             this.goToToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G)));
-            this.goToToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.goToToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.goToToolStripMenuItem.Text = "&Go To...";
             this.goToToolStripMenuItem.Text = "&Go To...";
             this.goToToolStripMenuItem.Click += new System.EventHandler(this.goToToolStripMenuItem_Click);
             this.goToToolStripMenuItem.Click += new System.EventHandler(this.goToToolStripMenuItem_Click);
             // 
             // 
             // fileVariablesToolStripMenuItem
             // fileVariablesToolStripMenuItem
             // 
             // 
             this.fileVariablesToolStripMenuItem.Name = "fileVariablesToolStripMenuItem";
             this.fileVariablesToolStripMenuItem.Name = "fileVariablesToolStripMenuItem";
-            this.fileVariablesToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.fileVariablesToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.fileVariablesToolStripMenuItem.Text = "File &Variables...";
             this.fileVariablesToolStripMenuItem.Text = "File &Variables...";
             this.fileVariablesToolStripMenuItem.Click += new System.EventHandler(this.fileVariablesToolStripMenuItem_Click);
             this.fileVariablesToolStripMenuItem.Click += new System.EventHandler(this.fileVariablesToolStripMenuItem_Click);
             // 
             // 
@@ -368,7 +369,7 @@ namespace MainNs
             this.FontGrowToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) 
             this.FontGrowToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) 
             | System.Windows.Forms.Keys.OemPeriod)));
             | System.Windows.Forms.Keys.OemPeriod)));
             this.FontGrowToolStripMenuItem.ShowShortcutKeys = false;
             this.FontGrowToolStripMenuItem.ShowShortcutKeys = false;
-            this.FontGrowToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.FontGrowToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.FontGrowToolStripMenuItem.Text = "Font G&row";
             this.FontGrowToolStripMenuItem.Text = "Font G&row";
             this.FontGrowToolStripMenuItem.Click += new System.EventHandler(this.FontGrowToolStripMenuItem_Click);
             this.FontGrowToolStripMenuItem.Click += new System.EventHandler(this.FontGrowToolStripMenuItem_Click);
             // 
             // 
@@ -378,7 +379,7 @@ namespace MainNs
             this.FontShrinkToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) 
             this.FontShrinkToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) 
             | System.Windows.Forms.Keys.Oemcomma)));
             | System.Windows.Forms.Keys.Oemcomma)));
             this.FontShrinkToolStripMenuItem.ShowShortcutKeys = false;
             this.FontShrinkToolStripMenuItem.ShowShortcutKeys = false;
-            this.FontShrinkToolStripMenuItem.Size = new System.Drawing.Size(296, 38);
+            this.FontShrinkToolStripMenuItem.Size = new System.Drawing.Size(164, 22);
             this.FontShrinkToolStripMenuItem.Text = "Font Shrin&k";
             this.FontShrinkToolStripMenuItem.Text = "Font Shrin&k";
             this.FontShrinkToolStripMenuItem.Click += new System.EventHandler(this.FontShrinkToolStripMenuItem_Click);
             this.FontShrinkToolStripMenuItem.Click += new System.EventHandler(this.FontShrinkToolStripMenuItem_Click);
             // 
             // 
@@ -394,62 +395,62 @@ namespace MainNs
             this.renderToolStripMenuItem,
             this.renderToolStripMenuItem,
             this.outputToolStripMenuItem});
             this.outputToolStripMenuItem});
             this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
             this.viewToolStripMenuItem.Name = "viewToolStripMenuItem";
-            this.viewToolStripMenuItem.Size = new System.Drawing.Size(78, 36);
+            this.viewToolStripMenuItem.Size = new System.Drawing.Size(44, 22);
             this.viewToolStripMenuItem.Text = "&View";
             this.viewToolStripMenuItem.Text = "&View";
             // 
             // 
             // autoUpdateToolStripMenuItem
             // autoUpdateToolStripMenuItem
             // 
             // 
             this.autoUpdateToolStripMenuItem.Name = "autoUpdateToolStripMenuItem";
             this.autoUpdateToolStripMenuItem.Name = "autoUpdateToolStripMenuItem";
-            this.autoUpdateToolStripMenuItem.Size = new System.Drawing.Size(378, 38);
+            this.autoUpdateToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
             this.autoUpdateToolStripMenuItem.Text = "&Auto-Update";
             this.autoUpdateToolStripMenuItem.Text = "&Auto-Update";
             this.autoUpdateToolStripMenuItem.Click += new System.EventHandler(this.autoUpdateToolStripMenuItem_Click);
             this.autoUpdateToolStripMenuItem.Click += new System.EventHandler(this.autoUpdateToolStripMenuItem_Click);
             // 
             // 
             // bitstreamToolStripMenuItem
             // bitstreamToolStripMenuItem
             // 
             // 
             this.bitstreamToolStripMenuItem.Name = "bitstreamToolStripMenuItem";
             this.bitstreamToolStripMenuItem.Name = "bitstreamToolStripMenuItem";
-            this.bitstreamToolStripMenuItem.Size = new System.Drawing.Size(378, 38);
+            this.bitstreamToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
             this.bitstreamToolStripMenuItem.Text = "&Bitstream";
             this.bitstreamToolStripMenuItem.Text = "&Bitstream";
             this.bitstreamToolStripMenuItem.Click += new System.EventHandler(this.bitstreamToolStripMenuItem_Click);
             this.bitstreamToolStripMenuItem.Click += new System.EventHandler(this.bitstreamToolStripMenuItem_Click);
             // 
             // 
             // bitstreamFromClipboardToolStripMenuItem
             // bitstreamFromClipboardToolStripMenuItem
             // 
             // 
             this.bitstreamFromClipboardToolStripMenuItem.Name = "bitstreamFromClipboardToolStripMenuItem";
             this.bitstreamFromClipboardToolStripMenuItem.Name = "bitstreamFromClipboardToolStripMenuItem";
-            this.bitstreamFromClipboardToolStripMenuItem.Size = new System.Drawing.Size(378, 38);
+            this.bitstreamFromClipboardToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
             this.bitstreamFromClipboardToolStripMenuItem.Text = "Bitstream from clipboard";
             this.bitstreamFromClipboardToolStripMenuItem.Text = "Bitstream from clipboard";
             this.bitstreamFromClipboardToolStripMenuItem.Click += new System.EventHandler(this.bitstreamFromClipboardToolStripMenuItem_Click);
             this.bitstreamFromClipboardToolStripMenuItem.Click += new System.EventHandler(this.bitstreamFromClipboardToolStripMenuItem_Click);
             // 
             // 
             // ColorMenuItem
             // ColorMenuItem
             // 
             // 
             this.ColorMenuItem.Name = "ColorMenuItem";
             this.ColorMenuItem.Name = "ColorMenuItem";
-            this.ColorMenuItem.Size = new System.Drawing.Size(378, 38);
+            this.ColorMenuItem.Size = new System.Drawing.Size(206, 22);
             this.ColorMenuItem.Text = "&Color";
             this.ColorMenuItem.Text = "&Color";
             this.ColorMenuItem.Click += new System.EventHandler(this.colorToolStripMenuItem_Click);
             this.ColorMenuItem.Click += new System.EventHandler(this.colorToolStripMenuItem_Click);
             // 
             // 
             // debugInformationToolStripMenuItem
             // debugInformationToolStripMenuItem
             // 
             // 
             this.debugInformationToolStripMenuItem.Name = "debugInformationToolStripMenuItem";
             this.debugInformationToolStripMenuItem.Name = "debugInformationToolStripMenuItem";
-            this.debugInformationToolStripMenuItem.Size = new System.Drawing.Size(378, 38);
+            this.debugInformationToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
             this.debugInformationToolStripMenuItem.Text = "&Debug Information";
             this.debugInformationToolStripMenuItem.Text = "&Debug Information";
             this.debugInformationToolStripMenuItem.Click += new System.EventHandler(this.debugInformationToolStripMenuItem_Click);
             this.debugInformationToolStripMenuItem.Click += new System.EventHandler(this.debugInformationToolStripMenuItem_Click);
             // 
             // 
             // errorListToolStripMenuItem
             // errorListToolStripMenuItem
             // 
             // 
             this.errorListToolStripMenuItem.Name = "errorListToolStripMenuItem";
             this.errorListToolStripMenuItem.Name = "errorListToolStripMenuItem";
-            this.errorListToolStripMenuItem.Size = new System.Drawing.Size(378, 38);
+            this.errorListToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
             this.errorListToolStripMenuItem.Text = "Error L&ist";
             this.errorListToolStripMenuItem.Text = "Error L&ist";
             this.errorListToolStripMenuItem.Click += new System.EventHandler(this.errorListToolStripMenuItem_Click);
             this.errorListToolStripMenuItem.Click += new System.EventHandler(this.errorListToolStripMenuItem_Click);
             // 
             // 
             // renderToolStripMenuItem
             // renderToolStripMenuItem
             // 
             // 
             this.renderToolStripMenuItem.Name = "renderToolStripMenuItem";
             this.renderToolStripMenuItem.Name = "renderToolStripMenuItem";
-            this.renderToolStripMenuItem.Size = new System.Drawing.Size(378, 38);
+            this.renderToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
             this.renderToolStripMenuItem.Text = "&Render";
             this.renderToolStripMenuItem.Text = "&Render";
             this.renderToolStripMenuItem.Click += new System.EventHandler(this.renderToolStripMenuItem_Click);
             this.renderToolStripMenuItem.Click += new System.EventHandler(this.renderToolStripMenuItem_Click);
             // 
             // 
             // outputToolStripMenuItem
             // outputToolStripMenuItem
             // 
             // 
             this.outputToolStripMenuItem.Name = "outputToolStripMenuItem";
             this.outputToolStripMenuItem.Name = "outputToolStripMenuItem";
-            this.outputToolStripMenuItem.Size = new System.Drawing.Size(378, 38);
+            this.outputToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
             this.outputToolStripMenuItem.Text = "&Output";
             this.outputToolStripMenuItem.Text = "&Output";
             this.outputToolStripMenuItem.Click += new System.EventHandler(this.outputToolStripMenuItem_Click);
             this.outputToolStripMenuItem.Click += new System.EventHandler(this.outputToolStripMenuItem_Click);
             // 
             // 
@@ -459,21 +460,21 @@ namespace MainNs
             this.compileToolStripMenuItem,
             this.compileToolStripMenuItem,
             this.exportCompiledObjectToolStripMenuItem});
             this.exportCompiledObjectToolStripMenuItem});
             this.buildToolStripMenuItem.Name = "buildToolStripMenuItem";
             this.buildToolStripMenuItem.Name = "buildToolStripMenuItem";
-            this.buildToolStripMenuItem.Size = new System.Drawing.Size(81, 36);
+            this.buildToolStripMenuItem.Size = new System.Drawing.Size(46, 22);
             this.buildToolStripMenuItem.Text = "&Build";
             this.buildToolStripMenuItem.Text = "&Build";
             // 
             // 
             // compileToolStripMenuItem
             // compileToolStripMenuItem
             // 
             // 
             this.compileToolStripMenuItem.Name = "compileToolStripMenuItem";
             this.compileToolStripMenuItem.Name = "compileToolStripMenuItem";
             this.compileToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F7)));
             this.compileToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F7)));
-            this.compileToolStripMenuItem.Size = new System.Drawing.Size(368, 38);
+            this.compileToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
             this.compileToolStripMenuItem.Text = "Co&mpile";
             this.compileToolStripMenuItem.Text = "Co&mpile";
             this.compileToolStripMenuItem.Click += new System.EventHandler(this.compileToolStripMenuItem_Click);
             this.compileToolStripMenuItem.Click += new System.EventHandler(this.compileToolStripMenuItem_Click);
             // 
             // 
             // exportCompiledObjectToolStripMenuItem
             // exportCompiledObjectToolStripMenuItem
             // 
             // 
             this.exportCompiledObjectToolStripMenuItem.Name = "exportCompiledObjectToolStripMenuItem";
             this.exportCompiledObjectToolStripMenuItem.Name = "exportCompiledObjectToolStripMenuItem";
-            this.exportCompiledObjectToolStripMenuItem.Size = new System.Drawing.Size(368, 38);
+            this.exportCompiledObjectToolStripMenuItem.Size = new System.Drawing.Size(200, 22);
             this.exportCompiledObjectToolStripMenuItem.Text = "&Export Compiled Object";
             this.exportCompiledObjectToolStripMenuItem.Text = "&Export Compiled Object";
             this.exportCompiledObjectToolStripMenuItem.Click += new System.EventHandler(this.exportCompiledObjectToolStripMenuItem_Click);
             this.exportCompiledObjectToolStripMenuItem.Click += new System.EventHandler(this.exportCompiledObjectToolStripMenuItem_Click);
             // 
             // 
@@ -484,27 +485,27 @@ namespace MainNs
             this.rewriterToolStripMenuItem,
             this.rewriterToolStripMenuItem,
             this.rewriteNobodyToolStripMenuItem});
             this.rewriteNobodyToolStripMenuItem});
             this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
             this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem";
-            this.toolsToolStripMenuItem.Size = new System.Drawing.Size(82, 36);
+            this.toolsToolStripMenuItem.Size = new System.Drawing.Size(47, 22);
             this.toolsToolStripMenuItem.Text = "&Tools";
             this.toolsToolStripMenuItem.Text = "&Tools";
             // 
             // 
             // optionsToolStripMenuItem
             // optionsToolStripMenuItem
             // 
             // 
             this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
             this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
-            this.optionsToolStripMenuItem.Size = new System.Drawing.Size(278, 38);
+            this.optionsToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
             this.optionsToolStripMenuItem.Text = "&Options...";
             this.optionsToolStripMenuItem.Text = "&Options...";
             this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click);
             this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click);
             // 
             // 
             // rewriterToolStripMenuItem
             // rewriterToolStripMenuItem
             // 
             // 
             this.rewriterToolStripMenuItem.Name = "rewriterToolStripMenuItem";
             this.rewriterToolStripMenuItem.Name = "rewriterToolStripMenuItem";
-            this.rewriterToolStripMenuItem.Size = new System.Drawing.Size(278, 38);
+            this.rewriterToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
             this.rewriterToolStripMenuItem.Text = "Rewriter";
             this.rewriterToolStripMenuItem.Text = "Rewriter";
             this.rewriterToolStripMenuItem.Click += new System.EventHandler(this.rewriterToolStripMenuItem_Click);
             this.rewriterToolStripMenuItem.Click += new System.EventHandler(this.rewriterToolStripMenuItem_Click);
             // 
             // 
             // rewriteNobodyToolStripMenuItem
             // rewriteNobodyToolStripMenuItem
             // 
             // 
             this.rewriteNobodyToolStripMenuItem.Name = "rewriteNobodyToolStripMenuItem";
             this.rewriteNobodyToolStripMenuItem.Name = "rewriteNobodyToolStripMenuItem";
-            this.rewriteNobodyToolStripMenuItem.Size = new System.Drawing.Size(278, 38);
+            this.rewriteNobodyToolStripMenuItem.Size = new System.Drawing.Size(156, 22);
             this.rewriteNobodyToolStripMenuItem.Text = "RewriteNobody";
             this.rewriteNobodyToolStripMenuItem.Text = "RewriteNobody";
             this.rewriteNobodyToolStripMenuItem.Click += new System.EventHandler(this.rewriteNobodyToolStripMenuItem_Click);
             this.rewriteNobodyToolStripMenuItem.Click += new System.EventHandler(this.rewriteNobodyToolStripMenuItem_Click);
             // 
             // 
@@ -513,13 +514,13 @@ namespace MainNs
             this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.aboutToolStripMenuItem});
             this.aboutToolStripMenuItem});
             this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
             this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
-            this.helpToolStripMenuItem.Size = new System.Drawing.Size(77, 36);
+            this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 22);
             this.helpToolStripMenuItem.Text = "&Help";
             this.helpToolStripMenuItem.Text = "&Help";
             // 
             // 
             // aboutToolStripMenuItem
             // aboutToolStripMenuItem
             // 
             // 
             this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
             this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
-            this.aboutToolStripMenuItem.Size = new System.Drawing.Size(194, 38);
+            this.aboutToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
             this.aboutToolStripMenuItem.Text = "&About...";
             this.aboutToolStripMenuItem.Text = "&About...";
             this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
             this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
             // 
             // 
@@ -527,7 +528,7 @@ namespace MainNs
             // 
             // 
             this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.splitContainer1.Location = new System.Drawing.Point(0, 0);
             this.splitContainer1.Location = new System.Drawing.Point(0, 0);
-            this.splitContainer1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.splitContainer1.Margin = new System.Windows.Forms.Padding(2);
             this.splitContainer1.Name = "splitContainer1";
             this.splitContainer1.Name = "splitContainer1";
             // 
             // 
             // splitContainer1.Panel1
             // splitContainer1.Panel1
@@ -537,8 +538,9 @@ namespace MainNs
             // splitContainer1.Panel2
             // splitContainer1.Panel2
             // 
             // 
             this.splitContainer1.Panel2.Controls.Add(this.AnalysisTabControl);
             this.splitContainer1.Panel2.Controls.Add(this.AnalysisTabControl);
-            this.splitContainer1.Size = new System.Drawing.Size(1202, 323);
-            this.splitContainer1.SplitterDistance = 433;
+            this.splitContainer1.Size = new System.Drawing.Size(601, 163);
+            this.splitContainer1.SplitterDistance = 216;
+            this.splitContainer1.SplitterWidth = 2;
             this.splitContainer1.TabIndex = 2;
             this.splitContainer1.TabIndex = 2;
             // 
             // 
             // CodeBox
             // CodeBox
@@ -546,14 +548,15 @@ namespace MainNs
             this.CodeBox.Dock = System.Windows.Forms.DockStyle.Fill;
             this.CodeBox.Dock = System.Windows.Forms.DockStyle.Fill;
             this.CodeBox.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.CodeBox.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.CodeBox.Location = new System.Drawing.Point(0, 0);
             this.CodeBox.Location = new System.Drawing.Point(0, 0);
-            this.CodeBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.CodeBox.Margin = new System.Windows.Forms.Padding(2);
             this.CodeBox.Name = "CodeBox";
             this.CodeBox.Name = "CodeBox";
-            this.CodeBox.Size = new System.Drawing.Size(433, 323);
+            this.CodeBox.Size = new System.Drawing.Size(216, 163);
             this.CodeBox.TabIndex = 0;
             this.CodeBox.TabIndex = 0;
             this.CodeBox.Text = "";
             this.CodeBox.Text = "";
             this.CodeBox.WordWrap = false;
             this.CodeBox.WordWrap = false;
             this.CodeBox.SelectionChanged += new System.EventHandler(this.CodeBox_SelectionChanged);
             this.CodeBox.SelectionChanged += new System.EventHandler(this.CodeBox_SelectionChanged);
             this.CodeBox.TextChanged += new System.EventHandler(this.CodeBox_TextChanged);
             this.CodeBox.TextChanged += new System.EventHandler(this.CodeBox_TextChanged);
+            this.CodeBox.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.CodeBox_HelpRequested);
             // 
             // 
             // AnalysisTabControl
             // AnalysisTabControl
             // 
             // 
@@ -563,10 +566,10 @@ namespace MainNs
             this.AnalysisTabControl.Controls.Add(this.OptimizerTabPage);
             this.AnalysisTabControl.Controls.Add(this.OptimizerTabPage);
             this.AnalysisTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
             this.AnalysisTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
             this.AnalysisTabControl.Location = new System.Drawing.Point(0, 0);
             this.AnalysisTabControl.Location = new System.Drawing.Point(0, 0);
-            this.AnalysisTabControl.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.AnalysisTabControl.Margin = new System.Windows.Forms.Padding(2);
             this.AnalysisTabControl.Name = "AnalysisTabControl";
             this.AnalysisTabControl.Name = "AnalysisTabControl";
             this.AnalysisTabControl.SelectedIndex = 0;
             this.AnalysisTabControl.SelectedIndex = 0;
-            this.AnalysisTabControl.Size = new System.Drawing.Size(765, 323);
+            this.AnalysisTabControl.Size = new System.Drawing.Size(383, 163);
             this.AnalysisTabControl.TabIndex = 0;
             this.AnalysisTabControl.TabIndex = 0;
             this.AnalysisTabControl.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.AnalysisTabControl_Selecting);
             this.AnalysisTabControl.Selecting += new System.Windows.Forms.TabControlCancelEventHandler(this.AnalysisTabControl_Selecting);
             // 
             // 
@@ -579,9 +582,10 @@ namespace MainNs
             this.CompilationTabPage.Controls.Add(this.label5);
             this.CompilationTabPage.Controls.Add(this.label5);
             this.CompilationTabPage.Controls.Add(this.tbEntry);
             this.CompilationTabPage.Controls.Add(this.tbEntry);
             this.CompilationTabPage.Controls.Add(this.label4);
             this.CompilationTabPage.Controls.Add(this.label4);
-            this.CompilationTabPage.Location = new System.Drawing.Point(8, 39);
+            this.CompilationTabPage.Location = new System.Drawing.Point(4, 22);
+            this.CompilationTabPage.Margin = new System.Windows.Forms.Padding(2);
             this.CompilationTabPage.Name = "CompilationTabPage";
             this.CompilationTabPage.Name = "CompilationTabPage";
-            this.CompilationTabPage.Size = new System.Drawing.Size(749, 278);
+            this.CompilationTabPage.Size = new System.Drawing.Size(375, 137);
             this.CompilationTabPage.TabIndex = 3;
             this.CompilationTabPage.TabIndex = 3;
             this.CompilationTabPage.Text = "Compilation";
             this.CompilationTabPage.Text = "Compilation";
             this.CompilationTabPage.UseVisualStyleBackColor = true;
             this.CompilationTabPage.UseVisualStyleBackColor = true;
@@ -589,10 +593,10 @@ namespace MainNs
             // btnCompile
             // btnCompile
             // 
             // 
             this.btnCompile.AutoSize = true;
             this.btnCompile.AutoSize = true;
-            this.btnCompile.Location = new System.Drawing.Point(270, 25);
-            this.btnCompile.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.btnCompile.Location = new System.Drawing.Point(135, 13);
+            this.btnCompile.Margin = new System.Windows.Forms.Padding(2);
             this.btnCompile.Name = "btnCompile";
             this.btnCompile.Name = "btnCompile";
-            this.btnCompile.Size = new System.Drawing.Size(224, 69);
+            this.btnCompile.Size = new System.Drawing.Size(112, 36);
             this.btnCompile.TabIndex = 2;
             this.btnCompile.TabIndex = 2;
             this.btnCompile.Text = "Compile (Ctrl+F7)";
             this.btnCompile.Text = "Compile (Ctrl+F7)";
             this.btnCompile.UseVisualStyleBackColor = true;
             this.btnCompile.UseVisualStyleBackColor = true;
@@ -600,19 +604,19 @@ namespace MainNs
             // 
             // 
             // tbOptions
             // tbOptions
             // 
             // 
-            this.tbOptions.Location = new System.Drawing.Point(8, 150);
-            this.tbOptions.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.tbOptions.Location = new System.Drawing.Point(4, 78);
+            this.tbOptions.Margin = new System.Windows.Forms.Padding(2);
             this.tbOptions.Name = "tbOptions";
             this.tbOptions.Name = "tbOptions";
-            this.tbOptions.Size = new System.Drawing.Size(567, 31);
+            this.tbOptions.Size = new System.Drawing.Size(286, 20);
             this.tbOptions.TabIndex = 3;
             this.tbOptions.TabIndex = 3;
             // 
             // 
             // label6
             // label6
             // 
             // 
             this.label6.AutoSize = true;
             this.label6.AutoSize = true;
-            this.label6.Location = new System.Drawing.Point(4, 122);
-            this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label6.Location = new System.Drawing.Point(2, 63);
+            this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label6.Name = "label6";
             this.label6.Name = "label6";
-            this.label6.Size = new System.Drawing.Size(92, 25);
+            this.label6.Size = new System.Drawing.Size(46, 13);
             this.label6.TabIndex = 7;
             this.label6.TabIndex = 7;
             this.label6.Text = "Options:";
             this.label6.Text = "Options:";
             // 
             // 
@@ -640,49 +644,49 @@ namespace MainNs
             "ds_6_2",
             "ds_6_2",
             "lib_6_1",
             "lib_6_1",
             "lib_6_2"});
             "lib_6_2"});
-            this.cbProfile.Location = new System.Drawing.Point(8, 87);
-            this.cbProfile.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.cbProfile.Location = new System.Drawing.Point(4, 45);
+            this.cbProfile.Margin = new System.Windows.Forms.Padding(2);
             this.cbProfile.Name = "cbProfile";
             this.cbProfile.Name = "cbProfile";
-            this.cbProfile.Size = new System.Drawing.Size(201, 33);
+            this.cbProfile.Size = new System.Drawing.Size(102, 21);
             this.cbProfile.TabIndex = 0;
             this.cbProfile.TabIndex = 0;
             // 
             // 
             // label5
             // label5
             // 
             // 
             this.label5.AutoSize = true;
             this.label5.AutoSize = true;
-            this.label5.Location = new System.Drawing.Point(4, 60);
-            this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label5.Location = new System.Drawing.Point(2, 31);
+            this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label5.Name = "label5";
             this.label5.Name = "label5";
-            this.label5.Size = new System.Drawing.Size(152, 25);
+            this.label5.Size = new System.Drawing.Size(76, 13);
             this.label5.TabIndex = 6;
             this.label5.TabIndex = 6;
             this.label5.Text = "Shader Model:";
             this.label5.Text = "Shader Model:";
             // 
             // 
             // tbEntry
             // tbEntry
             // 
             // 
-            this.tbEntry.Location = new System.Drawing.Point(8, 25);
-            this.tbEntry.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.tbEntry.Location = new System.Drawing.Point(4, 13);
+            this.tbEntry.Margin = new System.Windows.Forms.Padding(2);
             this.tbEntry.Name = "tbEntry";
             this.tbEntry.Name = "tbEntry";
-            this.tbEntry.Size = new System.Drawing.Size(211, 31);
+            this.tbEntry.Size = new System.Drawing.Size(108, 20);
             this.tbEntry.TabIndex = 4;
             this.tbEntry.TabIndex = 4;
             this.tbEntry.Text = "main";
             this.tbEntry.Text = "main";
             // 
             // 
             // label4
             // label4
             // 
             // 
             this.label4.AutoSize = true;
             this.label4.AutoSize = true;
-            this.label4.Location = new System.Drawing.Point(4, 0);
-            this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label4.Location = new System.Drawing.Point(2, 0);
+            this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label4.Name = "label4";
             this.label4.Name = "label4";
-            this.label4.Size = new System.Drawing.Size(68, 25);
+            this.label4.Size = new System.Drawing.Size(34, 13);
             this.label4.TabIndex = 5;
             this.label4.TabIndex = 5;
             this.label4.Text = "Entry:";
             this.label4.Text = "Entry:";
             // 
             // 
             // DisassemblyTabPage
             // DisassemblyTabPage
             // 
             // 
             this.DisassemblyTabPage.Controls.Add(this.DisassemblyTextBox);
             this.DisassemblyTabPage.Controls.Add(this.DisassemblyTextBox);
-            this.DisassemblyTabPage.Location = new System.Drawing.Point(8, 39);
-            this.DisassemblyTabPage.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.DisassemblyTabPage.Location = new System.Drawing.Point(4, 22);
+            this.DisassemblyTabPage.Margin = new System.Windows.Forms.Padding(2);
             this.DisassemblyTabPage.Name = "DisassemblyTabPage";
             this.DisassemblyTabPage.Name = "DisassemblyTabPage";
-            this.DisassemblyTabPage.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
-            this.DisassemblyTabPage.Size = new System.Drawing.Size(748, 284);
+            this.DisassemblyTabPage.Padding = new System.Windows.Forms.Padding(2);
+            this.DisassemblyTabPage.Size = new System.Drawing.Size(375, 137);
             this.DisassemblyTabPage.TabIndex = 0;
             this.DisassemblyTabPage.TabIndex = 0;
             this.DisassemblyTabPage.Text = "Disassembly";
             this.DisassemblyTabPage.Text = "Disassembly";
             this.DisassemblyTabPage.UseVisualStyleBackColor = true;
             this.DisassemblyTabPage.UseVisualStyleBackColor = true;
@@ -690,11 +694,11 @@ namespace MainNs
             // DisassemblyTextBox
             // DisassemblyTextBox
             // 
             // 
             this.DisassemblyTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
             this.DisassemblyTextBox.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.DisassemblyTextBox.Location = new System.Drawing.Point(4, 3);
-            this.DisassemblyTextBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.DisassemblyTextBox.Location = new System.Drawing.Point(2, 2);
+            this.DisassemblyTextBox.Margin = new System.Windows.Forms.Padding(2);
             this.DisassemblyTextBox.Name = "DisassemblyTextBox";
             this.DisassemblyTextBox.Name = "DisassemblyTextBox";
             this.DisassemblyTextBox.ReadOnly = true;
             this.DisassemblyTextBox.ReadOnly = true;
-            this.DisassemblyTextBox.Size = new System.Drawing.Size(740, 278);
+            this.DisassemblyTextBox.Size = new System.Drawing.Size(371, 133);
             this.DisassemblyTextBox.TabIndex = 0;
             this.DisassemblyTextBox.TabIndex = 0;
             this.DisassemblyTextBox.Text = "";
             this.DisassemblyTextBox.Text = "";
             this.DisassemblyTextBox.WordWrap = false;
             this.DisassemblyTextBox.WordWrap = false;
@@ -703,11 +707,11 @@ namespace MainNs
             // ASTTabPage
             // ASTTabPage
             // 
             // 
             this.ASTTabPage.Controls.Add(this.ASTDumpBox);
             this.ASTTabPage.Controls.Add(this.ASTDumpBox);
-            this.ASTTabPage.Location = new System.Drawing.Point(8, 39);
-            this.ASTTabPage.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.ASTTabPage.Location = new System.Drawing.Point(4, 22);
+            this.ASTTabPage.Margin = new System.Windows.Forms.Padding(2);
             this.ASTTabPage.Name = "ASTTabPage";
             this.ASTTabPage.Name = "ASTTabPage";
-            this.ASTTabPage.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
-            this.ASTTabPage.Size = new System.Drawing.Size(748, 284);
+            this.ASTTabPage.Padding = new System.Windows.Forms.Padding(2);
+            this.ASTTabPage.Size = new System.Drawing.Size(375, 137);
             this.ASTTabPage.TabIndex = 1;
             this.ASTTabPage.TabIndex = 1;
             this.ASTTabPage.Text = "AST";
             this.ASTTabPage.Text = "AST";
             this.ASTTabPage.UseVisualStyleBackColor = true;
             this.ASTTabPage.UseVisualStyleBackColor = true;
@@ -715,11 +719,11 @@ namespace MainNs
             // ASTDumpBox
             // ASTDumpBox
             // 
             // 
             this.ASTDumpBox.Dock = System.Windows.Forms.DockStyle.Fill;
             this.ASTDumpBox.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.ASTDumpBox.Location = new System.Drawing.Point(4, 3);
-            this.ASTDumpBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.ASTDumpBox.Location = new System.Drawing.Point(2, 2);
+            this.ASTDumpBox.Margin = new System.Windows.Forms.Padding(2);
             this.ASTDumpBox.Name = "ASTDumpBox";
             this.ASTDumpBox.Name = "ASTDumpBox";
             this.ASTDumpBox.ReadOnly = true;
             this.ASTDumpBox.ReadOnly = true;
-            this.ASTDumpBox.Size = new System.Drawing.Size(740, 278);
+            this.ASTDumpBox.Size = new System.Drawing.Size(371, 133);
             this.ASTDumpBox.TabIndex = 0;
             this.ASTDumpBox.TabIndex = 0;
             this.ASTDumpBox.Text = "";
             this.ASTDumpBox.Text = "";
             // 
             // 
@@ -736,11 +740,11 @@ namespace MainNs
             this.OptimizerTabPage.Controls.Add(this.label2);
             this.OptimizerTabPage.Controls.Add(this.label2);
             this.OptimizerTabPage.Controls.Add(this.label1);
             this.OptimizerTabPage.Controls.Add(this.label1);
             this.OptimizerTabPage.Controls.Add(this.AvailablePassesBox);
             this.OptimizerTabPage.Controls.Add(this.AvailablePassesBox);
-            this.OptimizerTabPage.Location = new System.Drawing.Point(8, 39);
-            this.OptimizerTabPage.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.OptimizerTabPage.Location = new System.Drawing.Point(4, 22);
+            this.OptimizerTabPage.Margin = new System.Windows.Forms.Padding(2);
             this.OptimizerTabPage.Name = "OptimizerTabPage";
             this.OptimizerTabPage.Name = "OptimizerTabPage";
-            this.OptimizerTabPage.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
-            this.OptimizerTabPage.Size = new System.Drawing.Size(749, 276);
+            this.OptimizerTabPage.Padding = new System.Windows.Forms.Padding(2);
+            this.OptimizerTabPage.Size = new System.Drawing.Size(375, 137);
             this.OptimizerTabPage.TabIndex = 2;
             this.OptimizerTabPage.TabIndex = 2;
             this.OptimizerTabPage.Text = "Optimizer";
             this.OptimizerTabPage.Text = "Optimizer";
             this.OptimizerTabPage.UseVisualStyleBackColor = true;
             this.OptimizerTabPage.UseVisualStyleBackColor = true;
@@ -748,10 +752,10 @@ namespace MainNs
             // InteractiveEditorButton
             // InteractiveEditorButton
             // 
             // 
             this.InteractiveEditorButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
             this.InteractiveEditorButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-            this.InteractiveEditorButton.Location = new System.Drawing.Point(430, 210);
-            this.InteractiveEditorButton.Margin = new System.Windows.Forms.Padding(5, 5, 5, 5);
+            this.InteractiveEditorButton.Location = new System.Drawing.Point(220, 115);
+            this.InteractiveEditorButton.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
             this.InteractiveEditorButton.Name = "InteractiveEditorButton";
             this.InteractiveEditorButton.Name = "InteractiveEditorButton";
-            this.InteractiveEditorButton.Size = new System.Drawing.Size(225, 34);
+            this.InteractiveEditorButton.Size = new System.Drawing.Size(112, 18);
             this.InteractiveEditorButton.TabIndex = 11;
             this.InteractiveEditorButton.TabIndex = 11;
             this.InteractiveEditorButton.Text = "Interactive Editor...";
             this.InteractiveEditorButton.Text = "Interactive Editor...";
             this.InteractiveEditorButton.UseVisualStyleBackColor = true;
             this.InteractiveEditorButton.UseVisualStyleBackColor = true;
@@ -760,10 +764,10 @@ namespace MainNs
             // ResetDefaultPassesButton
             // ResetDefaultPassesButton
             // 
             // 
             this.ResetDefaultPassesButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
             this.ResetDefaultPassesButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-            this.ResetDefaultPassesButton.Location = new System.Drawing.Point(430, 128);
-            this.ResetDefaultPassesButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.ResetDefaultPassesButton.Location = new System.Drawing.Point(220, 72);
+            this.ResetDefaultPassesButton.Margin = new System.Windows.Forms.Padding(2);
             this.ResetDefaultPassesButton.Name = "ResetDefaultPassesButton";
             this.ResetDefaultPassesButton.Name = "ResetDefaultPassesButton";
-            this.ResetDefaultPassesButton.Size = new System.Drawing.Size(225, 37);
+            this.ResetDefaultPassesButton.Size = new System.Drawing.Size(112, 19);
             this.ResetDefaultPassesButton.TabIndex = 9;
             this.ResetDefaultPassesButton.TabIndex = 9;
             this.ResetDefaultPassesButton.Text = "Reset Default Passes";
             this.ResetDefaultPassesButton.Text = "Reset Default Passes";
             this.ResetDefaultPassesButton.UseVisualStyleBackColor = true;
             this.ResetDefaultPassesButton.UseVisualStyleBackColor = true;
@@ -773,10 +777,10 @@ namespace MainNs
             // 
             // 
             this.AnalyzeCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.AnalyzeCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.AnalyzeCheckBox.AutoSize = true;
             this.AnalyzeCheckBox.AutoSize = true;
-            this.AnalyzeCheckBox.Location = new System.Drawing.Point(9, 77);
-            this.AnalyzeCheckBox.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.AnalyzeCheckBox.Location = new System.Drawing.Point(4, 44);
+            this.AnalyzeCheckBox.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
             this.AnalyzeCheckBox.Name = "AnalyzeCheckBox";
             this.AnalyzeCheckBox.Name = "AnalyzeCheckBox";
-            this.AnalyzeCheckBox.Size = new System.Drawing.Size(196, 29);
+            this.AnalyzeCheckBox.Size = new System.Drawing.Size(99, 17);
             this.AnalyzeCheckBox.TabIndex = 8;
             this.AnalyzeCheckBox.TabIndex = 8;
             this.AnalyzeCheckBox.Text = "Analyze passes";
             this.AnalyzeCheckBox.Text = "Analyze passes";
             this.AnalyzeCheckBox.UseVisualStyleBackColor = true;
             this.AnalyzeCheckBox.UseVisualStyleBackColor = true;
@@ -784,10 +788,10 @@ namespace MainNs
             // AddPrintModuleButton
             // AddPrintModuleButton
             // 
             // 
             this.AddPrintModuleButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.AddPrintModuleButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-            this.AddPrintModuleButton.Location = new System.Drawing.Point(6, 113);
-            this.AddPrintModuleButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.AddPrintModuleButton.Location = new System.Drawing.Point(3, 65);
+            this.AddPrintModuleButton.Margin = new System.Windows.Forms.Padding(2);
             this.AddPrintModuleButton.Name = "AddPrintModuleButton";
             this.AddPrintModuleButton.Name = "AddPrintModuleButton";
-            this.AddPrintModuleButton.Size = new System.Drawing.Size(225, 37);
+            this.AddPrintModuleButton.Size = new System.Drawing.Size(112, 19);
             this.AddPrintModuleButton.TabIndex = 7;
             this.AddPrintModuleButton.TabIndex = 7;
             this.AddPrintModuleButton.Text = "Add Print Module";
             this.AddPrintModuleButton.Text = "Add Print Module";
             this.AddPrintModuleButton.UseVisualStyleBackColor = true;
             this.AddPrintModuleButton.UseVisualStyleBackColor = true;
@@ -796,10 +800,10 @@ namespace MainNs
             // RunPassesButton
             // RunPassesButton
             // 
             // 
             this.RunPassesButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
             this.RunPassesButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-            this.RunPassesButton.Location = new System.Drawing.Point(430, 167);
-            this.RunPassesButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.RunPassesButton.Location = new System.Drawing.Point(220, 93);
+            this.RunPassesButton.Margin = new System.Windows.Forms.Padding(2);
             this.RunPassesButton.Name = "RunPassesButton";
             this.RunPassesButton.Name = "RunPassesButton";
-            this.RunPassesButton.Size = new System.Drawing.Size(225, 37);
+            this.RunPassesButton.Size = new System.Drawing.Size(112, 19);
             this.RunPassesButton.TabIndex = 6;
             this.RunPassesButton.TabIndex = 6;
             this.RunPassesButton.Text = "Run Passes";
             this.RunPassesButton.Text = "Run Passes";
             this.RunPassesButton.UseVisualStyleBackColor = true;
             this.RunPassesButton.UseVisualStyleBackColor = true;
@@ -808,10 +812,10 @@ namespace MainNs
             // SelectPassDownButton
             // SelectPassDownButton
             // 
             // 
             this.SelectPassDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
             this.SelectPassDownButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-            this.SelectPassDownButton.Location = new System.Drawing.Point(543, 80);
-            this.SelectPassDownButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.SelectPassDownButton.Location = new System.Drawing.Point(277, 48);
+            this.SelectPassDownButton.Margin = new System.Windows.Forms.Padding(2);
             this.SelectPassDownButton.Name = "SelectPassDownButton";
             this.SelectPassDownButton.Name = "SelectPassDownButton";
-            this.SelectPassDownButton.Size = new System.Drawing.Size(114, 37);
+            this.SelectPassDownButton.Size = new System.Drawing.Size(57, 19);
             this.SelectPassDownButton.TabIndex = 5;
             this.SelectPassDownButton.TabIndex = 5;
             this.SelectPassDownButton.Text = "Swap Down";
             this.SelectPassDownButton.Text = "Swap Down";
             this.SelectPassDownButton.UseVisualStyleBackColor = true;
             this.SelectPassDownButton.UseVisualStyleBackColor = true;
@@ -820,10 +824,10 @@ namespace MainNs
             // SelectPassUpButton
             // SelectPassUpButton
             // 
             // 
             this.SelectPassUpButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
             this.SelectPassUpButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-            this.SelectPassUpButton.Location = new System.Drawing.Point(430, 80);
-            this.SelectPassUpButton.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.SelectPassUpButton.Location = new System.Drawing.Point(220, 48);
+            this.SelectPassUpButton.Margin = new System.Windows.Forms.Padding(2);
             this.SelectPassUpButton.Name = "SelectPassUpButton";
             this.SelectPassUpButton.Name = "SelectPassUpButton";
-            this.SelectPassUpButton.Size = new System.Drawing.Size(107, 37);
+            this.SelectPassUpButton.Size = new System.Drawing.Size(54, 19);
             this.SelectPassUpButton.TabIndex = 4;
             this.SelectPassUpButton.TabIndex = 4;
             this.SelectPassUpButton.Text = "Swap Up";
             this.SelectPassUpButton.Text = "Swap Up";
             this.SelectPassUpButton.UseVisualStyleBackColor = true;
             this.SelectPassUpButton.UseVisualStyleBackColor = true;
@@ -836,11 +840,10 @@ namespace MainNs
             this.SelectedPassesBox.ContextMenuStrip = this.PassesContextMenu;
             this.SelectedPassesBox.ContextMenuStrip = this.PassesContextMenu;
             this.SelectedPassesBox.FormattingEnabled = true;
             this.SelectedPassesBox.FormattingEnabled = true;
             this.SelectedPassesBox.IntegralHeight = false;
             this.SelectedPassesBox.IntegralHeight = false;
-            this.SelectedPassesBox.ItemHeight = 25;
-            this.SelectedPassesBox.Location = new System.Drawing.Point(430, 46);
-            this.SelectedPassesBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.SelectedPassesBox.Location = new System.Drawing.Point(220, 24);
+            this.SelectedPassesBox.Margin = new System.Windows.Forms.Padding(2);
             this.SelectedPassesBox.Name = "SelectedPassesBox";
             this.SelectedPassesBox.Name = "SelectedPassesBox";
-            this.SelectedPassesBox.Size = new System.Drawing.Size(314, 28);
+            this.SelectedPassesBox.Size = new System.Drawing.Size(159, 22);
             this.SelectedPassesBox.TabIndex = 3;
             this.SelectedPassesBox.TabIndex = 3;
             this.SelectedPassesBox.DoubleClick += new System.EventHandler(this.SelectedPassesBox_DoubleClick);
             this.SelectedPassesBox.DoubleClick += new System.EventHandler(this.SelectedPassesBox_DoubleClick);
             this.SelectedPassesBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.SelectedPassesBox_KeyUp);
             this.SelectedPassesBox.KeyUp += new System.Windows.Forms.KeyEventHandler(this.SelectedPassesBox_KeyUp);
@@ -856,45 +859,45 @@ namespace MainNs
             this.PastePassesMenuItem,
             this.PastePassesMenuItem,
             this.DeleteAllPassesMenuItem});
             this.DeleteAllPassesMenuItem});
             this.PassesContextMenu.Name = "PassesContextMenu";
             this.PassesContextMenu.Name = "PassesContextMenu";
-            this.PassesContextMenu.Size = new System.Drawing.Size(213, 190);
+            this.PassesContextMenu.Size = new System.Drawing.Size(137, 120);
             // 
             // 
             // PassPropertiesMenuItem
             // PassPropertiesMenuItem
             // 
             // 
             this.PassPropertiesMenuItem.Name = "PassPropertiesMenuItem";
             this.PassPropertiesMenuItem.Name = "PassPropertiesMenuItem";
-            this.PassPropertiesMenuItem.Size = new System.Drawing.Size(212, 36);
+            this.PassPropertiesMenuItem.Size = new System.Drawing.Size(136, 22);
             this.PassPropertiesMenuItem.Text = "P&roperties...";
             this.PassPropertiesMenuItem.Text = "P&roperties...";
             this.PassPropertiesMenuItem.Click += new System.EventHandler(this.PassPropertiesMenuItem_Click);
             this.PassPropertiesMenuItem.Click += new System.EventHandler(this.PassPropertiesMenuItem_Click);
             // 
             // 
             // toolStripMenuItem5
             // toolStripMenuItem5
             // 
             // 
             this.toolStripMenuItem5.Name = "toolStripMenuItem5";
             this.toolStripMenuItem5.Name = "toolStripMenuItem5";
-            this.toolStripMenuItem5.Size = new System.Drawing.Size(209, 6);
+            this.toolStripMenuItem5.Size = new System.Drawing.Size(133, 6);
             // 
             // 
             // copyToolStripMenuItem1
             // copyToolStripMenuItem1
             // 
             // 
             this.copyToolStripMenuItem1.Name = "copyToolStripMenuItem1";
             this.copyToolStripMenuItem1.Name = "copyToolStripMenuItem1";
-            this.copyToolStripMenuItem1.Size = new System.Drawing.Size(212, 36);
+            this.copyToolStripMenuItem1.Size = new System.Drawing.Size(136, 22);
             this.copyToolStripMenuItem1.Text = "&Copy";
             this.copyToolStripMenuItem1.Text = "&Copy";
             this.copyToolStripMenuItem1.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
             this.copyToolStripMenuItem1.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
             // 
             // 
             // copyAllToolStripMenuItem
             // copyAllToolStripMenuItem
             // 
             // 
             this.copyAllToolStripMenuItem.Name = "copyAllToolStripMenuItem";
             this.copyAllToolStripMenuItem.Name = "copyAllToolStripMenuItem";
-            this.copyAllToolStripMenuItem.Size = new System.Drawing.Size(212, 36);
+            this.copyAllToolStripMenuItem.Size = new System.Drawing.Size(136, 22);
             this.copyAllToolStripMenuItem.Text = "Copy &All";
             this.copyAllToolStripMenuItem.Text = "Copy &All";
             this.copyAllToolStripMenuItem.Click += new System.EventHandler(this.copyAllToolStripMenuItem_Click);
             this.copyAllToolStripMenuItem.Click += new System.EventHandler(this.copyAllToolStripMenuItem_Click);
             // 
             // 
             // PastePassesMenuItem
             // PastePassesMenuItem
             // 
             // 
             this.PastePassesMenuItem.Name = "PastePassesMenuItem";
             this.PastePassesMenuItem.Name = "PastePassesMenuItem";
-            this.PastePassesMenuItem.Size = new System.Drawing.Size(212, 36);
+            this.PastePassesMenuItem.Size = new System.Drawing.Size(136, 22);
             this.PastePassesMenuItem.Text = "&Paste";
             this.PastePassesMenuItem.Text = "&Paste";
             this.PastePassesMenuItem.Click += new System.EventHandler(this.PastePassesMenuItem_Click);
             this.PastePassesMenuItem.Click += new System.EventHandler(this.PastePassesMenuItem_Click);
             // 
             // 
             // DeleteAllPassesMenuItem
             // DeleteAllPassesMenuItem
             // 
             // 
             this.DeleteAllPassesMenuItem.Name = "DeleteAllPassesMenuItem";
             this.DeleteAllPassesMenuItem.Name = "DeleteAllPassesMenuItem";
-            this.DeleteAllPassesMenuItem.Size = new System.Drawing.Size(212, 36);
+            this.DeleteAllPassesMenuItem.Size = new System.Drawing.Size(136, 22);
             this.DeleteAllPassesMenuItem.Text = "Delete All";
             this.DeleteAllPassesMenuItem.Text = "Delete All";
             this.DeleteAllPassesMenuItem.Click += new System.EventHandler(this.DeleteAllPassesMenuItem_Click);
             this.DeleteAllPassesMenuItem.Click += new System.EventHandler(this.DeleteAllPassesMenuItem_Click);
             // 
             // 
@@ -902,20 +905,20 @@ namespace MainNs
             // 
             // 
             this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
             this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
             this.label2.AutoSize = true;
             this.label2.AutoSize = true;
-            this.label2.Location = new System.Drawing.Point(425, 11);
-            this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label2.Location = new System.Drawing.Point(217, 6);
+            this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label2.Name = "label2";
             this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(95, 25);
+            this.label2.Size = new System.Drawing.Size(47, 13);
             this.label2.TabIndex = 2;
             this.label2.TabIndex = 2;
             this.label2.Text = "&Pipeline:";
             this.label2.Text = "&Pipeline:";
             // 
             // 
             // label1
             // label1
             // 
             // 
             this.label1.AutoSize = true;
             this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(6, 11);
-            this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
+            this.label1.Location = new System.Drawing.Point(3, 6);
+            this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label1.Name = "label1";
             this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(384, 25);
+            this.label1.Size = new System.Drawing.Size(189, 13);
             this.label1.TabIndex = 1;
             this.label1.TabIndex = 1;
             this.label1.Text = "&Available Passes (double-click to add):";
             this.label1.Text = "&Available Passes (double-click to add):";
             // 
             // 
@@ -926,12 +929,11 @@ namespace MainNs
             | System.Windows.Forms.AnchorStyles.Right)));
             | System.Windows.Forms.AnchorStyles.Right)));
             this.AvailablePassesBox.FormattingEnabled = true;
             this.AvailablePassesBox.FormattingEnabled = true;
             this.AvailablePassesBox.IntegralHeight = false;
             this.AvailablePassesBox.IntegralHeight = false;
-            this.AvailablePassesBox.ItemHeight = 25;
-            this.AvailablePassesBox.Location = new System.Drawing.Point(9, 46);
-            this.AvailablePassesBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.AvailablePassesBox.Location = new System.Drawing.Point(4, 24);
+            this.AvailablePassesBox.Margin = new System.Windows.Forms.Padding(2);
             this.AvailablePassesBox.Name = "AvailablePassesBox";
             this.AvailablePassesBox.Name = "AvailablePassesBox";
             this.AvailablePassesBox.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
             this.AvailablePassesBox.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
-            this.AvailablePassesBox.Size = new System.Drawing.Size(410, 28);
+            this.AvailablePassesBox.Size = new System.Drawing.Size(212, 22);
             this.AvailablePassesBox.TabIndex = 0;
             this.AvailablePassesBox.TabIndex = 0;
             this.AvailablePassesBox.DoubleClick += new System.EventHandler(this.AvailablePassesBox_DoubleClick);
             this.AvailablePassesBox.DoubleClick += new System.EventHandler(this.AvailablePassesBox_DoubleClick);
             // 
             // 
@@ -939,8 +941,8 @@ namespace MainNs
             // 
             // 
             this.TopSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
             this.TopSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
             this.TopSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
             this.TopSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
-            this.TopSplitContainer.Location = new System.Drawing.Point(0, 42);
-            this.TopSplitContainer.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.TopSplitContainer.Location = new System.Drawing.Point(0, 24);
+            this.TopSplitContainer.Margin = new System.Windows.Forms.Padding(2);
             this.TopSplitContainer.Name = "TopSplitContainer";
             this.TopSplitContainer.Name = "TopSplitContainer";
             this.TopSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
             this.TopSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
             // 
             // 
@@ -953,9 +955,9 @@ namespace MainNs
             this.TopSplitContainer.Panel2.Controls.Add(this.OutputTabControl);
             this.TopSplitContainer.Panel2.Controls.Add(this.OutputTabControl);
             this.TopSplitContainer.Panel2Collapsed = true;
             this.TopSplitContainer.Panel2Collapsed = true;
             this.TopSplitContainer.Panel2MinSize = 75;
             this.TopSplitContainer.Panel2MinSize = 75;
-            this.TopSplitContainer.Size = new System.Drawing.Size(1202, 323);
+            this.TopSplitContainer.Size = new System.Drawing.Size(601, 163);
             this.TopSplitContainer.SplitterDistance = 25;
             this.TopSplitContainer.SplitterDistance = 25;
-            this.TopSplitContainer.SplitterWidth = 3;
+            this.TopSplitContainer.SplitterWidth = 2;
             this.TopSplitContainer.TabIndex = 3;
             this.TopSplitContainer.TabIndex = 3;
             // 
             // 
             // OutputTabControl
             // OutputTabControl
@@ -963,20 +965,20 @@ namespace MainNs
             this.OutputTabControl.Controls.Add(this.RenderLogTabPage);
             this.OutputTabControl.Controls.Add(this.RenderLogTabPage);
             this.OutputTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
             this.OutputTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
             this.OutputTabControl.Location = new System.Drawing.Point(0, 0);
             this.OutputTabControl.Location = new System.Drawing.Point(0, 0);
-            this.OutputTabControl.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.OutputTabControl.Margin = new System.Windows.Forms.Padding(2);
             this.OutputTabControl.Name = "OutputTabControl";
             this.OutputTabControl.Name = "OutputTabControl";
             this.OutputTabControl.SelectedIndex = 0;
             this.OutputTabControl.SelectedIndex = 0;
-            this.OutputTabControl.Size = new System.Drawing.Size(138, 41);
+            this.OutputTabControl.Size = new System.Drawing.Size(150, 46);
             this.OutputTabControl.TabIndex = 0;
             this.OutputTabControl.TabIndex = 0;
             // 
             // 
             // RenderLogTabPage
             // RenderLogTabPage
             // 
             // 
             this.RenderLogTabPage.Controls.Add(this.RenderLogBox);
             this.RenderLogTabPage.Controls.Add(this.RenderLogBox);
-            this.RenderLogTabPage.Location = new System.Drawing.Point(7, 37);
-            this.RenderLogTabPage.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.RenderLogTabPage.Location = new System.Drawing.Point(4, 22);
+            this.RenderLogTabPage.Margin = new System.Windows.Forms.Padding(2);
             this.RenderLogTabPage.Name = "RenderLogTabPage";
             this.RenderLogTabPage.Name = "RenderLogTabPage";
-            this.RenderLogTabPage.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
-            this.RenderLogTabPage.Size = new System.Drawing.Size(124, 0);
+            this.RenderLogTabPage.Padding = new System.Windows.Forms.Padding(2);
+            this.RenderLogTabPage.Size = new System.Drawing.Size(142, 20);
             this.RenderLogTabPage.TabIndex = 0;
             this.RenderLogTabPage.TabIndex = 0;
             this.RenderLogTabPage.Text = "Render Log";
             this.RenderLogTabPage.Text = "Render Log";
             this.RenderLogTabPage.UseVisualStyleBackColor = true;
             this.RenderLogTabPage.UseVisualStyleBackColor = true;
@@ -984,12 +986,12 @@ namespace MainNs
             // RenderLogBox
             // RenderLogBox
             // 
             // 
             this.RenderLogBox.Dock = System.Windows.Forms.DockStyle.Fill;
             this.RenderLogBox.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.RenderLogBox.Location = new System.Drawing.Point(4, 3);
-            this.RenderLogBox.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.RenderLogBox.Location = new System.Drawing.Point(2, 2);
+            this.RenderLogBox.Margin = new System.Windows.Forms.Padding(2);
             this.RenderLogBox.Multiline = true;
             this.RenderLogBox.Multiline = true;
             this.RenderLogBox.Name = "RenderLogBox";
             this.RenderLogBox.Name = "RenderLogBox";
             this.RenderLogBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
             this.RenderLogBox.ScrollBars = System.Windows.Forms.ScrollBars.Both;
-            this.RenderLogBox.Size = new System.Drawing.Size(116, 0);
+            this.RenderLogBox.Size = new System.Drawing.Size(138, 16);
             this.RenderLogBox.TabIndex = 0;
             this.RenderLogBox.TabIndex = 0;
             this.RenderLogBox.WordWrap = false;
             this.RenderLogBox.WordWrap = false;
             // 
             // 
@@ -1007,14 +1009,14 @@ namespace MainNs
             // 
             // 
             // EditorForm
             // EditorForm
             // 
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(12F, 25F);
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(1202, 402);
+            this.ClientSize = new System.Drawing.Size(601, 209);
             this.Controls.Add(this.TopSplitContainer);
             this.Controls.Add(this.TopSplitContainer);
             this.Controls.Add(this.TheStatusStrip);
             this.Controls.Add(this.TheStatusStrip);
             this.Controls.Add(this.TheMenuStrip);
             this.Controls.Add(this.TheMenuStrip);
             this.MainMenuStrip = this.TheMenuStrip;
             this.MainMenuStrip = this.TheMenuStrip;
-            this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
+            this.Margin = new System.Windows.Forms.Padding(2);
             this.Name = "EditorForm";
             this.Name = "EditorForm";
             this.Text = "DirectX Compiler Editor";
             this.Text = "DirectX Compiler Editor";
             this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.EditorForm_FormClosing);
             this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.EditorForm_FormClosing);

+ 53 - 1
tools/clang/tools/dotnetc/EditorForm.cs

@@ -48,6 +48,8 @@ namespace MainNs
         private HlslHost hlslHost = new HlslHost();
         private HlslHost hlslHost = new HlslHost();
         private TabPage renderViewTabPage;
         private TabPage renderViewTabPage;
         private TabPage rewriterOutputTabPage;
         private TabPage rewriterOutputTabPage;
+        private TabPage helpTabPage;
+        private RichTextBox helpControl;
 
 
         internal enum DocumentKind
         internal enum DocumentKind
         {
         {
@@ -87,6 +89,34 @@ namespace MainNs
         private const uint DFCC_ILDB = 1111772233;
         private const uint DFCC_ILDB = 1111772233;
         private const uint DFCC_SPDB = 1111773267;
         private const uint DFCC_SPDB = 1111773267;
 
 
+        private TabPage HelpTabPage
+        {
+            get
+            {
+                if (this.helpTabPage == null)
+                {
+                    this.helpTabPage = new TabPage("Help");
+                    this.AnalysisTabControl.TabPages.Add(helpTabPage);
+                }
+                return this.helpTabPage;
+            }
+        }
+
+        private RichTextBox HelpControl
+        {
+            get
+            {
+                if (this.helpControl == null)
+                {
+                    this.helpControl = new RichTextBox();
+                    this.HelpTabPage.Controls.Add(this.helpControl);
+                    this.helpControl.Dock = DockStyle.Fill;
+                    this.helpControl.Font = this.CodeBox.Font;
+                }
+                return this.helpControl;
+            }
+        }
+
         private TabPage RenderViewTabPage
         private TabPage RenderViewTabPage
         {
         {
             get
             get
@@ -3370,7 +3400,29 @@ namespace MainNs
             form.Sections = TextSection.EnumerateSections(new string[] { "MODULE-PRINT", "Phase:" }, opt.ResultText).ToArray();
             form.Sections = TextSection.EnumerateSections(new string[] { "MODULE-PRINT", "Phase:" }, opt.ResultText).ToArray();
             form.StartPosition = FormStartPosition.CenterParent;
             form.StartPosition = FormStartPosition.CenterParent;
             form.Show(this);
             form.Show(this);
-        }
+        }
+
+        private void CodeBox_HelpRequested(object sender, HelpEventArgs hlpevent)
+        {
+            RichTextBox rtb = this.CodeBox;
+            SelectionExpandResult expand = SelectionExpandResult.Expand(rtb);
+            if (expand.IsEmpty)
+                return;
+            string readmeText;
+            using (System.IO.StreamReader reader =
+                new System.IO.StreamReader(System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceStream("MainNs.README.md")))
+            {
+                readmeText = reader.ReadToEnd();
+            }
+            this.HelpControl.Text = readmeText;
+            (this.HelpTabPage.Parent as TabControl).SelectedTab = this.HelpTabPage;
+            int pos = readmeText.IndexOf(expand.Token, StringComparison.InvariantCultureIgnoreCase);
+            if (pos >= 0)
+            {
+                this.HelpControl.Select(pos, 0);
+                this.HelpControl.ScrollToCaret();
+            }
+        }
     }
     }
 
 
     public static class RichTextBoxExt
     public static class RichTextBoxExt

+ 136 - 0
tools/clang/tools/dotnetc/README.md

@@ -0,0 +1,136 @@
+# dndxc
+
+## Help System
+
+This README.md file also acts as the entry point into the help system.
+
+Press F1 to get contextual help.
+
+## Help Topics
+
+### Descriptor
+
+Attributes: Name, ResName, CounterName, Kind (one of UAV,SRV,CBV)
+Attributes from D3D12_UNORDERED_ACCESS_VIEW_DESC and D3D12_SHADER_RESOURCE_VIEW_DESC:
+- Format
+- Dimension
+
+When Dimension is D3D12_SRV_DIMENSION_BUFFER:
+- FirstElement, Flags (empty or RAW), NumElements, StructureByteStride
+
+When Dimension is D3D12_UAV_DIMENSION_BUFFER:
+- FirstElement, NumElements, StructuredByteStride, CounterOffsetInBytes, Flags
+Flags can be emptyy or RAW. If RAW, Format is forced to DXGI_FORMAT_R32_TYPELESS.
+
+When Dimension is D3D12_UAV_DIMENSION_TEXTURE1D:
+- MipSlice
+
+When Dimension is D3D12_UAV_DIMENSION_TEXTURE1DARRAY:
+- MipSlice, FirstArraySlice, ArraySize
+
+When Dimension is D3D12_UAV_DIMENSION_TEXTURE2D:
+- MipSlice, PlaneSlice
+
+When Dimension is D3D12_UAV_DIMENSION_TEXTURE2DARRAY:
+- MipSlice, FirstArraySlice, ArraySize, PlaneSlice
+
+When Dimension is D3D12_UAV_DIMENSION_TEXTURE3D:
+- MipSlice, FirstWSlice, WSize
+
+If either of Name or ResName is assigned and the other isn't, they default to the assigned name.
+
+### DescriptorHeap
+
+Attributes: Name, Flags, NodeMask, NumDescriptors, Type
+Flags defaults to D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE.
+Type defaults to D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV.
+When Type is D3D12_DESCRIPTOR_HEAP_TYPE_RTV, Flags defaults to NONE.
+
+### Resource
+
+Attributes: Name, Init, ReadBack, HeapType, CPUPageProperty, MemoryPoolPreference, CreationNodeMask, VisibleNodeMask
+Attributes from D3D12_RESOURCE_DESC:
+- Dimension
+- Alignment
+- Width
+- Height
+- DepthOrArraySize
+- MipLevels
+- Format
+- SampleCount, SampleQual
+- Layout
+- Flags
+
+Other attributes:
+- HeapFlags
+- InitialResourceState
+- TransitionTo
+- Topology
+
+Some values are fixed depending on the value of Dimension:
+  if (pResource->Desc.Dimension == D3D12_RESOURCE_DIMENSION_BUFFER) {
+    pResource->Desc.Height = 1;
+    pResource->Desc.DepthOrArraySize = 1;
+    pResource->Desc.MipLevels = 1;
+    pResource->Desc.Format = DXGI_FORMAT_UNKNOWN;
+    pResource->Desc.SampleDesc.Count = 1;
+    pResource->Desc.SampleDesc.Quality = 0;
+    pResource->Desc.Layout = D3D12_TEXTURE_LAYOUT_ROW_MAJOR;
+  }
+  if (pResource->Desc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE1D) {
+    if (pResource->Desc.Height == 0) pResource->Desc.Height = 1;
+    if (pResource->Desc.DepthOrArraySize == 0) pResource->Desc.DepthOrArraySize = 1;
+    if (pResource->Desc.SampleDesc.Count == 0) pResource->Desc.SampleDesc.Count = 1;
+  }
+  if (pResource->Desc.Dimension == D3D12_RESOURCE_DIMENSION_TEXTURE2D) {
+    if (pResource->Desc.DepthOrArraySize == 0) pResource->Desc.DepthOrArraySize = 1;
+    if (pResource->Desc.SampleDesc.Count == 0 ) pResource->Desc.SampleDesc.Count = 1;
+  }
+
+The contents of the element initialize the values within.
+
+The following characters are ignored: '{', '}', ',', '\w'
+
+The suffix of each value determines how it's interpreted: h, l, u, i, f
+
+Friendly names include nan, inf, +inf, -inf, -denorm, denorm
+
+### RootSignature
+
+This element defines the root signature string.
+
+See https://msdn.microsoft.com/en-us/library/windows/desktop/dn913202(v=vs.85).aspx for a reference.
+
+Example:
+RootFlags(ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT),CBV(b0),SRV(t0),UAV(u0),DescriptorTable(CBV(b1),SRV(t1,numDescriptors=2),UAV(u1))
+
+### RootValue
+
+This element defines a single value in a RootValues collection.
+
+Attributes: ResName, HeapName, Index
+
+HeapName names the heap in which the resource is placed, ResName the name, and Index an index into that resource table.
+HeapName and ResName are exclusive. HeapName refers to a descriptor table (allocated on its own heap) and ResName refers to a Resource.
+
+Remember: SRV or UAV root descriptors can only be Raw or Structured buffers.
+
+### RootValues
+
+This element defines the root values to be used in a ShaderOp.
+
+Element: RootValue
+
+### ShaderOp
+
+This elements define a single Draw or Dispatch operation.
+
+Attributes: Name, CS, VS, PS, DispatchX, DispatchY, DispatchZ, TopologyType
+Elements: InputElements, Shader, RootSignature, RenderTargets, Resource, DescriptorHeap, RootValues
+
+### ShaderOpSet
+
+This element defines a set of shader operations. It's useful when bundling
+multiple shaders in a single file.
+
+Elements: ShaderOp

+ 1 - 0
tools/clang/tools/dotnetc/dndxc.csproj.txt

@@ -97,6 +97,7 @@
     <Compile Include="${DOS_STYLE_SOURCE_DIR}\Program.cs" />
     <Compile Include="${DOS_STYLE_SOURCE_DIR}\Program.cs" />
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
+    <EmbeddedResource Include="${DOS_STYLE_SOURCE_DIR}\README.md" />
     <EmbeddedResource Include="${DOS_STYLE_SOURCE_DIR}\EditorForm.resx">
     <EmbeddedResource Include="${DOS_STYLE_SOURCE_DIR}\EditorForm.resx">
       <DependentUpon>EditorForm.cs</DependentUpon>
       <DependentUpon>EditorForm.cs</DependentUpon>
     </EmbeddedResource>
     </EmbeddedResource>

+ 98 - 42
tools/clang/unittests/HLSL/ShaderOpTest.cpp

@@ -321,6 +321,10 @@ void ShaderOpTest::CreateDescriptorHeaps() {
       }
       }
       else if (0 == _stricmp(D.Kind, "SRV")) {
       else if (0 == _stricmp(D.Kind, "SRV")) {
         D3D12_SHADER_RESOURCE_VIEW_DESC *pSrvDesc = nullptr;
         D3D12_SHADER_RESOURCE_VIEW_DESC *pSrvDesc = nullptr;
+        if (D.SrvDesc.Format != DXGI_FORMAT_UNKNOWN ||
+            D.SrvDesc.ViewDimension == D3D12_SRV_DIMENSION_BUFFER) {
+          pSrvDesc = &D.SrvDesc;
+        }
         m_pDevice->CreateShaderResourceView(Data.Resource, pSrvDesc, cpuHandle);
         m_pDevice->CreateShaderResourceView(Data.Resource, pSrvDesc, cpuHandle);
       }
       }
       else if (0 == _stricmp(D.Kind, "RTV")) {
       else if (0 == _stricmp(D.Kind, "RTV")) {
@@ -1050,6 +1054,7 @@ enum class ParserEnumKind {
   RESOURCE_STATE,
   RESOURCE_STATE,
   DESCRIPTOR_HEAP_TYPE,
   DESCRIPTOR_HEAP_TYPE,
   DESCRIPTOR_HEAP_FLAG,
   DESCRIPTOR_HEAP_FLAG,
+  SRV_DIMENSION,
   UAV_DIMENSION,
   UAV_DIMENSION,
   PRIMITIVE_TOPOLOGY,
   PRIMITIVE_TOPOLOGY,
   PRIMITIVE_TOPOLOGY_TYPE
   PRIMITIVE_TOPOLOGY_TYPE
@@ -1285,6 +1290,20 @@ static const ParserEnumValue DESCRIPTOR_HEAP_FLAG_TABLE[] = {
   { L"SHADER_VISIBLE", D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE }
   { L"SHADER_VISIBLE", D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE }
 };
 };
 
 
+static const ParserEnumValue SRV_DIMENSION_TABLE[] = {
+  { L"UNKNOWN", D3D12_SRV_DIMENSION_UNKNOWN },
+  { L"BUFFER", D3D12_SRV_DIMENSION_BUFFER },
+  { L"TEXTURE1D", D3D12_SRV_DIMENSION_TEXTURE1D },
+  { L"TEXTURE1DARRAY", D3D12_SRV_DIMENSION_TEXTURE1DARRAY },
+  { L"TEXTURE2D", D3D12_SRV_DIMENSION_TEXTURE2D },
+  { L"TEXTURE2DARRAY", D3D12_SRV_DIMENSION_TEXTURE2DARRAY },
+  { L"TEXTURE2DMS", D3D12_SRV_DIMENSION_TEXTURE2DMS },
+  { L"TEXTURE2DMSARRAY", D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY },
+  { L"TEXTURE3D", D3D12_SRV_DIMENSION_TEXTURE3D },
+  { L"TEXTURECUBE", D3D12_SRV_DIMENSION_TEXTURECUBE },
+  { L"TEXTURECUBEARRAY", D3D12_SRV_DIMENSION_TEXTURECUBEARRAY }
+};
+
 static const ParserEnumValue UAV_DIMENSION_TABLE[] = {
 static const ParserEnumValue UAV_DIMENSION_TABLE[] = {
   { L"UNKNOWN", D3D12_UAV_DIMENSION_UNKNOWN },
   { L"UNKNOWN", D3D12_UAV_DIMENSION_UNKNOWN },
   { L"BUFFER", D3D12_UAV_DIMENSION_BUFFER },
   { L"BUFFER", D3D12_UAV_DIMENSION_BUFFER },
@@ -1361,6 +1380,7 @@ static const ParserEnumTable g_ParserEnumTables[] = {
   { _countof(RESOURCE_STATE_TABLE), RESOURCE_STATE_TABLE, ParserEnumKind::RESOURCE_STATE },
   { _countof(RESOURCE_STATE_TABLE), RESOURCE_STATE_TABLE, ParserEnumKind::RESOURCE_STATE },
   { _countof(DESCRIPTOR_HEAP_TYPE_TABLE), DESCRIPTOR_HEAP_TYPE_TABLE, ParserEnumKind::DESCRIPTOR_HEAP_TYPE },
   { _countof(DESCRIPTOR_HEAP_TYPE_TABLE), DESCRIPTOR_HEAP_TYPE_TABLE, ParserEnumKind::DESCRIPTOR_HEAP_TYPE },
   { _countof(DESCRIPTOR_HEAP_FLAG_TABLE), DESCRIPTOR_HEAP_FLAG_TABLE, ParserEnumKind::DESCRIPTOR_HEAP_FLAG },
   { _countof(DESCRIPTOR_HEAP_FLAG_TABLE), DESCRIPTOR_HEAP_FLAG_TABLE, ParserEnumKind::DESCRIPTOR_HEAP_FLAG },
+  { _countof(SRV_DIMENSION_TABLE), SRV_DIMENSION_TABLE, ParserEnumKind::SRV_DIMENSION },
   { _countof(UAV_DIMENSION_TABLE), UAV_DIMENSION_TABLE, ParserEnumKind::UAV_DIMENSION },
   { _countof(UAV_DIMENSION_TABLE), UAV_DIMENSION_TABLE, ParserEnumKind::UAV_DIMENSION },
   { _countof(PRIMITIVE_TOPOLOGY_TABLE), PRIMITIVE_TOPOLOGY_TABLE, ParserEnumKind::PRIMITIVE_TOPOLOGY },
   { _countof(PRIMITIVE_TOPOLOGY_TABLE), PRIMITIVE_TOPOLOGY_TABLE, ParserEnumKind::PRIMITIVE_TOPOLOGY },
   { _countof(PRIMITIVE_TOPOLOGY_TYPE_TABLE), PRIMITIVE_TOPOLOGY_TYPE_TABLE, ParserEnumKind::PRIMITIVE_TOPOLOGY_TYPE },
   { _countof(PRIMITIVE_TOPOLOGY_TYPE_TABLE), PRIMITIVE_TOPOLOGY_TYPE_TABLE, ParserEnumKind::PRIMITIVE_TOPOLOGY_TYPE },
@@ -1453,6 +1473,10 @@ static HRESULT ReadAttrRESOURCE_STATES(IXmlReader *pReader, LPCWSTR pAttrName, D
   return ReadAttrEnumT(pReader, pAttrName, ParserEnumKind::RESOURCE_STATE, pValue, D3D12_RESOURCE_STATE_COMMON);
   return ReadAttrEnumT(pReader, pAttrName, ParserEnumKind::RESOURCE_STATE, pValue, D3D12_RESOURCE_STATE_COMMON);
 }
 }
 
 
+static HRESULT ReadAttrSRV_DIMENSION(IXmlReader *pReader, LPCWSTR pAttrName, D3D12_SRV_DIMENSION *pValue) {
+  return ReadAttrEnumT(pReader, pAttrName, ParserEnumKind::SRV_DIMENSION, pValue, D3D12_SRV_DIMENSION_BUFFER);
+}
+
 static HRESULT ReadAttrUAV_DIMENSION(IXmlReader *pReader, LPCWSTR pAttrName, D3D12_UAV_DIMENSION *pValue) {
 static HRESULT ReadAttrUAV_DIMENSION(IXmlReader *pReader, LPCWSTR pAttrName, D3D12_UAV_DIMENSION *pValue) {
   return ReadAttrEnumT(pReader, pAttrName, ParserEnumKind::UAV_DIMENSION, pValue, D3D12_UAV_DIMENSION_BUFFER);
   return ReadAttrEnumT(pReader, pAttrName, ParserEnumKind::UAV_DIMENSION, pValue, D3D12_UAV_DIMENSION_BUFFER);
 }
 }
@@ -1552,51 +1576,83 @@ void ShaderOpParser::ParseDescriptor(IXmlReader *pReader, ShaderOpDescriptor *pD
   CHECK_HR(ReadAttrStr(pReader, L"ResName", &pDesc->ResName));
   CHECK_HR(ReadAttrStr(pReader, L"ResName", &pDesc->ResName));
   CHECK_HR(ReadAttrStr(pReader, L"CounterName", &pDesc->CounterName));
   CHECK_HR(ReadAttrStr(pReader, L"CounterName", &pDesc->CounterName));
   CHECK_HR(ReadAttrStr(pReader, L"Kind", &pDesc->Kind));
   CHECK_HR(ReadAttrStr(pReader, L"Kind", &pDesc->Kind));
-  // D3D12_UNORDERED_ACCESS_VIEW_DESC
-  HRESULT hrFormat = ReadAttrDXGI_FORMAT(pReader, L"Format", &pDesc->UavDesc.Format);
+  bool isSRV = pDesc->Kind && 0 == _stricmp(pDesc->Kind, "SRV");
+  DXGI_FORMAT *pFormat;
+  if (isSRV) {
+    // D3D12_SHADER_RESOURCE_VIEW_DESC
+    pFormat = &pDesc->SrvDesc.Format;
+  }
+  else {
+    // D3D12_UNORDERED_ACCESS_VIEW_DESC - default for parsing
+    pFormat = &pDesc->UavDesc.Format;
+  }
+  HRESULT hrFormat = ReadAttrDXGI_FORMAT(pReader, L"Format", pFormat);
   CHECK_HR(hrFormat);
   CHECK_HR(hrFormat);
-  CHECK_HR(ReadAttrUAV_DIMENSION(pReader, L"Dimension", &pDesc->UavDesc.ViewDimension));
-  switch (pDesc->UavDesc.ViewDimension) {
-  case D3D12_UAV_DIMENSION_BUFFER:
-    CHECK_HR(ReadAttrUINT64(pReader, L"FirstElement", &pDesc->UavDesc.Buffer.FirstElement));
-    CHECK_HR(ReadAttrUINT(pReader, L"NumElements", &pDesc->UavDesc.Buffer.NumElements));
-    CHECK_HR(ReadAttrUINT(pReader, L"StructureByteStride", &pDesc->UavDesc.Buffer.StructureByteStride));
-    CHECK_HR(ReadAttrUINT64(pReader, L"CounterOffsetInBytes", &pDesc->UavDesc.Buffer.CounterOffsetInBytes));
-    LPCSTR pFlags;
-    CHECK_HR(ReadAttrStr(pReader, L"Flags", &pFlags));
-    if (pFlags && *pFlags && 0 == _stricmp(pFlags, "RAW")) {
-      pDesc->UavDesc.Buffer.Flags = D3D12_BUFFER_UAV_FLAG_RAW;
-    }
-    else {
-      pDesc->UavDesc.Buffer.Flags = D3D12_BUFFER_UAV_FLAG_NONE;
+  if (isSRV) {
+    pDesc->SrvDesc.Shader4ComponentMapping = D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING;
+    CHECK_HR(ReadAttrSRV_DIMENSION(pReader, L"Dimension", &pDesc->SrvDesc.ViewDimension));
+    switch (pDesc->SrvDesc.ViewDimension) {
+    case D3D12_SRV_DIMENSION_BUFFER:
+      CHECK_HR(ReadAttrUINT64(pReader, L"FirstElement", &pDesc->SrvDesc.Buffer.FirstElement));
+      LPCSTR pFlags;
+      CHECK_HR(ReadAttrStr(pReader, L"Flags", &pFlags));
+      if (pFlags && *pFlags && 0 == _stricmp(pFlags, "RAW")) {
+        pDesc->SrvDesc.Buffer.Flags = D3D12_BUFFER_SRV_FLAG_RAW;
+      }
+      else {
+        pDesc->SrvDesc.Buffer.Flags = D3D12_BUFFER_SRV_FLAG_NONE;
+      }
+      CHECK_HR(ReadAttrUINT(pReader, L"NumElements", &pDesc->SrvDesc.Buffer.NumElements));
+      CHECK_HR(ReadAttrUINT(pReader, L"StructureByteStride", &pDesc->SrvDesc.Buffer.StructureByteStride));
+      break;
+    default:
+      CHECK_HR(E_NOTIMPL);
     }
     }
-    if (hrFormat == S_FALSE && pDesc->UavDesc.Buffer.Flags & D3D12_BUFFER_UAV_FLAG_RAW) {
-      pDesc->UavDesc.Format = DXGI_FORMAT_R32_TYPELESS;
+  }
+  else {
+    CHECK_HR(ReadAttrUAV_DIMENSION(pReader, L"Dimension", &pDesc->UavDesc.ViewDimension));
+    switch (pDesc->UavDesc.ViewDimension) {
+    case D3D12_UAV_DIMENSION_BUFFER:
+      CHECK_HR(ReadAttrUINT64(pReader, L"FirstElement", &pDesc->UavDesc.Buffer.FirstElement));
+      CHECK_HR(ReadAttrUINT(pReader, L"NumElements", &pDesc->UavDesc.Buffer.NumElements));
+      CHECK_HR(ReadAttrUINT(pReader, L"StructureByteStride", &pDesc->UavDesc.Buffer.StructureByteStride));
+      CHECK_HR(ReadAttrUINT64(pReader, L"CounterOffsetInBytes", &pDesc->UavDesc.Buffer.CounterOffsetInBytes));
+      LPCSTR pFlags;
+      CHECK_HR(ReadAttrStr(pReader, L"Flags", &pFlags));
+      if (pFlags && *pFlags && 0 == _stricmp(pFlags, "RAW")) {
+        pDesc->UavDesc.Buffer.Flags = D3D12_BUFFER_UAV_FLAG_RAW;
+      }
+      else {
+        pDesc->UavDesc.Buffer.Flags = D3D12_BUFFER_UAV_FLAG_NONE;
+      }
+      if (hrFormat == S_FALSE && pDesc->UavDesc.Buffer.Flags & D3D12_BUFFER_UAV_FLAG_RAW) {
+        pDesc->UavDesc.Format = DXGI_FORMAT_R32_TYPELESS;
+      }
+      break;
+    case D3D12_UAV_DIMENSION_TEXTURE1D:
+      CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture1D.MipSlice));
+      break;
+    case D3D12_UAV_DIMENSION_TEXTURE1DARRAY:
+      CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture1DArray.MipSlice));
+      CHECK_HR(ReadAttrUINT(pReader, L"FirstArraySlice", &pDesc->UavDesc.Texture1DArray.FirstArraySlice));
+      CHECK_HR(ReadAttrUINT(pReader, L"ArraySize", &pDesc->UavDesc.Texture1DArray.ArraySize));
+      break;
+    case D3D12_UAV_DIMENSION_TEXTURE2D:
+      CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture2D.MipSlice));
+      CHECK_HR(ReadAttrUINT(pReader, L"PlaneSlice", &pDesc->UavDesc.Texture2D.PlaneSlice));
+      break;
+    case D3D12_UAV_DIMENSION_TEXTURE2DARRAY:
+      CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture2DArray.MipSlice));
+      CHECK_HR(ReadAttrUINT(pReader, L"FirstArraySlice", &pDesc->UavDesc.Texture2DArray.FirstArraySlice));
+      CHECK_HR(ReadAttrUINT(pReader, L"ArraySize", &pDesc->UavDesc.Texture2DArray.ArraySize));
+      CHECK_HR(ReadAttrUINT(pReader, L"PlaneSlice", &pDesc->UavDesc.Texture2DArray.PlaneSlice));
+      break;
+    case D3D12_UAV_DIMENSION_TEXTURE3D:
+      CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture3D.MipSlice));
+      CHECK_HR(ReadAttrUINT(pReader, L"FirstWSlice", &pDesc->UavDesc.Texture3D.FirstWSlice));
+      CHECK_HR(ReadAttrUINT(pReader, L"WSize", &pDesc->UavDesc.Texture3D.WSize));
+      break;
     }
     }
-    break;
-  case D3D12_UAV_DIMENSION_TEXTURE1D:
-    CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture1D.MipSlice));
-    break;
-  case D3D12_UAV_DIMENSION_TEXTURE1DARRAY:
-    CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture1DArray.MipSlice));
-    CHECK_HR(ReadAttrUINT(pReader, L"FirstArraySlice", &pDesc->UavDesc.Texture1DArray.FirstArraySlice));
-    CHECK_HR(ReadAttrUINT(pReader, L"ArraySize", &pDesc->UavDesc.Texture1DArray.ArraySize));
-    break;
-  case D3D12_UAV_DIMENSION_TEXTURE2D:
-    CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture2D.MipSlice));
-    CHECK_HR(ReadAttrUINT(pReader, L"PlaneSlice", &pDesc->UavDesc.Texture2D.PlaneSlice));
-    break;
-  case D3D12_UAV_DIMENSION_TEXTURE2DARRAY:
-    CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture2DArray.MipSlice));
-    CHECK_HR(ReadAttrUINT(pReader, L"FirstArraySlice", &pDesc->UavDesc.Texture2DArray.FirstArraySlice));
-    CHECK_HR(ReadAttrUINT(pReader, L"ArraySize", &pDesc->UavDesc.Texture2DArray.ArraySize));
-    CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture2DArray.PlaneSlice));
-    break;
-  case D3D12_UAV_DIMENSION_TEXTURE3D:
-    CHECK_HR(ReadAttrUINT(pReader, L"MipSlice", &pDesc->UavDesc.Texture3D.MipSlice));
-    CHECK_HR(ReadAttrUINT(pReader, L"FirstWSlice", &pDesc->UavDesc.Texture3D.FirstWSlice));
-    CHECK_HR(ReadAttrUINT(pReader, L"WSize", &pDesc->UavDesc.Texture3D.WSize));
-    break;
   }
   }
 
 
   // If either is missing, set one from the other.
   // If either is missing, set one from the other.

+ 1 - 0
tools/clang/unittests/HLSL/ShaderOpTest.h

@@ -119,6 +119,7 @@ public:
   LPCSTR  CounterName;  // Name of the counter resource, if applicable.
   LPCSTR  CounterName;  // Name of the counter resource, if applicable.
   LPCSTR  Kind;         // One of UAV,SRV,CBV
   LPCSTR  Kind;         // One of UAV,SRV,CBV
   // Other fields to customize mapping can be added here.
   // Other fields to customize mapping can be added here.
+  D3D12_SHADER_RESOURCE_VIEW_DESC   SrvDesc;
   D3D12_UNORDERED_ACCESS_VIEW_DESC  UavDesc;
   D3D12_UNORDERED_ACCESS_VIEW_DESC  UavDesc;
 };
 };