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

SCM Repository

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

Diff of /branches/lamont/src/compiler/parser/diderot.grm

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

revision 47, Tue Apr 13 14:57:27 2010 UTC revision 48, Tue Apr 13 23:11:15 2010 UTC
# Line 25  Line 25 
25    | KW_stabilize        ("stabilize")    | KW_stabilize        ("stabilize")
26    | KW_string           ("string")    | KW_string           ("string")
27    | KW_tensor           ("tensor")    | KW_tensor           ("tensor")
28    | KW_vec              ("vec")    | KW_vec2             ("vec2")
29      | KW_vec3             ("vec3")
30      | KW_vec4             ("vec4")
31    | OP_eq               ("=")    | OP_eq               ("=")
32    | OP_orelse           ("||")    | OP_orelse           ("||")
33    | OP_andalso          ("&&")    | OP_andalso          ("&&")
# Line 213  Line 215 
215    
216  (***** Types *****)  (***** Types *****)
217    
218  Type    : "image" Dimensions "[" Dimension "]"  Type    : "image" "(" Dimension ")" Dimensions
219                  => (markTy(FULL_SPAN, PT.T_Image{                  => (markTy(FULL_SPAN, PT.T_Image{
220                          order = Dimensions, dim = Dimension                          order = Dimensions, dim = Dimension
221                        }))                        }))
222          | "field" "#" Dimension Dimensions "[" Dimension "]"          | "field" "#" Dimension "(" Dimension ")" Dimensions
223                  => (markTy(FULL_SPAN, PT.T_Field{                  => (markTy(FULL_SPAN, PT.T_Field{
224                          diff = Dimension1,                          diff = Dimension1,
225                          order = Dimensions,                          order = Dimensions,
# Line 235  Line 237 
237  ValueType  ValueType
238          : "tensor" Dimensions          : "tensor" Dimensions
239                  => (markTy(FULL_SPAN, PT.T_Tensor Dimensions))                  => (markTy(FULL_SPAN, PT.T_Tensor Dimensions))
240          | "vec" "<" Dimension ">"          | "vec2"
241                  => (markTy(FULL_SPAN, PT.T_Vec Dimension))                  => (markTy(FULL_SPAN, PT.T_Vec 2))
242            | "vec3"
243                    => (markTy(FULL_SPAN, PT.T_Vec 3))
244            | "vec4"
245                    => (markTy(FULL_SPAN, PT.T_Vec 4))
246          | "bool"          | "bool"
247                  => (markTy(FULL_SPAN, PT.T_Bool))                  => (markTy(FULL_SPAN, PT.T_Bool))
248          | "int"          | "int"
# Line 248  Line 254 
254          ;          ;
255    
256  Dimensions  Dimensions
257          : (* empty *)          : "[" ( Dimension ("," Dimension)* )? "]"
                 => ([])  
         | "<" ( Dimension ("," Dimension)* )? ">"  
258                  => (flatten SR)                  => (flatten SR)
259          ;          ;
260    

Legend:
Removed from v.47  
changed lines
  Added in v.48

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