dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/cscc/c c_grammar.y,1.56,1.57 c_scanner.


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/cscc/c c_grammar.y,1.56,1.57 c_scanner.l,1.11,1.12
Date: Mon, 30 Jun 2003 06:03:51 -0400

Update of /cvsroot/dotgnu-pnet/pnet/cscc/c
In directory subversions:/tmp/cvs-serv13068/cscc/c

Modified Files:
        c_grammar.y c_scanner.l 
Log Message:


Add "type::name" syntax to the C compiler, to replace
the clumsy "__invoke__ type.name".


Index: c_grammar.y
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/c/c_grammar.y,v
retrieving revision 1.56
retrieving revision 1.57
diff -C2 -r1.56 -r1.57
*** c_grammar.y 28 Jun 2003 05:28:47 -0000      1.56
--- c_grammar.y 30 Jun 2003 10:03:49 -0000      1.57
***************
*** 1015,1018 ****
--- 1015,1019 ----
  %token XOR_ASSIGN_OP  "`^='"
  %token OR_ASSIGN_OP           "`|='"
+ %token COLON_COLON_OP "`::'"
  
  /*
***************
*** 1121,1125 ****
  %type <kind>          StructOrUnion TypeQualifierList TypeQualifier
  
! %expect 1
  
  %start File
--- 1122,1126 ----
  %type <kind>          StructOrUnion TypeQualifierList TypeQualifier
  
! %expect 5
  
  %start File
***************
*** 1370,1373 ****
--- 1371,1382 ----
                                                
(CScopeGetType(CScopeLookup($2)), $4, $6);
                        }
+       | TYPE_NAME COLON_COLON_OP AnyIdentifier '(' ')'        {
+                               $$ = ILNode_CSharpInvocation_create
+                                               
(CScopeGetType(CScopeLookup($1)), $3, 0);
+                       }
+       | TYPE_NAME COLON_COLON_OP AnyIdentifier '(' ArgumentExpressionList ')' 
{
+                               $$ = ILNode_CSharpInvocation_create
+                                               
(CScopeGetType(CScopeLookup($1)), $3, $5);
+                       }
        | PostfixExpression PTR_OP AnyIdentifier        {
                                $$ = ILNode_CDerefField_create
***************
*** 2692,2696 ****
--- 2701,2711 ----
                                $$ = ILNode_AsmStmt_create($3.string);
                        }
+       | K_ASM '(' StringLiteral COLON_COLON_OP ')'    {
+                               $$ = ILNode_AsmStmt_create($3.string);
+                       }
        | K_ASM K_VOLATILE '(' StringLiteral ':' ':' ')'        {
+                               $$ = ILNode_AsmStmt_create($4.string);
+                       }
+       | K_ASM K_VOLATILE '(' StringLiteral COLON_COLON_OP ')' {
                                $$ = ILNode_AsmStmt_create($4.string);
                        }

Index: c_scanner.l
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/cscc/c/c_scanner.l,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** c_scanner.l 28 Jun 2003 05:28:47 -0000      1.11
--- c_scanner.l 30 Jun 2003 10:03:49 -0000      1.12
***************
*** 106,109 ****
--- 106,110 ----
  "|="                                  { return OR_ASSIGN_OP; }
  "->"                                  { return PTR_OP; }
+ "::"                                  { return COLON_COLON_OP; }
  
  "asm"                                 { return K_ASM; }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]