Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cm/parse/cm.grm
ViewVC logotype

Diff of /sml/trunk/src/cm/parse/cm.grm

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

revision 265, Fri May 7 08:42:54 1999 UTC revision 266, Sat May 8 04:00:44 1999 UTC
# Line 13  Line 13 
13      | ALIAS | GROUP | LIBRARY | IS      | ALIAS | GROUP | LIBRARY | IS
14      | LPAREN | RPAREN | COLON      | LPAREN | RPAREN | COLON
15      | IF | THEN | ELIF | ELSE | ENDIF      | IF | THEN | ELIF | ELSE | ENDIF
16        | ERROR of string
17      | STRUCTURE | SIGNATURE | FUNCTOR | FUNSIG      | STRUCTURE | SIGNATURE | FUNCTOR | FUNSIG
18      | DEFINED      | DEFINED
19      | PLUS | MINUS | TIMES | DIV | MOD | TILDE      | PLUS | MINUS | TIMES | DIV | MOD | TILDE
# Line 22  Line 23 
23  %nonterm description of S.group  %nonterm description of S.group
24         | alias of S.group         | alias of S.group
25         | group of S.group         | group of S.group
26         | opt_perms of S.perm list         | opt_perms of S.perms
27         | perms of S.perm list         | perms of S.perms
        | perm of S.perm  
28         | lib_exports of S.exports         | lib_exports of S.exports
29         | exports of S.exports         | exports of S.exports
30         | export of S.exports         | export of S.exports
# Line 45  Line 45 
45    
46  %pos int  %pos int
47  %verbose  %verbose
48  %arg (currentDir) : S.pathname  %arg (currentDir, error) : S.pathname * (pos * pos -> string -> unit)
49  %start description  %start description
50  %eop EOF  %eop EOF
51  %noshift EOF  %noshift EOF
# Line 80  Line 80 
80                                                   (opt_perms, lib_exports,                                                   (opt_perms, lib_exports,
81                                                    members))                                                    members))
82    
83  opt_perms : (* empty *)                         ([])  opt_perms : (* empty *)                         (S.initialPerms)
84            | LPAREN perms RPAREN                 (perms)            | LPAREN perms RPAREN                 (perms)
85    
86  perms : perm                                    ([perm])  perms : (* empty *)                             (S.initialPerms)
87        | perm perms                              (perm :: perms)        | perms sym                               (S.require (perms, sym,
88                                                                error (symleft,
89  perm : sym                                      (S.require sym)                                                                     symright)))
90       | COLON sym                                (S.grant sym)        | perms COLON sym                         (S.grant (perms, sym,
91                                                              error (symleft,
92                                                                     symright)))
93    
94  lib_exports : export exports                    (S.exports (export, exports))  lib_exports : export exports                    (S.exports (export, exports))
95    
# Line 97  Line 99 
99  export : ml_symbol                              (S.export ml_symbol)  export : ml_symbol                              (S.export ml_symbol)
100         | IF exp guarded_exports                 (S.guarded_exports         | IF exp guarded_exports                 (S.guarded_exports
101                                                    (exp, guarded_exports))                                                    (exp, guarded_exports))
102           | ERROR                                  (S.error_export ERROR)
103    
104  guarded_exports : THEN exports else_exports     ((exports, else_exports))  guarded_exports : THEN exports else_exports     ((exports, else_exports))
105    
# Line 112  Line 115 
115         | pathname COLON sym                     (S.member (pathname, SOME sym))         | pathname COLON sym                     (S.member (pathname, SOME sym))
116         | IF exp guarded_members                 (S.guarded_members         | IF exp guarded_members                 (S.guarded_members
117                                                   (exp, guarded_members))                                                   (exp, guarded_members))
118           | ERROR                                  (S.error_member ERROR)
119    
120  guarded_members : THEN members else_members     ((members, else_members))  guarded_members : THEN members else_members     ((members, else_members))
121    

Legend:
Removed from v.265  
changed lines
  Added in v.266

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