diff options
author | Björn Gustavsson <[email protected]> | 2011-11-02 11:35:46 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-11-29 16:36:19 +0100 |
commit | 53c22ad121c7cf900b9fcd859d95fa54686de047 (patch) | |
tree | c693cbaf4cb07a31f6038f1651126e6a24e9f01b /lib | |
parent | e1f68b26c432a6ad873da8c1460d423861eaedc7 (diff) | |
download | otp-53c22ad121c7cf900b9fcd859d95fa54686de047.tar.gz otp-53c22ad121c7cf900b9fcd859d95fa54686de047.tar.bz2 otp-53c22ad121c7cf900b9fcd859d95fa54686de047.zip |
parsetools: Eliminate use of tuple fun
Diffstat (limited to 'lib')
-rw-r--r-- | lib/parsetools/include/yeccpre.hrl | 5 | ||||
-rw-r--r-- | lib/parsetools/test/yecc_SUITE.erl | 7 |
2 files changed, 7 insertions, 5 deletions
diff --git a/lib/parsetools/include/yeccpre.hrl b/lib/parsetools/include/yeccpre.hrl index f638529aa4..3672394fc5 100644 --- a/lib/parsetools/include/yeccpre.hrl +++ b/lib/parsetools/include/yeccpre.hrl @@ -28,10 +28,11 @@ parse(Tokens) -> -spec parse_and_scan({function() | {atom(), atom()}, [_]} | {atom(), atom(), [_]}) -> yecc_ret(). -parse_and_scan({F, A}) -> % Fun or {M, F} +parse_and_scan({F, A}) -> yeccpars0([], {{F, A}, no_line}, 0, [], []); parse_and_scan({M, F, A}) -> - yeccpars0([], {{{M, F}, A}, no_line}, 0, [], []). + Arity = length(A), + yeccpars0([], {{fun M:F/Arity, A}, no_line}, 0, [], []). -spec format_error(any()) -> [char() | list()]. format_error(Message) -> diff --git a/lib/parsetools/test/yecc_SUITE.erl b/lib/parsetools/test/yecc_SUITE.erl index a5f66b48e9..3d26adf1be 100644 --- a/lib/parsetools/test/yecc_SUITE.erl +++ b/lib/parsetools/test/yecc_SUITE.erl @@ -1197,7 +1197,7 @@ yeccpre(Config) when is_list(Config) -> catch error: error -> ok end, - try parse_and_scan({{yecc_test, scan}, [exit]}) + try parse_and_scan({fun yecc_test:scan/1, [exit]}) catch exit: exit -> ok end, @@ -1650,10 +1650,11 @@ yeccpre_v1_2() -> parse(Tokens) -> yeccpars0(Tokens, false). -parse_and_scan({F, A}) -> % Fun or {M, F} +parse_and_scan({F, A}) -> yeccpars0([], {F, A}); parse_and_scan({M, F, A}) -> - yeccpars0([], {{M, F}, A}). + Arity = length(A), + yeccpars0([], {fun M:F/Arity, A}). format_error(Message) -> case io_lib:deep_char_list(Message) of |