diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2004-11-26 11:08:08 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2004-11-26 11:08:08 +0000 |
commit | da55691c844db9b3dcf547c34235b2e8ffd2493c (patch) | |
tree | 1cbfac17243fff435ea6d854f38c665f970b074a /perl_checker.src/lexer.mll | |
parent | c0e7b9c7d3dd295f2d432c096508fcffbcbbc837 (diff) | |
download | perl_checker-da55691c844db9b3dcf547c34235b2e8ffd2493c.tar perl_checker-da55691c844db9b3dcf547c34235b2e8ffd2493c.tar.gz perl_checker-da55691c844db9b3dcf547c34235b2e8ffd2493c.tar.bz2 perl_checker-da55691c844db9b3dcf547c34235b2e8ffd2493c.tar.xz perl_checker-da55691c844db9b3dcf547c34235b2e8ffd2493c.zip |
force { zzz => ... } to be a hash ref
Diffstat (limited to 'perl_checker.src/lexer.mll')
-rw-r--r-- | perl_checker.src/lexer.mll | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/perl_checker.src/lexer.mll b/perl_checker.src/lexer.mll index 8aaeca0..570add8 100644 --- a/perl_checker.src/lexer.mll +++ b/perl_checker.src/lexer.mll @@ -87,6 +87,14 @@ let rec concat_bareword_paren accu = function | e :: l -> concat_bareword_paren (e :: accu) l +let rec bracket_bareword_is_hashref accu = function + | (_, Parser.BRACKET _ as bracket) :: (_, Parser.BAREWORD _ as bareword) :: (_, Parser.RIGHT_ARROW _ as right_arrow) :: l -> + bracket_bareword_is_hashref (right_arrow :: bareword :: bracket :: accu) l + | [] -> List.rev accu + | e :: l -> + bracket_bareword_is_hashref (e :: accu) l + + let rec raw_token_to_pos_and_token spaces = function | INT(s, pos) -> pos, Parser.NUM(new_any M_int s spaces pos) | FLOAT(s, pos) -> pos, Parser.NUM(new_any M_float s spaces pos) @@ -225,6 +233,7 @@ let get_token token lexbuf = let tokens = lexbuf2list [] token lexbuf in let tokens = concat_bareword_paren [] tokens in let tokens = concat_spaces Space_0 tokens in + let tokens = bracket_bareword_is_hashref [] tokens in tokens let next_rule = Stack.create() |