[Top][All Lists]
[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; }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnet/cscc/c c_grammar.y,1.56,1.57 c_scanner.l,1.11,1.12,
Rhys Weatherley <address@hidden> <=