diff options
Diffstat (limited to 'lib/ic/src/icpreproc.erl')
-rw-r--r-- | lib/ic/src/icpreproc.erl | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/lib/ic/src/icpreproc.erl b/lib/ic/src/icpreproc.erl deleted file mode 100644 index fc936c4bf3..0000000000 --- a/lib/ic/src/icpreproc.erl +++ /dev/null @@ -1,112 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2016. All Rights Reserved. -%% -%% Licensed under the Apache License, Version 2.0 (the "License"); -%% you may not use this file except in compliance with the License. -%% You may obtain a copy of the License at -%% -%% http://www.apache.org/licenses/LICENSE-2.0 -%% -%% Unless required by applicable law or agreed to in writing, software -%% distributed under the License is distributed on an "AS IS" BASIS, -%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -%% See the License for the specific language governing permissions and -%% limitations under the License. -%% -%% %CopyrightEnd% -%% -%% --module(icpreproc). - - - --export([preproc/2]). - - --import(lists, [filter/2]). - - -%%---------------------------------------------------------------------- -%%---------------------------------------------------------------------- - - -preproc(G, File) -> - Cmd = ic_options:get_opt(G, preproc_cmd), - Flags = ic_options:get_opt(G, preproc_flags), - - - case Cmd of - "erl" -> - case ic_pp:run(File,Flags) of - {ok, [$#, $ , $1 | Rest], []} -> - [$#, $ , $1 | Rest]; - {ok, [$#, $ , $1 | Rest], Warning} -> - print_warning(G,Warning), - [$#, $ , $1 | Rest]; - {error,Error} -> - print_error(G,Error) - end; - - _ -> - Line = Cmd++" "++Flags++" "++File, - % FIXME: Check status code of command instead of this test - case os:cmd(Line) of - [$#, $ , C | Rest] when is_integer(C), C > $0, C =< $9 -> - [$#, $ , C | Rest]; - X -> - ic_error:fatal_error(G, {preproc, filter(X)}) - end - end. - - -filter(X) -> - X2 = divide_nl(X, []), - filter_x_switch(X2). - - -divide_nl([10 | Xs], Out) -> - [lists:reverse(Out) | divide_nl(Xs, [])]; -divide_nl([X | Xs], Out) -> divide_nl(Xs, [X|Out]); -divide_nl([], Out) -> lists:reverse(Out). - - -filter_x_switch(L) -> - filter(fun([$g,$c,$c,$:,$ ,$W,$a,$r,$n,$i,$n,$g,$:,$ ,$`,$-,$x,$ | _]) -> - false; - (_) -> true end, L). - - -print_error(_G,[]) -> - ok; -print_error(G,[{File,Line,Text}]) -> - ErrorText = File++":"++integer_to_list(Line)++": "++Text, - ic_error:fatal_error(G, {ic_pp_error, ErrorText}), - ok; -print_error(G,[{File,Line,Text}|T]) -> - ErrorText = File++":"++integer_to_list(Line)++": "++Text, - ic_error:error(G, {ic_pp_error, ErrorText}), - print_error(G,T); -print_error(G,[H]) -> - ErrorText = H++"\n", - ic_error:fatal_error(G, {ic_pp_error, ErrorText}), - ok; -print_error(G,[H|T]) -> - ErrorText = H++"\n", - ic_error:error(G, {ic_pp_error, ErrorText}), - print_error(G,T). - - -print_warning(_G,[]) -> - ok; -print_warning(G,[{File,Line,Text}|T]) -> - WarText = File++":"++integer_to_list(Line)++": "++Text, - ic_error:warn(G, {ic_pp_warning, WarText}), - print_warning(G,T); -print_warning(G,[H|T]) -> - WarText = H++"\n", - ic_error:warn(G, {ic_pp_warning, WarText}), - print_warning(G,T). - - |