Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /trunk/src/compiler/parser/diderot.grm
ViewVC logotype

Diff of /trunk/src/compiler/parser/diderot.grm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 510, Tue Feb 8 16:12:38 2011 UTC revision 511, Tue Feb 8 17:01:43 2011 UTC
# Line 7  Line 7 
7  %name Diderot;  %name Diderot;
8    
9  %tokens  %tokens
10    : KW_actor            ("actor")    : KW_strand           ("strand")
11    | KW_bool             ("bool")    | KW_bool             ("bool")
12    | KW_D                ("D")    | KW_D                ("D")
13    | KW_die              ("die")    | KW_die              ("die")
# Line 116  Line 116 
116  Decl  Decl
117          : InputDecl          : InputDecl
118          | VarDecl       => (PT.D_Var VarDecl)          | VarDecl       => (PT.D_Var VarDecl)
119          | ActorDecl          | StrandDecl
120          | CoordinationDecl          | CoordinationDecl
121          ;          ;
122    
# Line 136  Line 136 
136          ;          ;
137    
138    
139  (***** Actors *****)  (***** Strands *****)
140    
141  ActorDecl  StrandDecl
142          : "actor" ID "(" Params ")" "{" ActorStateDecl* ActorMethod+ "}"          : "strand" ID "(" Params ")" "{" StrandStateDecl* StrandMethod+ "}"
143                  => (markDecl(FULL_SPAN, PT.D_Actor{                  => (markDecl(FULL_SPAN, PT.D_Strand{
144                        name = ID, params = Params, state = ActorStateDecl,                        name = ID, params = Params, state = StrandStateDecl,
145                        methods = ActorMethod                        methods = StrandMethod
146                      }))                      }))
147          ;          ;
148    
# Line 156  Line 156 
156                  => (mark PT.P_Mark (FULL_SPAN, PT.P_Param(ValueType, ID)))                  => (mark PT.P_Mark (FULL_SPAN, PT.P_Param(ValueType, ID)))
157          ;          ;
158    
159  ActorStateDecl  StrandStateDecl
160          : "output" VarDecl          : "output" VarDecl
161                  => (true, mark PT.VD_Mark (FULL_SPAN, VarDecl))                  => (true, mark PT.VD_Mark (FULL_SPAN, VarDecl))
162          | VarDecl          | VarDecl
163                  => (false, VarDecl)                  => (false, VarDecl)
164          ;          ;
165    
166  ActorMethod  StrandMethod
167          : MethodId Block          : MethodId Block
168                  => (mark PT.M_Mark (FULL_SPAN, PT.M_Method(MethodId, Block)))                  => (mark PT.M_Mark (FULL_SPAN, PT.M_Method(MethodId, Block)))
169          ;          ;

Legend:
Removed from v.510  
changed lines
  Added in v.511

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0