diff options
author | Gregory Malecha <gmalecha@cs.harvard.edu> | 2014-08-07 09:00:40 -0400 |
---|---|---|
committer | Pierre Boutillier <pierre.boutillier@pps.univ-paris-diderot.fr> | 2014-08-25 14:13:24 +0200 |
commit | 9bef662f678dfbeaa477b6d336a4bd141d102b91 (patch) | |
tree | 7bac188b13fa046f7d1e770726baeea21ebca2cf /tools/coqdep_lexer.mll | |
parent | b3af682ed9c8615882a3afec498e2d7dbf071e87 (diff) |
factored out require_modifiers + bug fix.
Conflicts:
tools/coqdep_lexer.mll
Diffstat (limited to 'tools/coqdep_lexer.mll')
-rw-r--r-- | tools/coqdep_lexer.mll | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/tools/coqdep_lexer.mll b/tools/coqdep_lexer.mll index aadced8b0..025b94d44 100644 --- a/tools/coqdep_lexer.mll +++ b/tools/coqdep_lexer.mll @@ -82,11 +82,7 @@ let dot = '.' ( space+ | eof) rule coq_action = parse | "Require" space+ - { require_file lexbuf } - | "Require" space+ "Export" space+ - { require_file lexbuf } - | "Require" space+ "Import" space+ - { require_file lexbuf } + { require_modifiers lexbuf } | "Local"? "Declare" space+ "ML" space+ "Module" space+ { mllist := []; modules lexbuf } | "Load" space+ @@ -123,13 +119,27 @@ and from_rule = parse | _ { syntax_error lexbuf } +and require_modifiers = parse + | "(*" + { comment lexbuf; require_modifiers lexbuf } + | "Import" space+ + { require_file lexbuf } + | "Export" space+ + { require_file lexbuf } + | space+ + { require_modifiers lexbuf } + | eof + { syntax_error lexbuf } + | _ + { backtrack lexbuf ; require_file lexbuf } + and consume_require = parse | "(*" { comment lexbuf; consume_require lexbuf } | space+ { consume_require lexbuf } | "Require" space+ - { require_file lexbuf } + { require_modifiers lexbuf } | eof { syntax_error lexbuf } | _ |