From be2262e83699ba9680a00c7257e586ba3f04cfc9 Mon Sep 17 00:00:00 2001 From: Lukas Larsson Date: Sat, 1 Oct 2011 23:35:27 +0200 Subject: [PATCH] Remove erlang parse and scan --- tests/erlang_SUITE_data/erlang_parse.yrl | 54 -------------------- tests/erlang_SUITE_data/erlang_scan.erl | 65 ------------------------ 2 files changed, 119 deletions(-) delete mode 100644 tests/erlang_SUITE_data/erlang_parse.yrl delete mode 100644 tests/erlang_SUITE_data/erlang_scan.erl diff --git a/tests/erlang_SUITE_data/erlang_parse.yrl b/tests/erlang_SUITE_data/erlang_parse.yrl deleted file mode 100644 index cea08f3..0000000 --- a/tests/erlang_SUITE_data/erlang_parse.yrl +++ /dev/null @@ -1,54 +0,0 @@ -Nonterminals module variable function function_clauses function_clause clause_args clause_arg exprs expr params. -Terminals num atom var '(' ')' ';' ',' '+' '-' '<' '*' '=' '->' '.' '/'. - -Rootsymbol module. -Left 100 '+'. -Left 150 '-'. -Left 200 '*'. -Left 250 '/'. -Left 50 '<'. - -module -> function '.' : '$1'. - -function -> function_clauses : build_function('$1'). - -function_clauses -> function_clause : ['$1']. -function_clauses -> function_clause ';' function_clauses : ['$1'|'$3']. - -function_clause -> atom '(' clause_args ')' '->' exprs : {clause, value_of('$1'), '$3', '$6'}. - -clause_args -> clause_arg : ['$1']. -clause_args -> clause_arg ',' clause_args : ['$1'|'$3']. - -clause_arg -> num : {int, value_of('$1')}. -clause_arg -> var : {var, value_of('$1')}. - -exprs -> expr : ['$1']. -exprs -> expr ',' exprs : ['$1'|'$3']. - -expr -> num : {int, value_of('$1')}. -expr -> var : {var, value_of('$1')}. -expr -> expr '+' expr : {'+','$1','$3'}. -expr -> expr '-' expr : {'-','$1','$3'}. -expr -> expr '*' expr : {'*','$1','$3'}. -expr -> expr '/' expr : {'/','$1','$3'}. -expr -> atom '(' params ')' : {call, value_of('$1'), '$3'}. - -params -> expr : ['$1']. -params -> expr ',' params : ['$1'|'$3']. - -Erlang code. -value_of(Token) -> - element(3, Token). - -build_function([{clause, Name, Args, _}|_] = Clauses) -> - NumArgs = length(Args), - {function, Name, NumArgs, check_clauses(Name, NumArgs, 0, Clauses)}. - -check_clauses(Name, NumArgs, Label, [{clause, Name, Args, Body}|Rest]) - when length(Args) == NumArgs -> - [{clause, Args, Body}|check_clauses(Name, NumArgs, Label + 1, Rest)]; -check_clauses(_Name, _NumArgs, _Label, []) -> - []; -check_clauses(_Name, _, _, _) -> - return_error(0, "head missmatch"). diff --git a/tests/erlang_SUITE_data/erlang_scan.erl b/tests/erlang_SUITE_data/erlang_scan.erl deleted file mode 100644 index f99496e..0000000 --- a/tests/erlang_SUITE_data/erlang_scan.erl +++ /dev/null @@ -1,65 +0,0 @@ --module(erlang_scan). - - --export([string/1]). - -string(Str) -> - put(scan_tok, 0), - scan(Str,none,[]). - -scan([], none, Acc) -> - lists:reverse(Acc); - -%% Keyword scan -scan("->"++Rest, none, Acc) -> - scan(Rest, none, [{'->',num()}|Acc]); -scan(" "++Rest, none, Acc) -> - scan(Rest, none, Acc); -scan("\n"++Rest, none, Acc) -> - scan(Rest, none, Acc); - -%% special tokens -scan([Tok|Rest], none, Acc) - when Tok == $(; Tok == $); Tok == $;; Tok == $,; - Tok == $+; Tok == $-; Tok == $/; Tok == $*; - Tok == $<; Tok == $=; Tok == $. -> - scan(Rest, none, [{list_to_atom([Tok]),num()}|Acc]); - -%% Number scan -scan([Num|Rest], none, Acc) - when ($0 =< Num andalso Num =< $9) -> - scan(Rest, {num, [Num]}, Acc); -scan([Num|Rest],{num,NumAcc},Acc) - when ($0 =< Num andalso Num =< $9)-> - scan(Rest, {num, [Num|NumAcc]}, Acc); -scan(String,{num,Num},Acc) -> - scan(String, none, [{num, num(), lists:reverse(Num)}|Acc]); - -%% Atom scan -scan([Char|Rest], none, Acc) - when ($a =< Char andalso Char =< $z)-> - scan(Rest, {atom, [Char]}, Acc); -scan([Char|Rest],{atom,AtomAcc},Acc) - when ($a =< Char andalso Char =< $z); - ($A =< Char andalso Char =< $Z); - ($0 =< Char andalso Char =< $9) -> - scan(Rest, {atom, [Char|AtomAcc]}, Acc); -scan(String,{atom,Char},Acc) -> - scan(String, none, [{atom, num(), lists:reverse(Char)}|Acc]); - -%% Variable scan -scan([Char|Rest], none, Acc) - when ($A =< Char andalso Char =< $Z)-> - scan(Rest, {var, [Char]}, Acc); -scan([Char|Rest],{var,VarAcc},Acc) - when ($a =< Char andalso Char =< $z); - ($A =< Char andalso Char =< $Z); - ($0 =< Char andalso Char =< $9) -> - scan(Rest, {var, [Char|VarAcc]}, Acc); -scan(String,{var,Char},Acc) -> - scan(String, none, [{var, num(), lists:reverse(Char)}|Acc]). - -num() -> - Num = get(scan_tok), - put(scan_tok, Num+1), - Num.