* ILParser.jay: Assembly and module names may have dashes in them
authorJackson Harper <jackson@novell.com>
Thu, 5 Jun 2003 03:32:27 +0000 (03:32 -0000)
committerJackson Harper <jackson@novell.com>
Thu, 5 Jun 2003 03:32:27 +0000 (03:32 -0000)
(like gtk-sharp.dll).

svn path=/trunk/mcs/; revision=15116

mcs/ilasm/parser/ChangeLog
mcs/ilasm/parser/ILParser.jay

index 72b62abe8cfe0feff3c235312df7dddb2f91d6e7..763d7613a289dc01d77135b0a97274dd96e7dab9 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-04 Jackson Harper <jackson@latitudegeo.com>
+
+       * ILParser.jay: Assembly and module names may have dashes in them
+       (like gtk-sharp.dll).
+               
 2003-05-31 Jackson Harper <jackson@latitudegeo.com>
 
        * ILParser.jay: Set assembly names. When looking up types in the
index a019a95306aa0fc57ed7e758029acb444862ee2d..deb1bb3b93026d472eb220c2b1ebef30660ba4ac 100644 (file)
@@ -552,7 +552,7 @@ slashed_name                : comp_name
                           }\r
                        ;\r
 \r
-class_ref              : OPEN_BRACKET comp_name CLOSE_BRACKET slashed_name\r
+class_ref              : OPEN_BRACKET file_name CLOSE_BRACKET slashed_name\r
                           {\r
                                 if (codegen.IsThisAssembly ((string) $2)) {\r
                                         $$ = new TypeRef ((string) $4, null);\r
@@ -562,7 +562,7 @@ class_ref           : OPEN_BRACKET comp_name CLOSE_BRACKET slashed_name
                                         $$ = new ExternTypeRef (klass, (string) $4);\r
                                 }\r
                           }\r
-                       | OPEN_BRACKET D_MODULE comp_name CLOSE_BRACKET slashed_name\r
+                       | OPEN_BRACKET D_MODULE file_name CLOSE_BRACKET slashed_name\r
                        | slashed_name\r
                           {\r
                                 PrimitiveTypeRef prim = PrimitiveTypeRef.GetPrimitiveType ((string) $1);\r
@@ -620,7 +620,7 @@ type                        : K_CLASS class_ref
                           {\r
                                 $$ = $3;\r
                           }\r
-                       | K_VALUETYPE OPEN_BRACKET comp_name CLOSE_BRACKET slashed_name\r
+                       | K_VALUETYPE OPEN_BRACKET file_name CLOSE_BRACKET slashed_name\r
                           {\r
                                 ClassRef klass = codegen.ExternTable.GetValueClass ((string) $3, (string)$5);\r
                                 $$ = new ExternTypeRef (klass, (string) $5);\r
@@ -1571,12 +1571,12 @@ slot_num                : OPEN_BRACKET int32 CLOSE_BRACKET
                         ;\r
 \r
 type_spec              : class_ref\r
-                       | OPEN_BRACKET comp_name CLOSE_BRACKET\r
+                       | OPEN_BRACKET file_name CLOSE_BRACKET\r
                           {\r
                                 // This is a reference to a global method in another\r
                                 // assembly. This is not supported in the MS version of ilasm\r
                           }\r
-                       | OPEN_BRACKET D_MODULE comp_name CLOSE_BRACKET\r
+                       | OPEN_BRACKET D_MODULE file_name CLOSE_BRACKET\r
                        | type\r
                        ;\r
 \r
@@ -2052,7 +2052,7 @@ file_entry                : /* EMPTY */
 assembly_all           : assembly_head OPEN_BRACE assembly_decls CLOSE_BRACE\r
                        ;\r
 \r
-assembly_head          : D_ASSEMBLY asm_attr comp_name\r
+assembly_head          : D_ASSEMBLY asm_attr file_name\r
                           {\r
                                 codegen.SetAssemblyName ((string) $3);\r
                           }\r
@@ -2083,14 +2083,14 @@ asm_or_ref_decl         : D_PUBLICKEY ASSIGN OPEN_PARENS bytes CLOSE_PARENS
 assemblyref_all                : assemblyref_head OPEN_BRACE assemblyref_decls CLOSE_BRACE\r
                        ;\r
 \r
-assemblyref_head       : D_ASSEMBLY K_EXTERN comp_name\r
+assemblyref_head       : D_ASSEMBLY K_EXTERN file_name\r
                           {\r
                                 System.Reflection.AssemblyName asmb_name = \r
                                        new System.Reflection.AssemblyName ();\r
                                asmb_name.Name = (string) $3;\r
                                codegen.ExternTable.AddAssembly ((string) $3, asmb_name);\r
                           }\r
-                       | D_ASSEMBLY K_EXTERN comp_name K_AS comp_name\r
+                       | D_ASSEMBLY K_EXTERN file_name K_AS file_name\r
                           {\r
                                 System.Reflection.AssemblyName asmb_name = \r
                                        new System.Reflection.AssemblyName ();\r
@@ -2151,7 +2151,7 @@ manifestres_decls : /* EMPTY */
                        ;\r
 \r
 manifestres_decl       : D_FILE comp_name K_AT int32\r
-                       | D_ASSEMBLY K_EXTERN comp_name\r
+                       | D_ASSEMBLY K_EXTERN file_name\r
                        | customattr_decl\r
                        ;\r
 \r
@@ -2244,6 +2244,13 @@ comp_name                : id
                           }\r
                        ;\r
 \r
+file_name               : comp_name\r
+                        | file_name DASH comp_name\r
+                          {\r
+                                $$ = (string) $1 + '-' + (string) $3;\r
+                          }\r
+                        ;\r
+\r
 \r
 %%\r
 \r