From 22767ebe858a4eeadf168f40a36dae2ac7cb4eae Mon Sep 17 00:00:00 2001 From: Thiago Ramos Date: Mon, 14 Nov 2022 22:13:31 -0300 Subject: [PATCH 1/6] Adding lexer and parser files --- src/build_query_lexer.erl | 741 +++++++++++++++++++++++++++++++++++++ src/build_query_lexer.xrl | 45 +++ src/build_query_parser.erl | 278 ++++++++++++++ src/build_query_parser.yrl | 16 + src/test.md | 10 + 5 files changed, 1090 insertions(+) create mode 100644 src/build_query_lexer.erl create mode 100644 src/build_query_lexer.xrl create mode 100644 src/build_query_parser.erl create mode 100644 src/build_query_parser.yrl create mode 100644 src/test.md diff --git a/src/build_query_lexer.erl b/src/build_query_lexer.erl new file mode 100644 index 0000000..d65273f --- /dev/null +++ b/src/build_query_lexer.erl @@ -0,0 +1,741 @@ +-file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/leexinc.hrl", 0). +%% The source of this file is part of leex distribution, as such it +%% has the same Copyright as the other files in the leex +%% distribution. The Copyright is defined in the accompanying file +%% COPYRIGHT. However, the resultant scanner generated by leex is the +%% property of the creator of the scanner and is not covered by that +%% Copyright. + +-module(build_query_lexer). + +-export([string/1,string/2,token/2,token/3,tokens/2,tokens/3]). +-export([format_error/1]). + +%% User code. This is placed here to allow extra attributes. +-file("src/build_query_lexer.xrl", 41). + +extract_token([_, _, Fields]) -> Fields. +extract_fields(Fields) -> extract_token(string:replace(Fields, "select ", "", all)). +extract_from(Fields) -> extract_token(string:replace(Fields, "from ", "", all)). + +-file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/leexinc.hrl", 14). + +format_error({illegal,S}) -> ["illegal characters ",io_lib:write_string(S)]; +format_error({user,S}) -> S. + +string(String) -> string(String, 1). + +string(String, Line) -> string(String, Line, String, []). + +%% string(InChars, Line, TokenChars, Tokens) -> +%% {ok,Tokens,Line} | {error,ErrorInfo,Line}. +%% Note the line number going into yystate, L0, is line of token +%% start while line number returned is line of token end. We want line +%% of token start. + +string([], L, [], Ts) -> % No partial tokens! + {ok,yyrev(Ts),L}; +string(Ics0, L0, Tcs, Ts) -> + case yystate(yystate(), Ics0, L0, 0, reject, 0) of + {A,Alen,Ics1,L1} -> % Accepting end state + string_cont(Ics1, L1, yyaction(A, Alen, Tcs, L0), Ts); + {A,Alen,Ics1,L1,_S1} -> % Accepting transition state + string_cont(Ics1, L1, yyaction(A, Alen, Tcs, L0), Ts); + {reject,_Alen,Tlen,_Ics1,L1,_S1} -> % After a non-accepting state + {error,{L0,?MODULE,{illegal,yypre(Tcs, Tlen+1)}},L1}; + {A,Alen,Tlen,_Ics1,L1,_S1} -> + Tcs1 = yysuf(Tcs, Alen), + L2 = adjust_line(Tlen, Alen, Tcs1, L1), + string_cont(Tcs1, L2, yyaction(A, Alen, Tcs, L0), Ts) + end. + +%% string_cont(RestChars, Line, Token, Tokens) +%% Test for and remove the end token wrapper. Push back characters +%% are prepended to RestChars. + +-dialyzer({nowarn_function, string_cont/4}). + +string_cont(Rest, Line, {token,T}, Ts) -> + string(Rest, Line, Rest, [T|Ts]); +string_cont(Rest, Line, {token,T,Push}, Ts) -> + NewRest = Push ++ Rest, + string(NewRest, Line, NewRest, [T|Ts]); +string_cont(Rest, Line, {end_token,T}, Ts) -> + string(Rest, Line, Rest, [T|Ts]); +string_cont(Rest, Line, {end_token,T,Push}, Ts) -> + NewRest = Push ++ Rest, + string(NewRest, Line, NewRest, [T|Ts]); +string_cont(Rest, Line, skip_token, Ts) -> + string(Rest, Line, Rest, Ts); +string_cont(Rest, Line, {skip_token,Push}, Ts) -> + NewRest = Push ++ Rest, + string(NewRest, Line, NewRest, Ts); +string_cont(_Rest, Line, {error,S}, _Ts) -> + {error,{Line,?MODULE,{user,S}},Line}. + +%% token(Continuation, Chars) -> +%% token(Continuation, Chars, Line) -> +%% {more,Continuation} | {done,ReturnVal,RestChars}. +%% Must be careful when re-entering to append the latest characters to the +%% after characters in an accept. The continuation is: +%% {token,State,CurrLine,TokenChars,TokenLen,TokenLine,AccAction,AccLen} + +token(Cont, Chars) -> token(Cont, Chars, 1). + +token([], Chars, Line) -> + token(yystate(), Chars, Line, Chars, 0, Line, reject, 0); +token({token,State,Line,Tcs,Tlen,Tline,Action,Alen}, Chars, _) -> + token(State, Chars, Line, Tcs ++ Chars, Tlen, Tline, Action, Alen). + +%% token(State, InChars, Line, TokenChars, TokenLen, TokenLine, +%% AcceptAction, AcceptLen) -> +%% {more,Continuation} | {done,ReturnVal,RestChars}. +%% The argument order is chosen to be more efficient. + +token(S0, Ics0, L0, Tcs, Tlen0, Tline, A0, Alen0) -> + case yystate(S0, Ics0, L0, Tlen0, A0, Alen0) of + %% Accepting end state, we have a token. + {A1,Alen1,Ics1,L1} -> + token_cont(Ics1, L1, yyaction(A1, Alen1, Tcs, Tline)); + %% Accepting transition state, can take more chars. + {A1,Alen1,[],L1,S1} -> % Need more chars to check + {more,{token,S1,L1,Tcs,Alen1,Tline,A1,Alen1}}; + {A1,Alen1,Ics1,L1,_S1} -> % Take what we got + token_cont(Ics1, L1, yyaction(A1, Alen1, Tcs, Tline)); + %% After a non-accepting state, maybe reach accept state later. + {A1,Alen1,Tlen1,[],L1,S1} -> % Need more chars to check + {more,{token,S1,L1,Tcs,Tlen1,Tline,A1,Alen1}}; + {reject,_Alen1,Tlen1,eof,L1,_S1} -> % No token match + %% Check for partial token which is error. + Ret = if Tlen1 > 0 -> {error,{Tline,?MODULE, + %% Skip eof tail in Tcs. + {illegal,yypre(Tcs, Tlen1)}},L1}; + true -> {eof,L1} + end, + {done,Ret,eof}; + {reject,_Alen1,Tlen1,Ics1,L1,_S1} -> % No token match + Error = {Tline,?MODULE,{illegal,yypre(Tcs, Tlen1+1)}}, + {done,{error,Error,L1},Ics1}; + {A1,Alen1,Tlen1,_Ics1,L1,_S1} -> % Use last accept match + Tcs1 = yysuf(Tcs, Alen1), + L2 = adjust_line(Tlen1, Alen1, Tcs1, L1), + token_cont(Tcs1, L2, yyaction(A1, Alen1, Tcs, Tline)) + end. + +%% token_cont(RestChars, Line, Token) +%% If we have a token or error then return done, else if we have a +%% skip_token then continue. + +-dialyzer({nowarn_function, token_cont/3}). + +token_cont(Rest, Line, {token,T}) -> + {done,{ok,T,Line},Rest}; +token_cont(Rest, Line, {token,T,Push}) -> + NewRest = Push ++ Rest, + {done,{ok,T,Line},NewRest}; +token_cont(Rest, Line, {end_token,T}) -> + {done,{ok,T,Line},Rest}; +token_cont(Rest, Line, {end_token,T,Push}) -> + NewRest = Push ++ Rest, + {done,{ok,T,Line},NewRest}; +token_cont(Rest, Line, skip_token) -> + token(yystate(), Rest, Line, Rest, 0, Line, reject, 0); +token_cont(Rest, Line, {skip_token,Push}) -> + NewRest = Push ++ Rest, + token(yystate(), NewRest, Line, NewRest, 0, Line, reject, 0); +token_cont(Rest, Line, {error,S}) -> + {done,{error,{Line,?MODULE,{user,S}},Line},Rest}. + +%% tokens(Continuation, Chars, Line) -> +%% {more,Continuation} | {done,ReturnVal,RestChars}. +%% Must be careful when re-entering to append the latest characters to the +%% after characters in an accept. The continuation is: +%% {tokens,State,CurrLine,TokenChars,TokenLen,TokenLine,Tokens,AccAction,AccLen} +%% {skip_tokens,State,CurrLine,TokenChars,TokenLen,TokenLine,Error,AccAction,AccLen} + +tokens(Cont, Chars) -> tokens(Cont, Chars, 1). + +tokens([], Chars, Line) -> + tokens(yystate(), Chars, Line, Chars, 0, Line, [], reject, 0); +tokens({tokens,State,Line,Tcs,Tlen,Tline,Ts,Action,Alen}, Chars, _) -> + tokens(State, Chars, Line, Tcs ++ Chars, Tlen, Tline, Ts, Action, Alen); +tokens({skip_tokens,State,Line,Tcs,Tlen,Tline,Error,Action,Alen}, Chars, _) -> + skip_tokens(State, Chars, Line, Tcs ++ Chars, Tlen, Tline, Error, Action, Alen). + +%% tokens(State, InChars, Line, TokenChars, TokenLen, TokenLine, Tokens, +%% AcceptAction, AcceptLen) -> +%% {more,Continuation} | {done,ReturnVal,RestChars}. + +tokens(S0, Ics0, L0, Tcs, Tlen0, Tline, Ts, A0, Alen0) -> + case yystate(S0, Ics0, L0, Tlen0, A0, Alen0) of + %% Accepting end state, we have a token. + {A1,Alen1,Ics1,L1} -> + tokens_cont(Ics1, L1, yyaction(A1, Alen1, Tcs, Tline), Ts); + %% Accepting transition state, can take more chars. + {A1,Alen1,[],L1,S1} -> % Need more chars to check + {more,{tokens,S1,L1,Tcs,Alen1,Tline,Ts,A1,Alen1}}; + {A1,Alen1,Ics1,L1,_S1} -> % Take what we got + tokens_cont(Ics1, L1, yyaction(A1, Alen1, Tcs, Tline), Ts); + %% After a non-accepting state, maybe reach accept state later. + {A1,Alen1,Tlen1,[],L1,S1} -> % Need more chars to check + {more,{tokens,S1,L1,Tcs,Tlen1,Tline,Ts,A1,Alen1}}; + {reject,_Alen1,Tlen1,eof,L1,_S1} -> % No token match + %% Check for partial token which is error, no need to skip here. + Ret = if Tlen1 > 0 -> {error,{Tline,?MODULE, + %% Skip eof tail in Tcs. + {illegal,yypre(Tcs, Tlen1)}},L1}; + Ts == [] -> {eof,L1}; + true -> {ok,yyrev(Ts),L1} + end, + {done,Ret,eof}; + {reject,_Alen1,Tlen1,_Ics1,L1,_S1} -> + %% Skip rest of tokens. + Error = {L1,?MODULE,{illegal,yypre(Tcs, Tlen1+1)}}, + skip_tokens(yysuf(Tcs, Tlen1+1), L1, Error); + {A1,Alen1,Tlen1,_Ics1,L1,_S1} -> + Token = yyaction(A1, Alen1, Tcs, Tline), + Tcs1 = yysuf(Tcs, Alen1), + L2 = adjust_line(Tlen1, Alen1, Tcs1, L1), + tokens_cont(Tcs1, L2, Token, Ts) + end. + +%% tokens_cont(RestChars, Line, Token, Tokens) +%% If we have an end_token or error then return done, else if we have +%% a token then save it and continue, else if we have a skip_token +%% just continue. + +-dialyzer({nowarn_function, tokens_cont/4}). + +tokens_cont(Rest, Line, {token,T}, Ts) -> + tokens(yystate(), Rest, Line, Rest, 0, Line, [T|Ts], reject, 0); +tokens_cont(Rest, Line, {token,T,Push}, Ts) -> + NewRest = Push ++ Rest, + tokens(yystate(), NewRest, Line, NewRest, 0, Line, [T|Ts], reject, 0); +tokens_cont(Rest, Line, {end_token,T}, Ts) -> + {done,{ok,yyrev(Ts, [T]),Line},Rest}; +tokens_cont(Rest, Line, {end_token,T,Push}, Ts) -> + NewRest = Push ++ Rest, + {done,{ok,yyrev(Ts, [T]),Line},NewRest}; +tokens_cont(Rest, Line, skip_token, Ts) -> + tokens(yystate(), Rest, Line, Rest, 0, Line, Ts, reject, 0); +tokens_cont(Rest, Line, {skip_token,Push}, Ts) -> + NewRest = Push ++ Rest, + tokens(yystate(), NewRest, Line, NewRest, 0, Line, Ts, reject, 0); +tokens_cont(Rest, Line, {error,S}, _Ts) -> + skip_tokens(Rest, Line, {Line,?MODULE,{user,S}}). + +%%skip_tokens(InChars, Line, Error) -> {done,{error,Error,Line},Ics}. +%% Skip tokens until an end token, junk everything and return the error. + +skip_tokens(Ics, Line, Error) -> + skip_tokens(yystate(), Ics, Line, Ics, 0, Line, Error, reject, 0). + +%% skip_tokens(State, InChars, Line, TokenChars, TokenLen, TokenLine, Tokens, +%% AcceptAction, AcceptLen) -> +%% {more,Continuation} | {done,ReturnVal,RestChars}. + +skip_tokens(S0, Ics0, L0, Tcs, Tlen0, Tline, Error, A0, Alen0) -> + case yystate(S0, Ics0, L0, Tlen0, A0, Alen0) of + {A1,Alen1,Ics1,L1} -> % Accepting end state + skip_cont(Ics1, L1, yyaction(A1, Alen1, Tcs, Tline), Error); + {A1,Alen1,[],L1,S1} -> % After an accepting state + {more,{skip_tokens,S1,L1,Tcs,Alen1,Tline,Error,A1,Alen1}}; + {A1,Alen1,Ics1,L1,_S1} -> + skip_cont(Ics1, L1, yyaction(A1, Alen1, Tcs, Tline), Error); + {A1,Alen1,Tlen1,[],L1,S1} -> % After a non-accepting state + {more,{skip_tokens,S1,L1,Tcs,Tlen1,Tline,Error,A1,Alen1}}; + {reject,_Alen1,_Tlen1,eof,L1,_S1} -> + {done,{error,Error,L1},eof}; + {reject,_Alen1,Tlen1,_Ics1,L1,_S1} -> + skip_tokens(yysuf(Tcs, Tlen1+1), L1, Error); + {A1,Alen1,Tlen1,_Ics1,L1,_S1} -> + Token = yyaction(A1, Alen1, Tcs, Tline), + Tcs1 = yysuf(Tcs, Alen1), + L2 = adjust_line(Tlen1, Alen1, Tcs1, L1), + skip_cont(Tcs1, L2, Token, Error) + end. + +%% skip_cont(RestChars, Line, Token, Error) +%% Skip tokens until we have an end_token or error then return done +%% with the original rror. + +-dialyzer({nowarn_function, skip_cont/4}). + +skip_cont(Rest, Line, {token,_T}, Error) -> + skip_tokens(yystate(), Rest, Line, Rest, 0, Line, Error, reject, 0); +skip_cont(Rest, Line, {token,_T,Push}, Error) -> + NewRest = Push ++ Rest, + skip_tokens(yystate(), NewRest, Line, NewRest, 0, Line, Error, reject, 0); +skip_cont(Rest, Line, {end_token,_T}, Error) -> + {done,{error,Error,Line},Rest}; +skip_cont(Rest, Line, {end_token,_T,Push}, Error) -> + NewRest = Push ++ Rest, + {done,{error,Error,Line},NewRest}; +skip_cont(Rest, Line, skip_token, Error) -> + skip_tokens(yystate(), Rest, Line, Rest, 0, Line, Error, reject, 0); +skip_cont(Rest, Line, {skip_token,Push}, Error) -> + NewRest = Push ++ Rest, + skip_tokens(yystate(), NewRest, Line, NewRest, 0, Line, Error, reject, 0); +skip_cont(Rest, Line, {error,_S}, Error) -> + skip_tokens(yystate(), Rest, Line, Rest, 0, Line, Error, reject, 0). + +-compile({nowarn_unused_function, [yyrev/1, yyrev/2, yypre/2, yysuf/2]}). + +yyrev(List) -> lists:reverse(List). +yyrev(List, Tail) -> lists:reverse(List, Tail). +yypre(List, N) -> lists:sublist(List, N). +yysuf(List, N) -> lists:nthtail(N, List). + +%% adjust_line(TokenLength, AcceptLength, Chars, Line) -> NewLine +%% Make sure that newlines in Chars are not counted twice. +%% Line has been updated with respect to newlines in the prefix of +%% Chars consisting of (TokenLength - AcceptLength) characters. + +-compile({nowarn_unused_function, adjust_line/4}). + +adjust_line(N, N, _Cs, L) -> L; +adjust_line(T, A, [$\n|Cs], L) -> + adjust_line(T-1, A, Cs, L-1); +adjust_line(T, A, [_|Cs], L) -> + adjust_line(T-1, A, Cs, L). + +%% yystate() -> InitialState. +%% yystate(State, InChars, Line, CurrTokLen, AcceptAction, AcceptLen) -> +%% {Action, AcceptLen, RestChars, Line} | +%% {Action, AcceptLen, RestChars, Line, State} | +%% {reject, AcceptLen, CurrTokLen, RestChars, Line, State} | +%% {Action, AcceptLen, CurrTokLen, RestChars, Line, State}. +%% Generated state transition functions. The non-accepting end state +%% return signal either an unrecognised character or end of current +%% input. + +-file("src/build_query_lexer.erl", 311). +yystate() -> 48. + +yystate(49, Ics, Line, Tlen, _, _) -> + {0,Tlen,Ics,Line}; +yystate(48, [119|Ics], Line, Tlen, Action, Alen) -> + yystate(46, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [115|Ics], Line, Tlen, Action, Alen) -> + yystate(36, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [108|Ics], Line, Tlen, Action, Alen) -> + yystate(8, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(0, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [102|Ics], Line, Tlen, Action, Alen) -> + yystate(7, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [62|Ics], Line, Tlen, Action, Alen) -> + yystate(19, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(23, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [60|Ics], Line, Tlen, Action, Alen) -> + yystate(25, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [47|Ics], Line, Tlen, Action, Alen) -> + yystate(31, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [45|Ics], Line, Tlen, Action, Alen) -> + yystate(33, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [44|Ics], Line, Tlen, Action, Alen) -> + yystate(35, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [43|Ics], Line, Tlen, Action, Alen) -> + yystate(37, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [42|Ics], Line, Tlen, Action, Alen) -> + yystate(39, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [41|Ics], Line, Tlen, Action, Alen) -> + yystate(41, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [40|Ics], Line, Tlen, Action, Alen) -> + yystate(43, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [33|Ics], Line, Tlen, Action, Alen) -> + yystate(45, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(49, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [13|Ics], Line, Tlen, Action, Alen) -> + yystate(49, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [9|Ics], Line, Tlen, Action, Alen) -> + yystate(49, Ics, Line, Tlen+1, Action, Alen); +yystate(48, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(49, Ics, Line+1, Tlen+1, Action, Alen); +yystate(48, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> + yystate(29, Ics, Line, Tlen+1, Action, Alen); +yystate(48, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,48}; +yystate(47, Ics, Line, Tlen, _, _) -> + {3,Tlen,Ics,Line}; +yystate(46, [104|Ics], Line, Tlen, Action, Alen) -> + yystate(44, Ics, Line, Tlen+1, Action, Alen); +yystate(46, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,46}; +yystate(45, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(47, Ics, Line, Tlen+1, Action, Alen); +yystate(45, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,45}; +yystate(44, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(42, Ics, Line, Tlen+1, Action, Alen); +yystate(44, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,44}; +yystate(43, Ics, Line, Tlen, _, _) -> + {17,Tlen,Ics,Line}; +yystate(42, [114|Ics], Line, Tlen, Action, Alen) -> + yystate(40, Ics, Line, Tlen+1, Action, Alen); +yystate(42, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,42}; +yystate(41, Ics, Line, Tlen, _, _) -> + {18,Tlen,Ics,Line}; +yystate(40, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(38, Ics, Line, Tlen+1, Action, Alen); +yystate(40, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,40}; +yystate(39, Ics, Line, Tlen, _, _) -> + {15,Tlen,Ics,Line}; +yystate(38, Ics, Line, Tlen, _, _) -> + {11,Tlen,Ics,Line}; +yystate(37, Ics, Line, Tlen, _, _) -> + {13,Tlen,Ics,Line}; +yystate(36, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(34, Ics, Line, Tlen+1, Action, Alen); +yystate(36, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,36}; +yystate(35, Ics, Line, Tlen, _, _) -> + {1,Tlen,Ics,Line}; +yystate(34, [108|Ics], Line, Tlen, Action, Alen) -> + yystate(32, Ics, Line, Tlen+1, Action, Alen); +yystate(34, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,34}; +yystate(33, Ics, Line, Tlen, _, _) -> + {14,Tlen,Ics,Line}; +yystate(32, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(30, Ics, Line, Tlen+1, Action, Alen); +yystate(32, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,32}; +yystate(31, Ics, Line, Tlen, _, _) -> + {16,Tlen,Ics,Line}; +yystate(30, [99|Ics], Line, Tlen, Action, Alen) -> + yystate(28, Ics, Line, Tlen+1, Action, Alen); +yystate(30, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,30}; +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(29, Ics, Line, Tlen+1, 19, Tlen); +yystate(29, Ics, Line, Tlen, _, _) -> + {19,Tlen,Ics,Line,29}; +yystate(28, [116|Ics], Line, Tlen, Action, Alen) -> + yystate(26, Ics, Line, Tlen+1, Action, Alen); +yystate(28, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,28}; +yystate(27, Ics, Line, Tlen, _, _) -> + {6,Tlen,Ics,Line}; +yystate(26, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(24, Ics, Line, Tlen+1, Action, Alen); +yystate(26, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,26}; +yystate(25, [61|Ics], Line, Tlen, _, _) -> + yystate(27, Ics, Line, Tlen+1, 4, Tlen); +yystate(25, Ics, Line, Tlen, _, _) -> + {4,Tlen,Ics,Line,25}; +yystate(24, [95|Ics], Line, Tlen, Action, Alen) -> + yystate(22, Ics, Line, Tlen+1, Action, Alen); +yystate(24, [46|Ics], Line, Tlen, Action, Alen) -> + yystate(22, Ics, Line, Tlen+1, Action, Alen); +yystate(24, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> + yystate(22, Ics, Line, Tlen+1, Action, Alen); +yystate(24, [C|Ics], Line, Tlen, Action, Alen) when C >= 97, C =< 122 -> + yystate(22, Ics, Line, Tlen+1, Action, Alen); +yystate(24, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,24}; +yystate(23, Ics, Line, Tlen, _, _) -> + {2,Tlen,Ics,Line}; +yystate(22, [96|Ics], Line, Tlen, _, _) -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [95|Ics], Line, Tlen, _, _) -> + yystate(20, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [47|Ics], Line, Tlen, _, _) -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [46|Ics], Line, Tlen, _, _) -> + yystate(20, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 0, C =< 9 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 11, C =< 45 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(20, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 58, C =< 94 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(20, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 123 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(22, Ics, Line, Tlen, _, _) -> + {9,Tlen,Ics,Line,22}; +yystate(21, Ics, Line, Tlen, _, _) -> + {7,Tlen,Ics,Line}; +yystate(20, [96|Ics], Line, Tlen, _, _) -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [95|Ics], Line, Tlen, _, _) -> + yystate(20, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [47|Ics], Line, Tlen, _, _) -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [46|Ics], Line, Tlen, _, _) -> + yystate(20, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [32|Ics], Line, Tlen, _, _) -> + yystate(18, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 0, C =< 9 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 11, C =< 31 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 33, C =< 45 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(20, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 58, C =< 94 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(20, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 123 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, Ics, Line, Tlen, _, _) -> + {9,Tlen,Ics,Line,20}; +yystate(19, [61|Ics], Line, Tlen, _, _) -> + yystate(21, Ics, Line, Tlen+1, 5, Tlen); +yystate(19, Ics, Line, Tlen, _, _) -> + {5,Tlen,Ics,Line,19}; +yystate(18, [119|Ics], Line, Tlen, Action, Alen) -> + yystate(16, Ics, Line, Tlen+1, Action, Alen); +yystate(18, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(12, Ics, Line, Tlen+1, Action, Alen); +yystate(18, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,18}; +yystate(17, [95|Ics], Line, Tlen, _, _) -> + yystate(17, Ics, Line, Tlen+1, 10, Tlen); +yystate(17, [46|Ics], Line, Tlen, _, _) -> + yystate(17, Ics, Line, Tlen+1, 10, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(17, Ics, Line, Tlen+1, 10, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(17, Ics, Line, Tlen+1, 10, Tlen); +yystate(17, Ics, Line, Tlen, _, _) -> + {10,Tlen,Ics,Line,17}; +yystate(16, [119|Ics], Line, Tlen, Action, Alen) -> + yystate(16, Ics, Line, Tlen+1, Action, Alen); +yystate(16, [8|Ics], Line, Tlen, Action, Alen) -> + yystate(14, Ics, Line, Tlen+1, Action, Alen); +yystate(16, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,16}; +yystate(15, [95|Ics], Line, Tlen, Action, Alen) -> + yystate(17, Ics, Line, Tlen+1, Action, Alen); +yystate(15, [46|Ics], Line, Tlen, Action, Alen) -> + yystate(17, Ics, Line, Tlen+1, Action, Alen); +yystate(15, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> + yystate(17, Ics, Line, Tlen+1, Action, Alen); +yystate(15, [C|Ics], Line, Tlen, Action, Alen) when C >= 97, C =< 122 -> + yystate(17, Ics, Line, Tlen+1, Action, Alen); +yystate(15, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,15}; +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 0, C =< 9 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 11 -> + yystate(10, Ics, Line, Tlen+1, 9, Tlen); +yystate(14, Ics, Line, Tlen, _, _) -> + {9,Tlen,Ics,Line,14}; +yystate(13, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(15, Ics, Line, Tlen+1, Action, Alen); +yystate(13, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,13}; +yystate(12, [119|Ics], Line, Tlen, Action, Alen) -> + yystate(16, Ics, Line, Tlen+1, Action, Alen); +yystate(12, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,12}; +yystate(11, [109|Ics], Line, Tlen, Action, Alen) -> + yystate(13, Ics, Line, Tlen+1, Action, Alen); +yystate(11, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,11}; +yystate(10, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(12, Ics, Line, Tlen+1, Action, Alen); +yystate(10, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,10}; +yystate(9, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(11, Ics, Line, Tlen+1, Action, Alen); +yystate(9, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,9}; +yystate(8, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(6, Ics, Line, Tlen+1, Action, Alen); +yystate(8, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,8}; +yystate(7, [114|Ics], Line, Tlen, Action, Alen) -> + yystate(9, Ics, Line, Tlen+1, Action, Alen); +yystate(7, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,7}; +yystate(6, [107|Ics], Line, Tlen, Action, Alen) -> + yystate(4, Ics, Line, Tlen+1, Action, Alen); +yystate(6, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,6}; +yystate(5, Ics, Line, Tlen, _, _) -> + {12,Tlen,Ics,Line}; +yystate(4, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(2, Ics, Line, Tlen+1, Action, Alen); +yystate(4, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,4}; +yystate(3, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(5, Ics, Line, Tlen+1, Action, Alen); +yystate(3, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,3}; +yystate(2, Ics, Line, Tlen, _, _) -> + {8,Tlen,Ics,Line}; +yystate(1, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(3, Ics, Line, Tlen+1, Action, Alen); +yystate(1, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,1}; +yystate(0, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(1, Ics, Line, Tlen+1, Action, Alen); +yystate(0, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,0}; +yystate(S, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,S}. + +%% yyaction(Action, TokenLength, TokenChars, TokenLine) -> +%% {token,Token} | {end_token, Token} | skip_token | {error,String}. +%% Generated action function. + +yyaction(0, _, _, _) -> + yyaction_0(); +yyaction(1, _, _, _) -> + yyaction_1(); +yyaction(2, _, _, TokenLine) -> + yyaction_2(TokenLine); +yyaction(3, _, _, TokenLine) -> + yyaction_3(TokenLine); +yyaction(4, _, _, TokenLine) -> + yyaction_4(TokenLine); +yyaction(5, _, _, TokenLine) -> + yyaction_5(TokenLine); +yyaction(6, _, _, TokenLine) -> + yyaction_6(TokenLine); +yyaction(7, _, _, TokenLine) -> + yyaction_7(TokenLine); +yyaction(8, _, _, TokenLine) -> + yyaction_8(TokenLine); +yyaction(9, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_9(TokenChars, TokenLine); +yyaction(10, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_10(TokenChars, TokenLine); +yyaction(11, _, _, TokenLine) -> + yyaction_11(TokenLine); +yyaction(12, _, _, TokenLine) -> + yyaction_12(TokenLine); +yyaction(13, _, _, TokenLine) -> + yyaction_13(TokenLine); +yyaction(14, _, _, TokenLine) -> + yyaction_14(TokenLine); +yyaction(15, _, _, TokenLine) -> + yyaction_15(TokenLine); +yyaction(16, _, _, TokenLine) -> + yyaction_16(TokenLine); +yyaction(17, _, _, TokenLine) -> + yyaction_17(TokenLine); +yyaction(18, _, _, TokenLine) -> + yyaction_18(TokenLine); +yyaction(19, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_19(TokenChars, TokenLine); +yyaction(_, _, _, _) -> error. + +-compile({inline,yyaction_0/0}). +-file("src/build_query_lexer.xrl", 10). +yyaction_0() -> + skip_token . + +-compile({inline,yyaction_1/0}). +-file("src/build_query_lexer.xrl", 11). +yyaction_1() -> + skip_token . + +-compile({inline,yyaction_2/1}). +-file("src/build_query_lexer.xrl", 14). +yyaction_2(TokenLine) -> + { token, { operator, TokenLine, '=' } } . + +-compile({inline,yyaction_3/1}). +-file("src/build_query_lexer.xrl", 15). +yyaction_3(TokenLine) -> + { token, { operator, TokenLine, '!=' } } . + +-compile({inline,yyaction_4/1}). +-file("src/build_query_lexer.xrl", 16). +yyaction_4(TokenLine) -> + { token, { operator, TokenLine, '<' } } . + +-compile({inline,yyaction_5/1}). +-file("src/build_query_lexer.xrl", 17). +yyaction_5(TokenLine) -> + { token, { operator, TokenLine, '>' } } . + +-compile({inline,yyaction_6/1}). +-file("src/build_query_lexer.xrl", 18). +yyaction_6(TokenLine) -> + { token, { operator, TokenLine, '>=' } } . + +-compile({inline,yyaction_7/1}). +-file("src/build_query_lexer.xrl", 19). +yyaction_7(TokenLine) -> + { token, { operator, TokenLine, '<=' } } . + +-compile({inline,yyaction_8/1}). +-file("src/build_query_lexer.xrl", 20). +yyaction_8(TokenLine) -> + { token, { operator, TokenLine, ilike } } . + +-compile({inline,yyaction_9/2}). +-file("src/build_query_lexer.xrl", 23). +yyaction_9(TokenChars, TokenLine) -> + { token, { select_fields, TokenLine, extract_fields (TokenChars) } } . + +-compile({inline,yyaction_10/2}). +-file("src/build_query_lexer.xrl", 24). +yyaction_10(TokenChars, TokenLine) -> + { token, { from, TokenLine, extract_from (TokenChars) } } . + +-compile({inline,yyaction_11/1}). +-file("src/build_query_lexer.xrl", 25). +yyaction_11(TokenLine) -> + { token, { where, TokenLine } } . + +-compile({inline,yyaction_12/1}). +-file("src/build_query_lexer.xrl", 26). +yyaction_12(TokenLine) -> + { token, { inner_join, TokenLine } } . + +-compile({inline,yyaction_13/1}). +-file("src/build_query_lexer.xrl", 29). +yyaction_13(TokenLine) -> + { token, { plus, TokenLine } } . + +-compile({inline,yyaction_14/1}). +-file("src/build_query_lexer.xrl", 30). +yyaction_14(TokenLine) -> + { token, { minus, TokenLine } } . + +-compile({inline,yyaction_15/1}). +-file("src/build_query_lexer.xrl", 31). +yyaction_15(TokenLine) -> + { token, { mult, TokenLine } } . + +-compile({inline,yyaction_16/1}). +-file("src/build_query_lexer.xrl", 32). +yyaction_16(TokenLine) -> + { token, { divd, TokenLine } } . + +-compile({inline,yyaction_17/1}). +-file("src/build_query_lexer.xrl", 33). +yyaction_17(TokenLine) -> + { token, { lparen, TokenLine } } . + +-compile({inline,yyaction_18/1}). +-file("src/build_query_lexer.xrl", 34). +yyaction_18(TokenLine) -> + { token, { rparen, TokenLine } } . + +-compile({inline,yyaction_19/2}). +-file("src/build_query_lexer.xrl", 36). +yyaction_19(TokenChars, TokenLine) -> + { token, { number, TokenLine, list_to_integer (TokenChars) } } . + +-file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/leexinc.hrl", 313). diff --git a/src/build_query_lexer.xrl b/src/build_query_lexer.xrl new file mode 100644 index 0000000..d40f0b9 --- /dev/null +++ b/src/build_query_lexer.xrl @@ -0,0 +1,45 @@ +Definitions. + +NUMBER = [0-9]+ +WORD = [a-zA-Z][A-Za-z0-9_]+ +WHITESPACE = [\s\t\n\r] +COMMA = , + +FIELDS = select\s[a-z0-9_.]+((.\s\w+\b)*) +FROM_TABLE = from\s[a-z0-9_.]+ + +Rules. +{WHITESPACE} : skip_token. +{COMMA} : skip_token. + +%% comparison operators += : {token, {operator, TokenLine, '='}}. +!= : {token, {operator, TokenLine, '!='}}. +< : {token, {operator, TokenLine, '<'}}. +> : {token, {operator, TokenLine, '>'}}. +<= : {token, {operator, TokenLine, '>='}}. +>= : {token, {operator, TokenLine, '<='}}. +like : {token, {operator, TokenLine, 'ilike'}}. + +%% Query private words +{FIELDS} : {token, {select_fields, TokenLine, extract_fields(TokenChars)}}. +{FROM_TABLE} : {token, {from, TokenLine, extract_from(TokenChars)}}. +where : {token, {where, TokenLine}}. +join : {token, {inner_join, TokenLine}}. + +%% arithmetic operators +\+ : {token, {plus, TokenLine}}. +\- : {token, {minus, TokenLine}}. +\* : {token, {mult, TokenLine}}. +\/ : {token, {divd, TokenLine}}. +\( : {token, {lparen, TokenLine}}. +\) : {token, {rparen, TokenLine}}. + +{NUMBER} : {token, {number, TokenLine, list_to_integer(TokenChars)}}. +% {WORD} : {token, {var, TokenLine, list_to_atom(TokenChars)}}. + +Erlang code. + +extract_token([_, _, Fields]) -> Fields. +extract_fields(Fields) -> extract_token(string:replace(Fields, "select ", "", all)). +extract_from(Fields) -> extract_token(string:replace(Fields, "from ", "", all)). diff --git a/src/build_query_parser.erl b/src/build_query_parser.erl new file mode 100644 index 0000000..f02d826 --- /dev/null +++ b/src/build_query_parser.erl @@ -0,0 +1,278 @@ +-module(build_query_parser). +-export([parse/1, parse_and_scan/1, format_error/1]). +-file("src/build_query_parser.yrl", 14). + +extract_token({_Token, _Line, Value}) -> Value. + +-file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/yeccpre.hrl", 0). +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 1996-2021. 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% +%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% The parser generator will insert appropriate declarations before this line.% + +-type yecc_ret() :: {'error', _} | {'ok', _}. + +-spec parse(Tokens :: list()) -> yecc_ret(). +parse(Tokens) -> + yeccpars0(Tokens, {no_func, no_location}, 0, [], []). + +-spec parse_and_scan({function() | {atom(), atom()}, [_]} + | {atom(), atom(), [_]}) -> yecc_ret(). +parse_and_scan({F, A}) -> + yeccpars0([], {{F, A}, no_location}, 0, [], []); +parse_and_scan({M, F, A}) -> + Arity = length(A), + yeccpars0([], {{fun M:F/Arity, A}, no_location}, 0, [], []). + +-spec format_error(any()) -> [char() | list()]. +format_error(Message) -> + case io_lib:deep_char_list(Message) of + true -> + Message; + _ -> + io_lib:write(Message) + end. + +%% To be used in grammar files to throw an error message to the parser +%% toplevel. Doesn't have to be exported! +-compile({nowarn_unused_function, return_error/2}). +-spec return_error(erl_anno:location(), any()) -> no_return(). +return_error(Location, Message) -> + throw({error, {Location, ?MODULE, Message}}). + +-define(CODE_VERSION, "1.4"). + +yeccpars0(Tokens, Tzr, State, States, Vstack) -> + try yeccpars1(Tokens, Tzr, State, States, Vstack) + catch + error: Error: Stacktrace -> + try yecc_error_type(Error, Stacktrace) of + Desc -> + erlang:raise(error, {yecc_bug, ?CODE_VERSION, Desc}, + Stacktrace) + catch _:_ -> erlang:raise(error, Error, Stacktrace) + end; + %% Probably thrown from return_error/2: + throw: {error, {_Location, ?MODULE, _M}} = Error -> + Error + end. + +yecc_error_type(function_clause, [{?MODULE,F,ArityOrArgs,_} | _]) -> + case atom_to_list(F) of + "yeccgoto_" ++ SymbolL -> + {ok,[{atom,_,Symbol}],_} = erl_scan:string(SymbolL), + State = case ArityOrArgs of + [S,_,_,_,_,_,_] -> S; + _ -> state_is_unknown + end, + {Symbol, State, missing_in_goto_table} + end. + +yeccpars1([Token | Tokens], Tzr, State, States, Vstack) -> + yeccpars2(State, element(1, Token), States, Vstack, Token, Tokens, Tzr); +yeccpars1([], {{F, A},_Location}, State, States, Vstack) -> + case apply(F, A) of + {ok, Tokens, EndLocation} -> + yeccpars1(Tokens, {{F, A}, EndLocation}, State, States, Vstack); + {eof, EndLocation} -> + yeccpars1([], {no_func, EndLocation}, State, States, Vstack); + {error, Descriptor, _EndLocation} -> + {error, Descriptor} + end; +yeccpars1([], {no_func, no_location}, State, States, Vstack) -> + Line = 999999, + yeccpars2(State, '$end', States, Vstack, yecc_end(Line), [], + {no_func, Line}); +yeccpars1([], {no_func, EndLocation}, State, States, Vstack) -> + yeccpars2(State, '$end', States, Vstack, yecc_end(EndLocation), [], + {no_func, EndLocation}). + +%% yeccpars1/7 is called from generated code. +%% +%% When using the {includefile, Includefile} option, make sure that +%% yeccpars1/7 can be found by parsing the file without following +%% include directives. yecc will otherwise assume that an old +%% yeccpre.hrl is included (one which defines yeccpars1/5). +yeccpars1(State1, State, States, Vstack, Token0, [Token | Tokens], Tzr) -> + yeccpars2(State, element(1, Token), [State1 | States], + [Token0 | Vstack], Token, Tokens, Tzr); +yeccpars1(State1, State, States, Vstack, Token0, [], {{_F,_A}, _Location}=Tzr) -> + yeccpars1([], Tzr, State, [State1 | States], [Token0 | Vstack]); +yeccpars1(State1, State, States, Vstack, Token0, [], {no_func, no_location}) -> + Location = yecctoken_end_location(Token0), + yeccpars2(State, '$end', [State1 | States], [Token0 | Vstack], + yecc_end(Location), [], {no_func, Location}); +yeccpars1(State1, State, States, Vstack, Token0, [], {no_func, Location}) -> + yeccpars2(State, '$end', [State1 | States], [Token0 | Vstack], + yecc_end(Location), [], {no_func, Location}). + +%% For internal use only. +yecc_end(Location) -> + {'$end', Location}. + +yecctoken_end_location(Token) -> + try erl_anno:end_location(element(2, Token)) of + undefined -> yecctoken_location(Token); + Loc -> Loc + catch _:_ -> yecctoken_location(Token) + end. + +-compile({nowarn_unused_function, yeccerror/1}). +yeccerror(Token) -> + Text = yecctoken_to_string(Token), + Location = yecctoken_location(Token), + {error, {Location, ?MODULE, ["syntax error before: ", Text]}}. + +-compile({nowarn_unused_function, yecctoken_to_string/1}). +yecctoken_to_string(Token) -> + try erl_scan:text(Token) of + undefined -> yecctoken2string(Token); + Txt -> Txt + catch _:_ -> yecctoken2string(Token) + end. + +yecctoken_location(Token) -> + try erl_scan:location(Token) + catch _:_ -> element(2, Token) + end. + +-compile({nowarn_unused_function, yecctoken2string/1}). +yecctoken2string(Token) -> + try + yecctoken2string1(Token) + catch + _:_ -> + io_lib:format("~tp", [Token]) + end. + +-compile({nowarn_unused_function, yecctoken2string1/1}). +yecctoken2string1({atom, _, A}) -> io_lib:write_atom(A); +yecctoken2string1({integer,_,N}) -> io_lib:write(N); +yecctoken2string1({float,_,F}) -> io_lib:write(F); +yecctoken2string1({char,_,C}) -> io_lib:write_char(C); +yecctoken2string1({var,_,V}) -> io_lib:format("~s", [V]); +yecctoken2string1({string,_,S}) -> io_lib:write_string(S); +yecctoken2string1({reserved_symbol, _, A}) -> io_lib:write(A); +yecctoken2string1({_Cat, _, Val}) -> io_lib:format("~tp", [Val]); +yecctoken2string1({dot, _}) -> "'.'"; +yecctoken2string1({'$end', _}) -> []; +yecctoken2string1({Other, _}) when is_atom(Other) -> + io_lib:write_atom(Other); +yecctoken2string1(Other) -> + io_lib:format("~tp", [Other]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +-file("src/build_query_parser.erl", 186). + +-dialyzer({nowarn_function, yeccpars2/7}). +-compile({nowarn_unused_function, yeccpars2/7}). +yeccpars2(0=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_0(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(1=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_1(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(2=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(3=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_3(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(4=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_4(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(Other, _, _, _, _, _, _) -> + erlang:error({yecc_bug,"1.4",{missing_state_in_action_table, Other}}). + +-dialyzer({nowarn_function, yeccpars2_0/7}). +-compile({nowarn_unused_function, yeccpars2_0/7}). +yeccpars2_0(S, 'from', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 3, Ss, Stack, T, Ts, Tzr); +yeccpars2_0(S, 'select_fields', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 4, Ss, Stack, T, Ts, Tzr); +yeccpars2_0(_, _, _, _, T, _, _) -> + yeccerror(T). + +-dialyzer({nowarn_function, yeccpars2_1/7}). +-compile({nowarn_unused_function, yeccpars2_1/7}). +yeccpars2_1(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_1_(Stack), + yeccgoto_query(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_2/7}). +-compile({nowarn_unused_function, yeccpars2_2/7}). +yeccpars2_2(_S, '$end', _Ss, Stack, _T, _Ts, _Tzr) -> + {ok, hd(Stack)}; +yeccpars2_2(_, _, _, _, T, _, _) -> + yeccerror(T). + +-dialyzer({nowarn_function, yeccpars2_3/7}). +-compile({nowarn_unused_function, yeccpars2_3/7}). +yeccpars2_3(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_3_(Stack), + yeccgoto_terms(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_4/7}). +-compile({nowarn_unused_function, yeccpars2_4/7}). +yeccpars2_4(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_4_(Stack), + yeccgoto_terms(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_query/7}). +-compile({nowarn_unused_function, yeccgoto_query/7}). +yeccgoto_query(0, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(2, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_terms/7}). +-compile({nowarn_unused_function, yeccgoto_terms/7}). +yeccgoto_terms(0=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_1(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-compile({inline,yeccpars2_1_/1}). +-dialyzer({nowarn_function, yeccpars2_1_/1}). +-compile({nowarn_unused_function, yeccpars2_1_/1}). +-file("src/build_query_parser.yrl", 6). +yeccpars2_1_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + {terms, extract_token(___1)} + end | __Stack]. + +-compile({inline,yeccpars2_3_/1}). +-dialyzer({nowarn_function, yeccpars2_3_/1}). +-compile({nowarn_unused_function, yeccpars2_3_/1}). +-file("src/build_query_parser.yrl", 8). +yeccpars2_3_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + extract_token(___1) + end | __Stack]. + +-compile({inline,yeccpars2_4_/1}). +-dialyzer({nowarn_function, yeccpars2_4_/1}). +-compile({nowarn_unused_function, yeccpars2_4_/1}). +-file("src/build_query_parser.yrl", 7). +yeccpars2_4_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + extract_token(___1) + end | __Stack]. + + +-file("src/build_query_parser.yrl", 17). diff --git a/src/build_query_parser.yrl b/src/build_query_parser.yrl new file mode 100644 index 0000000..2d74c23 --- /dev/null +++ b/src/build_query_parser.yrl @@ -0,0 +1,16 @@ +Nonterminals +query terms. + +Terminals +select_fields from. +% select from where var number operator plus minus mult divd lparen rparen. + +Rootsymbol query. + +query -> terms : {terms, extract_token('$1')}. +terms -> select_fields : extract_token('$1'). +terms -> from : extract_token('$1'). + +Erlang code. + +extract_token({_Token, _Line, Value}) -> Value. diff --git a/src/test.md b/src/test.md new file mode 100644 index 0000000..344958b --- /dev/null +++ b/src/test.md @@ -0,0 +1,10 @@ +# IDEA + +### Simple select +{:select, + {:fields, :*}, + {:from, table_name}, + {:where, {:=, field, value}} +} + + From 066b03f9da0d510a44698d578a2c02b5b27449b8 Mon Sep 17 00:00:00 2001 From: Thiago Ramos Date: Sat, 19 Nov 2022 00:44:00 -0300 Subject: [PATCH 2/6] Adding the lexer and the parser (WIP) --- src/build_query_lexer.erl | 1513 +++++++++++++++++++++++++++++------- src/build_query_lexer.xrl | 87 ++- src/build_query_parser.erl | 561 ++++++++++++- src/build_query_parser.yrl | 42 +- 4 files changed, 1819 insertions(+), 384 deletions(-) diff --git a/src/build_query_lexer.erl b/src/build_query_lexer.erl index d65273f..b16eb7a 100644 --- a/src/build_query_lexer.erl +++ b/src/build_query_lexer.erl @@ -12,11 +12,12 @@ -export([format_error/1]). %% User code. This is placed here to allow extra attributes. --file("src/build_query_lexer.xrl", 41). +-file("src/build_query_lexer.xrl", 61). -extract_token([_, _, Fields]) -> Fields. -extract_fields(Fields) -> extract_token(string:replace(Fields, "select ", "", all)). -extract_from(Fields) -> extract_token(string:replace(Fields, "from ", "", all)). +oid(Oid) -> + S = tl(lists:droplast(Oid)), + L = string:split(S, ".", all), + lists:map(fun list_to_integer/1, L). -file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/leexinc.hrl", 14). @@ -309,283 +310,1107 @@ adjust_line(T, A, [_|Cs], L) -> %% return signal either an unrecognised character or end of current %% input. --file("src/build_query_lexer.erl", 311). -yystate() -> 48. - -yystate(49, Ics, Line, Tlen, _, _) -> - {0,Tlen,Ics,Line}; -yystate(48, [119|Ics], Line, Tlen, Action, Alen) -> - yystate(46, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [115|Ics], Line, Tlen, Action, Alen) -> - yystate(36, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [108|Ics], Line, Tlen, Action, Alen) -> +-file("src/build_query_lexer.erl", 312). +yystate() -> 97. + +yystate(100, [110|Ics], Line, Tlen, _, _) -> + yystate(96, Ics, Line, Tlen+1, 29, Tlen); +yystate(100, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(100, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,100}; +yystate(99, [32|Ics], Line, Tlen, _, _) -> + yystate(99, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, [13|Ics], Line, Tlen, _, _) -> + yystate(99, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, [9|Ics], Line, Tlen, _, _) -> + yystate(99, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, [10|Ics], Line, Tlen, _, _) -> + yystate(99, Ics, Line+1, Tlen+1, 32, Tlen); +yystate(99, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,99}; +yystate(98, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 25, Tlen); +yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 25, Tlen); +yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 25, Tlen); +yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 25, Tlen); +yystate(98, Ics, Line, Tlen, _, _) -> + {25,Tlen,Ics,Line,98}; +yystate(97, [119|Ics], Line, Tlen, Action, Alen) -> + yystate(93, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [117|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [118|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [116|Ics], Line, Tlen, Action, Alen) -> + yystate(69, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [115|Ics], Line, Tlen, Action, Alen) -> + yystate(53, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [114|Ics], Line, Tlen, Action, Alen) -> + yystate(21, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [112|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [113|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(18, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(26, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [109|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [108|Ics], Line, Tlen, Action, Alen) -> + yystate(38, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [107|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(86, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(100, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [103|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [104|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [102|Ics], Line, Tlen, Action, Alen) -> + yystate(60, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [100|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [99|Ics], Line, Tlen, Action, Alen) -> + yystate(28, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [98|Ics], Line, Tlen, Action, Alen) -> yystate(8, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(0, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [102|Ics], Line, Tlen, Action, Alen) -> - yystate(7, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [62|Ics], Line, Tlen, Action, Alen) -> +yystate(97, [97|Ics], Line, Tlen, Action, Alen) -> yystate(19, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [61|Ics], Line, Tlen, Action, Alen) -> - yystate(23, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [60|Ics], Line, Tlen, Action, Alen) -> - yystate(25, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [47|Ics], Line, Tlen, Action, Alen) -> +yystate(97, [93|Ics], Line, Tlen, Action, Alen) -> yystate(31, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [45|Ics], Line, Tlen, Action, Alen) -> - yystate(33, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [44|Ics], Line, Tlen, Action, Alen) -> +yystate(97, [91|Ics], Line, Tlen, Action, Alen) -> yystate(35, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [43|Ics], Line, Tlen, Action, Alen) -> - yystate(37, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [42|Ics], Line, Tlen, Action, Alen) -> +yystate(97, [62|Ics], Line, Tlen, Action, Alen) -> yystate(39, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [41|Ics], Line, Tlen, Action, Alen) -> - yystate(41, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [40|Ics], Line, Tlen, Action, Alen) -> - yystate(43, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [33|Ics], Line, Tlen, Action, Alen) -> - yystate(45, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [32|Ics], Line, Tlen, Action, Alen) -> - yystate(49, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [13|Ics], Line, Tlen, Action, Alen) -> - yystate(49, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [9|Ics], Line, Tlen, Action, Alen) -> - yystate(49, Ics, Line, Tlen+1, Action, Alen); -yystate(48, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(49, Ics, Line+1, Tlen+1, Action, Alen); -yystate(48, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> - yystate(29, Ics, Line, Tlen+1, Action, Alen); -yystate(48, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,48}; -yystate(47, Ics, Line, Tlen, _, _) -> - {3,Tlen,Ics,Line}; -yystate(46, [104|Ics], Line, Tlen, Action, Alen) -> - yystate(44, Ics, Line, Tlen+1, Action, Alen); -yystate(46, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,46}; -yystate(45, [61|Ics], Line, Tlen, Action, Alen) -> +yystate(97, [61|Ics], Line, Tlen, Action, Alen) -> yystate(47, Ics, Line, Tlen+1, Action, Alen); -yystate(45, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,45}; -yystate(44, [101|Ics], Line, Tlen, Action, Alen) -> - yystate(42, Ics, Line, Tlen+1, Action, Alen); -yystate(44, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,44}; +yystate(97, [60|Ics], Line, Tlen, Action, Alen) -> + yystate(51, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [46|Ics], Line, Tlen, Action, Alen) -> + yystate(63, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [41|Ics], Line, Tlen, Action, Alen) -> + yystate(67, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [40|Ics], Line, Tlen, Action, Alen) -> + yystate(71, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [39|Ics], Line, Tlen, Action, Alen) -> + yystate(79, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [34|Ics], Line, Tlen, Action, Alen) -> + yystate(87, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [33|Ics], Line, Tlen, Action, Alen) -> + yystate(91, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(99, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [13|Ics], Line, Tlen, Action, Alen) -> + yystate(99, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [9|Ics], Line, Tlen, Action, Alen) -> + yystate(99, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(99, Ics, Line+1, Tlen+1, Action, Alen); +yystate(97, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> + yystate(59, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [C|Ics], Line, Tlen, Action, Alen) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, [C|Ics], Line, Tlen, Action, Alen) when C >= 120, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(97, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,97}; +yystate(96, [110|Ics], Line, Tlen, _, _) -> + yystate(92, Ics, Line, Tlen+1, 8, Tlen); +yystate(96, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 8, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 8, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 8, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(73, Ics, Line, Tlen+1, 8, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 8, Tlen); +yystate(96, Ics, Line, Tlen, _, _) -> + {8,Tlen,Ics,Line,96}; +yystate(95, Ics, Line, Tlen, _, _) -> + {2,Tlen,Ics,Line}; +yystate(94, [110|Ics], Line, Tlen, _, _) -> + yystate(98, Ics, Line, Tlen+1, 29, Tlen); +yystate(94, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(94, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,94}; +yystate(93, [104|Ics], Line, Tlen, _, _) -> + yystate(89, Ics, Line, Tlen+1, 29, Tlen); +yystate(93, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(93, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,93}; +yystate(92, [101|Ics], Line, Tlen, _, _) -> + yystate(88, Ics, Line, Tlen+1, 29, Tlen); +yystate(92, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(92, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,92}; +yystate(91, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(95, Ics, Line, Tlen+1, Action, Alen); +yystate(91, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,91}; +yystate(90, [105|Ics], Line, Tlen, _, _) -> + yystate(94, Ics, Line, Tlen+1, 29, Tlen); +yystate(90, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(90, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,90}; +yystate(89, [101|Ics], Line, Tlen, _, _) -> + yystate(85, Ics, Line, Tlen+1, 29, Tlen); +yystate(89, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(89, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,89}; +yystate(88, [114|Ics], Line, Tlen, _, _) -> + yystate(84, Ics, Line, Tlen+1, 29, Tlen); +yystate(88, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(88, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,88}; +yystate(87, [34|Ics], Line, Tlen, Action, Alen) -> + yystate(83, Ics, Line, Tlen+1, Action, Alen); +yystate(87, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(87, Ics, Line+1, Tlen+1, Action, Alen); +yystate(87, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> + yystate(87, Ics, Line, Tlen+1, Action, Alen); +yystate(87, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 33 -> + yystate(87, Ics, Line, Tlen+1, Action, Alen); +yystate(87, [C|Ics], Line, Tlen, Action, Alen) when C >= 35 -> + yystate(87, Ics, Line, Tlen+1, Action, Alen); +yystate(87, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,87}; +yystate(86, [111|Ics], Line, Tlen, _, _) -> + yystate(90, Ics, Line, Tlen+1, 29, Tlen); +yystate(86, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(86, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,86}; +yystate(85, [114|Ics], Line, Tlen, _, _) -> + yystate(81, Ics, Line, Tlen+1, 29, Tlen); +yystate(85, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(85, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,85}; +yystate(84, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(84, [32|Ics], Line, Tlen, _, _) -> + yystate(80, Ics, Line, Tlen+1, 29, Tlen); +yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(84, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,84}; +yystate(83, Ics, Line, Tlen, _, _) -> + {31,Tlen,Ics,Line}; +yystate(82, Ics, Line, Tlen, _, _) -> + {27,Tlen,Ics,Line}; +yystate(81, [101|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 29, Tlen); +yystate(81, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(81, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,81}; +yystate(80, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(80, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,80}; +yystate(79, [39|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(79, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(79, Ics, Line+1, Tlen+1, Action, Alen); +yystate(79, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> + yystate(79, Ics, Line, Tlen+1, Action, Alen); +yystate(79, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 38 -> + yystate(79, Ics, Line, Tlen+1, Action, Alen); +yystate(79, [C|Ics], Line, Tlen, Action, Alen) when C >= 40 -> + yystate(79, Ics, Line, Tlen+1, Action, Alen); +yystate(79, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,79}; +yystate(78, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(82, Ics, Line, Tlen+1, Action, Alen); +yystate(78, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,78}; +yystate(77, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 19, Tlen); +yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 19, Tlen); +yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 19, Tlen); +yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 19, Tlen); +yystate(77, Ics, Line, Tlen, _, _) -> + {19,Tlen,Ics,Line,77}; +yystate(76, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(72, Ics, Line, Tlen+1, Action, Alen); +yystate(76, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,76}; +yystate(75, Ics, Line, Tlen, _, _) -> + {30,Tlen,Ics,Line}; +yystate(74, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(78, Ics, Line, Tlen+1, Action, Alen); +yystate(74, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,74}; +yystate(73, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(73, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,73}; +yystate(72, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(68, Ics, Line, Tlen+1, Action, Alen); +yystate(72, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,72}; +yystate(71, Ics, Line, Tlen, _, _) -> + {11,Tlen,Ics,Line}; +yystate(70, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(74, Ics, Line, Tlen+1, Action, Alen); +yystate(70, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,70}; +yystate(69, [114|Ics], Line, Tlen, _, _) -> + yystate(65, Ics, Line, Tlen+1, 29, Tlen); +yystate(69, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(69, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,69}; +yystate(68, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(64, Ics, Line, Tlen+1, Action, Alen); +yystate(68, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,68}; +yystate(67, Ics, Line, Tlen, _, _) -> + {12,Tlen,Ics,Line}; +yystate(66, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(70, Ics, Line, Tlen+1, Action, Alen); +yystate(66, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,66}; +yystate(65, [117|Ics], Line, Tlen, _, _) -> + yystate(61, Ics, Line, Tlen+1, 29, Tlen); +yystate(65, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(65, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,65}; +yystate(64, Ics, Line, Tlen, _, _) -> + {26,Tlen,Ics,Line}; +yystate(63, Ics, Line, Tlen, _, _) -> + {15,Tlen,Ics,Line}; +yystate(62, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(62, [32|Ics], Line, Tlen, _, _) -> + yystate(66, Ics, Line, Tlen+1, 29, Tlen); +yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(62, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,62}; +yystate(61, [101|Ics], Line, Tlen, _, _) -> + yystate(57, Ics, Line, Tlen+1, 29, Tlen); +yystate(61, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(61, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,61}; +yystate(60, [114|Ics], Line, Tlen, _, _) -> + yystate(56, Ics, Line, Tlen+1, 29, Tlen); +yystate(60, [97|Ics], Line, Tlen, _, _) -> + yystate(44, Ics, Line, Tlen+1, 29, Tlen); +yystate(60, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 98, C =< 113 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(60, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,60}; +yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(59, Ics, Line, Tlen+1, 0, Tlen); +yystate(59, Ics, Line, Tlen, _, _) -> + {0,Tlen,Ics,Line,59}; +yystate(58, [116|Ics], Line, Tlen, _, _) -> + yystate(62, Ics, Line, Tlen+1, 29, Tlen); +yystate(58, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(58, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,58}; +yystate(57, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 20, Tlen); +yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 20, Tlen); +yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 20, Tlen); +yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 20, Tlen); +yystate(57, Ics, Line, Tlen, _, _) -> + {20,Tlen,Ics,Line,57}; +yystate(56, [111|Ics], Line, Tlen, _, _) -> + yystate(52, Ics, Line, Tlen+1, 29, Tlen); +yystate(56, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(56, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,56}; +yystate(55, Ics, Line, Tlen, _, _) -> + {5,Tlen,Ics,Line}; +yystate(54, [102|Ics], Line, Tlen, _, _) -> + yystate(58, Ics, Line, Tlen+1, 29, Tlen); +yystate(54, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 101 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 103, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(54, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,54}; +yystate(53, [117|Ics], Line, Tlen, _, _) -> + yystate(49, Ics, Line, Tlen+1, 29, Tlen); +yystate(53, [101|Ics], Line, Tlen, _, _) -> + yystate(41, Ics, Line, Tlen+1, 29, Tlen); +yystate(53, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 116 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(53, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,53}; +yystate(52, [109|Ics], Line, Tlen, _, _) -> + yystate(48, Ics, Line, Tlen+1, 29, Tlen); +yystate(52, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(52, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,52}; +yystate(51, [61|Ics], Line, Tlen, _, _) -> + yystate(55, Ics, Line, Tlen+1, 3, Tlen); +yystate(51, Ics, Line, Tlen, _, _) -> + {3,Tlen,Ics,Line,51}; +yystate(50, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 7, Tlen); +yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 7, Tlen); +yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 7, Tlen); +yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 7, Tlen); +yystate(50, Ics, Line, Tlen, _, _) -> + {7,Tlen,Ics,Line,50}; +yystate(49, [109|Ics], Line, Tlen, _, _) -> + yystate(45, Ics, Line, Tlen+1, 29, Tlen); +yystate(49, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(49, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,49}; +yystate(48, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 24, Tlen); +yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 24, Tlen); +yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 24, Tlen); +yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 24, Tlen); +yystate(48, Ics, Line, Tlen, _, _) -> + {24,Tlen,Ics,Line,48}; +yystate(47, Ics, Line, Tlen, _, _) -> + {1,Tlen,Ics,Line}; +yystate(46, [101|Ics], Line, Tlen, _, _) -> + yystate(50, Ics, Line, Tlen+1, 29, Tlen); +yystate(46, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(46, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,46}; +yystate(45, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 10, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 10, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 10, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 10, Tlen); +yystate(45, Ics, Line, Tlen, _, _) -> + {10,Tlen,Ics,Line,45}; +yystate(44, [108|Ics], Line, Tlen, _, _) -> + yystate(40, Ics, Line, Tlen+1, 29, Tlen); +yystate(44, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(44, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,44}; yystate(43, Ics, Line, Tlen, _, _) -> - {17,Tlen,Ics,Line}; -yystate(42, [114|Ics], Line, Tlen, Action, Alen) -> - yystate(40, Ics, Line, Tlen+1, Action, Alen); -yystate(42, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,42}; + {6,Tlen,Ics,Line}; +yystate(42, [107|Ics], Line, Tlen, _, _) -> + yystate(46, Ics, Line, Tlen+1, 29, Tlen); +yystate(42, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 106 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 108, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(42, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,42}; +yystate(41, [108|Ics], Line, Tlen, _, _) -> + yystate(37, Ics, Line, Tlen+1, 29, Tlen); +yystate(41, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(41, Ics, Line, Tlen, _, _) -> - {18,Tlen,Ics,Line}; -yystate(40, [101|Ics], Line, Tlen, Action, Alen) -> - yystate(38, Ics, Line, Tlen+1, Action, Alen); -yystate(40, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,40}; + {29,Tlen,Ics,Line,41}; +yystate(40, [115|Ics], Line, Tlen, _, _) -> + yystate(36, Ics, Line, Tlen+1, 29, Tlen); +yystate(40, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 114 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(40, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,40}; +yystate(39, [61|Ics], Line, Tlen, _, _) -> + yystate(43, Ics, Line, Tlen+1, 4, Tlen); yystate(39, Ics, Line, Tlen, _, _) -> - {15,Tlen,Ics,Line}; + {4,Tlen,Ics,Line,39}; +yystate(38, [105|Ics], Line, Tlen, _, _) -> + yystate(42, Ics, Line, Tlen+1, 29, Tlen); +yystate(38, [101|Ics], Line, Tlen, _, _) -> + yystate(54, Ics, Line, Tlen+1, 29, Tlen); +yystate(38, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 104 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(38, Ics, Line, Tlen, _, _) -> - {11,Tlen,Ics,Line}; + {29,Tlen,Ics,Line,38}; +yystate(37, [101|Ics], Line, Tlen, _, _) -> + yystate(33, Ics, Line, Tlen+1, 29, Tlen); +yystate(37, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(37, Ics, Line, Tlen, _, _) -> - {13,Tlen,Ics,Line}; -yystate(36, [101|Ics], Line, Tlen, Action, Alen) -> - yystate(34, Ics, Line, Tlen+1, Action, Alen); -yystate(36, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,36}; + {29,Tlen,Ics,Line,37}; +yystate(36, [101|Ics], Line, Tlen, _, _) -> + yystate(32, Ics, Line, Tlen+1, 29, Tlen); +yystate(36, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(36, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,36}; yystate(35, Ics, Line, Tlen, _, _) -> - {1,Tlen,Ics,Line}; -yystate(34, [108|Ics], Line, Tlen, Action, Alen) -> - yystate(32, Ics, Line, Tlen+1, Action, Alen); -yystate(34, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,34}; + {13,Tlen,Ics,Line}; +yystate(34, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 18, Tlen); +yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 18, Tlen); +yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 18, Tlen); +yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 18, Tlen); +yystate(34, Ics, Line, Tlen, _, _) -> + {18,Tlen,Ics,Line,34}; +yystate(33, [99|Ics], Line, Tlen, _, _) -> + yystate(29, Ics, Line, Tlen+1, 29, Tlen); +yystate(33, [97|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(33, [98|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(33, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 100, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(33, Ics, Line, Tlen, _, _) -> - {14,Tlen,Ics,Line}; -yystate(32, [101|Ics], Line, Tlen, Action, Alen) -> - yystate(30, Ics, Line, Tlen+1, Action, Alen); -yystate(32, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,32}; + {29,Tlen,Ics,Line,33}; +yystate(32, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 21, Tlen); +yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 21, Tlen); +yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 21, Tlen); +yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 21, Tlen); +yystate(32, Ics, Line, Tlen, _, _) -> + {21,Tlen,Ics,Line,32}; yystate(31, Ics, Line, Tlen, _, _) -> - {16,Tlen,Ics,Line}; -yystate(30, [99|Ics], Line, Tlen, Action, Alen) -> - yystate(28, Ics, Line, Tlen+1, Action, Alen); -yystate(30, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,30}; + {14,Tlen,Ics,Line}; +yystate(30, [116|Ics], Line, Tlen, _, _) -> + yystate(34, Ics, Line, Tlen+1, 29, Tlen); +yystate(30, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(30, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,30}; +yystate(29, [116|Ics], Line, Tlen, _, _) -> + yystate(25, Ics, Line, Tlen+1, 29, Tlen); +yystate(29, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(29, Ics, Line, Tlen+1, 19, Tlen); + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(29, Ics, Line, Tlen, _, _) -> - {19,Tlen,Ics,Line,29}; -yystate(28, [116|Ics], Line, Tlen, Action, Alen) -> - yystate(26, Ics, Line, Tlen+1, Action, Alen); -yystate(28, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,28}; + {29,Tlen,Ics,Line,29}; +yystate(28, [111|Ics], Line, Tlen, _, _) -> + yystate(24, Ics, Line, Tlen+1, 29, Tlen); +yystate(28, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(28, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,28}; +yystate(27, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 16, Tlen); +yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 16, Tlen); +yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 16, Tlen); +yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 16, Tlen); yystate(27, Ics, Line, Tlen, _, _) -> - {6,Tlen,Ics,Line}; -yystate(26, [32|Ics], Line, Tlen, Action, Alen) -> - yystate(24, Ics, Line, Tlen+1, Action, Alen); -yystate(26, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,26}; -yystate(25, [61|Ics], Line, Tlen, _, _) -> - yystate(27, Ics, Line, Tlen+1, 4, Tlen); + {16,Tlen,Ics,Line,27}; +yystate(26, [111|Ics], Line, Tlen, _, _) -> + yystate(30, Ics, Line, Tlen+1, 29, Tlen); +yystate(26, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(26, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,26}; +yystate(25, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 23, Tlen); +yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 23, Tlen); +yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 23, Tlen); +yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 23, Tlen); yystate(25, Ics, Line, Tlen, _, _) -> - {4,Tlen,Ics,Line,25}; -yystate(24, [95|Ics], Line, Tlen, Action, Alen) -> - yystate(22, Ics, Line, Tlen+1, Action, Alen); -yystate(24, [46|Ics], Line, Tlen, Action, Alen) -> - yystate(22, Ics, Line, Tlen+1, Action, Alen); -yystate(24, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> - yystate(22, Ics, Line, Tlen+1, Action, Alen); -yystate(24, [C|Ics], Line, Tlen, Action, Alen) when C >= 97, C =< 122 -> - yystate(22, Ics, Line, Tlen+1, Action, Alen); -yystate(24, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,24}; + {23,Tlen,Ics,Line,25}; +yystate(24, [117|Ics], Line, Tlen, _, _) -> + yystate(20, Ics, Line, Tlen+1, 29, Tlen); +yystate(24, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(24, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,24}; +yystate(23, [100|Ics], Line, Tlen, _, _) -> + yystate(27, Ics, Line, Tlen+1, 29, Tlen); +yystate(23, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 99 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 101, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(23, Ics, Line, Tlen, _, _) -> - {2,Tlen,Ics,Line}; -yystate(22, [96|Ics], Line, Tlen, _, _) -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); + {29,Tlen,Ics,Line,23}; yystate(22, [95|Ics], Line, Tlen, _, _) -> - yystate(20, Ics, Line, Tlen+1, 9, Tlen); -yystate(22, [47|Ics], Line, Tlen, _, _) -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); -yystate(22, [46|Ics], Line, Tlen, _, _) -> - yystate(20, Ics, Line, Tlen+1, 9, Tlen); -yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 0, C =< 9 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); -yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 11, C =< 45 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); + yystate(73, Ics, Line, Tlen+1, 17, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(20, Ics, Line, Tlen+1, 9, Tlen); -yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 58, C =< 94 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); + yystate(73, Ics, Line, Tlen+1, 17, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 17, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(20, Ics, Line, Tlen+1, 9, Tlen); -yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 123 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); + yystate(73, Ics, Line, Tlen+1, 17, Tlen); yystate(22, Ics, Line, Tlen, _, _) -> - {9,Tlen,Ics,Line,22}; + {17,Tlen,Ics,Line,22}; +yystate(21, [105|Ics], Line, Tlen, _, _) -> + yystate(17, Ics, Line, Tlen+1, 29, Tlen); +yystate(21, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(21, Ics, Line, Tlen, _, _) -> - {7,Tlen,Ics,Line}; -yystate(20, [96|Ics], Line, Tlen, _, _) -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); + {29,Tlen,Ics,Line,21}; +yystate(20, [110|Ics], Line, Tlen, _, _) -> + yystate(16, Ics, Line, Tlen+1, 29, Tlen); yystate(20, [95|Ics], Line, Tlen, _, _) -> - yystate(20, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [47|Ics], Line, Tlen, _, _) -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [46|Ics], Line, Tlen, _, _) -> - yystate(20, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [32|Ics], Line, Tlen, _, _) -> - yystate(18, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 0, C =< 9 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 11, C =< 31 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 33, C =< 45 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(20, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 58, C =< 94 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(20, Ics, Line, Tlen+1, 9, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 123 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(20, Ics, Line, Tlen, _, _) -> - {9,Tlen,Ics,Line,20}; -yystate(19, [61|Ics], Line, Tlen, _, _) -> - yystate(21, Ics, Line, Tlen+1, 5, Tlen); + {29,Tlen,Ics,Line,20}; +yystate(19, [110|Ics], Line, Tlen, _, _) -> + yystate(23, Ics, Line, Tlen+1, 29, Tlen); +yystate(19, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(19, Ics, Line, Tlen, _, _) -> - {5,Tlen,Ics,Line,19}; -yystate(18, [119|Ics], Line, Tlen, Action, Alen) -> - yystate(16, Ics, Line, Tlen+1, Action, Alen); -yystate(18, [32|Ics], Line, Tlen, Action, Alen) -> - yystate(12, Ics, Line, Tlen+1, Action, Alen); -yystate(18, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,18}; + {29,Tlen,Ics,Line,19}; +yystate(18, [114|Ics], Line, Tlen, _, _) -> + yystate(22, Ics, Line, Tlen+1, 29, Tlen); +yystate(18, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(18, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,18}; +yystate(17, [103|Ics], Line, Tlen, _, _) -> + yystate(13, Ics, Line, Tlen+1, 29, Tlen); yystate(17, [95|Ics], Line, Tlen, _, _) -> - yystate(17, Ics, Line, Tlen+1, 10, Tlen); -yystate(17, [46|Ics], Line, Tlen, _, _) -> - yystate(17, Ics, Line, Tlen+1, 10, Tlen); + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(17, Ics, Line, Tlen+1, 10, Tlen); -yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(17, Ics, Line, Tlen+1, 10, Tlen); + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 102 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 104, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(17, Ics, Line, Tlen, _, _) -> - {10,Tlen,Ics,Line,17}; -yystate(16, [119|Ics], Line, Tlen, Action, Alen) -> - yystate(16, Ics, Line, Tlen+1, Action, Alen); -yystate(16, [8|Ics], Line, Tlen, Action, Alen) -> - yystate(14, Ics, Line, Tlen+1, Action, Alen); -yystate(16, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,16}; -yystate(15, [95|Ics], Line, Tlen, Action, Alen) -> - yystate(17, Ics, Line, Tlen+1, Action, Alen); -yystate(15, [46|Ics], Line, Tlen, Action, Alen) -> - yystate(17, Ics, Line, Tlen+1, Action, Alen); -yystate(15, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> - yystate(17, Ics, Line, Tlen+1, Action, Alen); -yystate(15, [C|Ics], Line, Tlen, Action, Alen) when C >= 97, C =< 122 -> - yystate(17, Ics, Line, Tlen+1, Action, Alen); -yystate(15, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,15}; -yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 0, C =< 9 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); -yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 11 -> - yystate(10, Ics, Line, Tlen+1, 9, Tlen); + {29,Tlen,Ics,Line,17}; +yystate(16, [116|Ics], Line, Tlen, _, _) -> + yystate(12, Ics, Line, Tlen+1, 29, Tlen); +yystate(16, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(16, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,16}; +yystate(15, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 22, Tlen); +yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 22, Tlen); +yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 22, Tlen); +yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 22, Tlen); +yystate(15, Ics, Line, Tlen, _, _) -> + {22,Tlen,Ics,Line,15}; yystate(14, Ics, Line, Tlen, _, _) -> - {9,Tlen,Ics,Line,14}; -yystate(13, [32|Ics], Line, Tlen, Action, Alen) -> - yystate(15, Ics, Line, Tlen+1, Action, Alen); -yystate(13, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,13}; -yystate(12, [119|Ics], Line, Tlen, Action, Alen) -> - yystate(16, Ics, Line, Tlen+1, Action, Alen); -yystate(12, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,12}; -yystate(11, [109|Ics], Line, Tlen, Action, Alen) -> - yystate(13, Ics, Line, Tlen+1, Action, Alen); -yystate(11, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,11}; -yystate(10, [32|Ics], Line, Tlen, Action, Alen) -> - yystate(12, Ics, Line, Tlen+1, Action, Alen); + {28,Tlen,Ics,Line}; +yystate(13, [104|Ics], Line, Tlen, _, _) -> + yystate(9, Ics, Line, Tlen+1, 29, Tlen); +yystate(13, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(13, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,13}; +yystate(12, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 9, Tlen); +yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 9, Tlen); +yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 9, Tlen); +yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 9, Tlen); +yystate(12, Ics, Line, Tlen, _, _) -> + {9,Tlen,Ics,Line,12}; +yystate(11, [110|Ics], Line, Tlen, _, _) -> + yystate(15, Ics, Line, Tlen+1, 29, Tlen); +yystate(11, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(11, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,11}; +yystate(10, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(14, Ics, Line, Tlen+1, Action, Alen); yystate(10, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,10}; -yystate(9, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(11, Ics, Line, Tlen+1, Action, Alen); -yystate(9, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,9}; -yystate(8, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(6, Ics, Line, Tlen+1, Action, Alen); -yystate(8, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,8}; -yystate(7, [114|Ics], Line, Tlen, Action, Alen) -> - yystate(9, Ics, Line, Tlen+1, Action, Alen); -yystate(7, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,7}; -yystate(6, [107|Ics], Line, Tlen, Action, Alen) -> - yystate(4, Ics, Line, Tlen+1, Action, Alen); +yystate(9, [116|Ics], Line, Tlen, _, _) -> + yystate(5, Ics, Line, Tlen+1, 29, Tlen); +yystate(9, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(9, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,9}; +yystate(8, [101|Ics], Line, Tlen, _, _) -> + yystate(4, Ics, Line, Tlen+1, 29, Tlen); +yystate(8, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(8, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,8}; +yystate(7, [101|Ics], Line, Tlen, _, _) -> + yystate(11, Ics, Line, Tlen+1, 29, Tlen); +yystate(7, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(7, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,7}; +yystate(6, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(10, Ics, Line, Tlen+1, Action, Alen); yystate(6, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,6}; +yystate(5, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(5, [32|Ics], Line, Tlen, _, _) -> + yystate(1, Ics, Line, Tlen+1, 29, Tlen); +yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(5, Ics, Line, Tlen, _, _) -> - {12,Tlen,Ics,Line}; -yystate(4, [101|Ics], Line, Tlen, Action, Alen) -> + {29,Tlen,Ics,Line,5}; +yystate(4, [116|Ics], Line, Tlen, _, _) -> + yystate(0, Ics, Line, Tlen+1, 29, Tlen); +yystate(4, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(4, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,4}; +yystate(3, [101|Ics], Line, Tlen, _, _) -> + yystate(7, Ics, Line, Tlen+1, 29, Tlen); +yystate(3, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(3, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,3}; +yystate(2, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(6, Ics, Line, Tlen+1, Action, Alen); +yystate(2, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,2}; +yystate(1, [106|Ics], Line, Tlen, Action, Alen) -> yystate(2, Ics, Line, Tlen+1, Action, Alen); -yystate(4, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,4}; -yystate(3, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(5, Ics, Line, Tlen+1, Action, Alen); -yystate(3, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,3}; -yystate(2, Ics, Line, Tlen, _, _) -> - {8,Tlen,Ics,Line}; -yystate(1, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(3, Ics, Line, Tlen+1, Action, Alen); yystate(1, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,1}; -yystate(0, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(1, Ics, Line, Tlen+1, Action, Alen); -yystate(0, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,0}; +yystate(0, [119|Ics], Line, Tlen, _, _) -> + yystate(3, Ics, Line, Tlen+1, 29, Tlen); +yystate(0, [95|Ics], Line, Tlen, _, _) -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 118 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 120, C =< 122 -> + yystate(73, Ics, Line, Tlen+1, 29, Tlen); +yystate(0, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line,0}; yystate(S, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,S}. @@ -593,10 +1418,11 @@ yystate(S, Ics, Line, Tlen, Action, Alen) -> %% {token,Token} | {end_token, Token} | skip_token | {error,String}. %% Generated action function. -yyaction(0, _, _, _) -> - yyaction_0(); -yyaction(1, _, _, _) -> - yyaction_1(); +yyaction(0, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_0(TokenChars, TokenLine); +yyaction(1, _, _, TokenLine) -> + yyaction_1(TokenLine); yyaction(2, _, _, TokenLine) -> yyaction_2(TokenLine); yyaction(3, _, _, TokenLine) -> @@ -611,12 +1437,10 @@ yyaction(7, _, _, TokenLine) -> yyaction_7(TokenLine); yyaction(8, _, _, TokenLine) -> yyaction_8(TokenLine); -yyaction(9, TokenLen, YYtcs, TokenLine) -> - TokenChars = yypre(YYtcs, TokenLen), - yyaction_9(TokenChars, TokenLine); -yyaction(10, TokenLen, YYtcs, TokenLine) -> - TokenChars = yypre(YYtcs, TokenLen), - yyaction_10(TokenChars, TokenLine); +yyaction(9, _, _, TokenLine) -> + yyaction_9(TokenLine); +yyaction(10, _, _, TokenLine) -> + yyaction_10(TokenLine); yyaction(11, _, _, TokenLine) -> yyaction_11(TokenLine); yyaction(12, _, _, TokenLine) -> @@ -633,109 +1457,202 @@ yyaction(17, _, _, TokenLine) -> yyaction_17(TokenLine); yyaction(18, _, _, TokenLine) -> yyaction_18(TokenLine); -yyaction(19, TokenLen, YYtcs, TokenLine) -> +yyaction(19, _, _, TokenLine) -> + yyaction_19(TokenLine); +yyaction(20, _, _, TokenLine) -> + yyaction_20(TokenLine); +yyaction(21, _, _, TokenLine) -> + yyaction_21(TokenLine); +yyaction(22, _, _, TokenLine) -> + yyaction_22(TokenLine); +yyaction(23, _, _, TokenLine) -> + yyaction_23(TokenLine); +yyaction(24, _, _, TokenLine) -> + yyaction_24(TokenLine); +yyaction(25, _, _, TokenLine) -> + yyaction_25(TokenLine); +yyaction(26, _, _, TokenLine) -> + yyaction_26(TokenLine); +yyaction(27, _, _, TokenLine) -> + yyaction_27(TokenLine); +yyaction(28, _, _, TokenLine) -> + yyaction_28(TokenLine); +yyaction(29, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_29(TokenChars, TokenLine); +yyaction(30, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_30(TokenChars, TokenLine); +yyaction(31, TokenLen, YYtcs, TokenLine) -> TokenChars = yypre(YYtcs, TokenLen), - yyaction_19(TokenChars, TokenLine); + yyaction_31(TokenChars, TokenLine); +yyaction(32, _, _, _) -> + yyaction_32(); yyaction(_, _, _, _) -> error. --compile({inline,yyaction_0/0}). --file("src/build_query_lexer.xrl", 10). -yyaction_0() -> - skip_token . +-compile({inline,yyaction_0/2}). +-file("src/build_query_lexer.xrl", 7). +yyaction_0(TokenChars, TokenLine) -> + { token, { number, TokenLine, list_to_integer (TokenChars) } } . --compile({inline,yyaction_1/0}). --file("src/build_query_lexer.xrl", 11). -yyaction_1() -> - skip_token . +-compile({inline,yyaction_1/1}). +-file("src/build_query_lexer.xrl", 10). +yyaction_1(TokenLine) -> + { token, { operator, TokenLine, '==' } } . -compile({inline,yyaction_2/1}). --file("src/build_query_lexer.xrl", 14). +-file("src/build_query_lexer.xrl", 11). yyaction_2(TokenLine) -> - { token, { operator, TokenLine, '=' } } . + { token, { operator, TokenLine, '!=' } } . -compile({inline,yyaction_3/1}). --file("src/build_query_lexer.xrl", 15). +-file("src/build_query_lexer.xrl", 12). yyaction_3(TokenLine) -> - { token, { operator, TokenLine, '!=' } } . + { token, { operator, TokenLine, '<' } } . -compile({inline,yyaction_4/1}). --file("src/build_query_lexer.xrl", 16). +-file("src/build_query_lexer.xrl", 13). yyaction_4(TokenLine) -> - { token, { operator, TokenLine, '<' } } . + { token, { operator, TokenLine, '>' } } . -compile({inline,yyaction_5/1}). --file("src/build_query_lexer.xrl", 17). +-file("src/build_query_lexer.xrl", 14). yyaction_5(TokenLine) -> - { token, { operator, TokenLine, '>' } } . + { token, { operator, TokenLine, '>=' } } . -compile({inline,yyaction_6/1}). --file("src/build_query_lexer.xrl", 18). +-file("src/build_query_lexer.xrl", 15). yyaction_6(TokenLine) -> - { token, { operator, TokenLine, '>=' } } . + { token, { operator, TokenLine, '<=' } } . -compile({inline,yyaction_7/1}). --file("src/build_query_lexer.xrl", 19). +-file("src/build_query_lexer.xrl", 16). yyaction_7(TokenLine) -> - { token, { operator, TokenLine, '<=' } } . + { token, { operator, TokenLine, ilike } } . -compile({inline,yyaction_8/1}). -file("src/build_query_lexer.xrl", 20). yyaction_8(TokenLine) -> - { token, { operator, TokenLine, ilike } } . + { token, { cmp_in, TokenLine } } . --compile({inline,yyaction_9/2}). +-compile({inline,yyaction_9/1}). -file("src/build_query_lexer.xrl", 23). -yyaction_9(TokenChars, TokenLine) -> - { token, { select_fields, TokenLine, extract_fields (TokenChars) } } . +yyaction_9(TokenLine) -> + { token, { aggregate, TokenLine, count } } . --compile({inline,yyaction_10/2}). +-compile({inline,yyaction_10/1}). -file("src/build_query_lexer.xrl", 24). -yyaction_10(TokenChars, TokenLine) -> - { token, { from, TokenLine, extract_from (TokenChars) } } . +yyaction_10(TokenLine) -> + { token, { aggregate, TokenLine, sum } } . -compile({inline,yyaction_11/1}). --file("src/build_query_lexer.xrl", 25). +-file("src/build_query_lexer.xrl", 27). yyaction_11(TokenLine) -> - { token, { where, TokenLine } } . + { token, { left_paren, TokenLine } } . -compile({inline,yyaction_12/1}). --file("src/build_query_lexer.xrl", 26). +-file("src/build_query_lexer.xrl", 28). yyaction_12(TokenLine) -> - { token, { inner_join, TokenLine } } . + { token, { right_paren, TokenLine } } . -compile({inline,yyaction_13/1}). -file("src/build_query_lexer.xrl", 29). yyaction_13(TokenLine) -> - { token, { plus, TokenLine } } . + { token, { '[', TokenLine } } . -compile({inline,yyaction_14/1}). -file("src/build_query_lexer.xrl", 30). yyaction_14(TokenLine) -> - { token, { minus, TokenLine } } . + { token, { ']', TokenLine } } . -compile({inline,yyaction_15/1}). --file("src/build_query_lexer.xrl", 31). +-file("src/build_query_lexer.xrl", 33). yyaction_15(TokenLine) -> - { token, { mult, TokenLine } } . + { token, { '.', TokenLine } } . -compile({inline,yyaction_16/1}). --file("src/build_query_lexer.xrl", 32). +-file("src/build_query_lexer.xrl", 36). yyaction_16(TokenLine) -> - { token, { divd, TokenLine } } . + { token, { boolean_mult, TokenLine } } . -compile({inline,yyaction_17/1}). --file("src/build_query_lexer.xrl", 33). +-file("src/build_query_lexer.xrl", 37). yyaction_17(TokenLine) -> - { token, { lparen, TokenLine } } . + { token, { boolean_add, TokenLine } } . -compile({inline,yyaction_18/1}). --file("src/build_query_lexer.xrl", 34). +-file("src/build_query_lexer.xrl", 38). yyaction_18(TokenLine) -> - { token, { rparen, TokenLine } } . + { token, { boolean_negate, TokenLine } } . --compile({inline,yyaction_19/2}). --file("src/build_query_lexer.xrl", 36). -yyaction_19(TokenChars, TokenLine) -> - { token, { number, TokenLine, list_to_integer (TokenChars) } } . +-compile({inline,yyaction_19/1}). +-file("src/build_query_lexer.xrl", 39). +yyaction_19(TokenLine) -> + { token, { where, TokenLine } } . + +-compile({inline,yyaction_20/1}). +-file("src/build_query_lexer.xrl", 40). +yyaction_20(TokenLine) -> + { token, { true, TokenLine } } . + +-compile({inline,yyaction_21/1}). +-file("src/build_query_lexer.xrl", 41). +yyaction_21(TokenLine) -> + { token, { false, TokenLine } } . + +-compile({inline,yyaction_22/1}). +-file("src/build_query_lexer.xrl", 42). +yyaction_22(TokenLine) -> + { token, { between, TokenLine } } . + +-compile({inline,yyaction_23/1}). +-file("src/build_query_lexer.xrl", 43). +yyaction_23(TokenLine) -> + { token, { select, TokenLine } } . + +-compile({inline,yyaction_24/1}). +-file("src/build_query_lexer.xrl", 44). +yyaction_24(TokenLine) -> + { token, { from, TokenLine } } . + +-compile({inline,yyaction_25/1}). +-file("src/build_query_lexer.xrl", 45). +yyaction_25(TokenLine) -> + { token, { join, TokenLine } } . + +-compile({inline,yyaction_26/1}). +-file("src/build_query_lexer.xrl", 46). +yyaction_26(TokenLine) -> + { token, { join, TokenLine } } . + +-compile({inline,yyaction_27/1}). +-file("src/build_query_lexer.xrl", 47). +yyaction_27(TokenLine) -> + { token, { left_join, TokenLine } } . + +-compile({inline,yyaction_28/1}). +-file("src/build_query_lexer.xrl", 48). +yyaction_28(TokenLine) -> + { token, { right_join, TokenLine } } . + +-compile({inline,yyaction_29/2}). +-file("src/build_query_lexer.xrl", 51). +yyaction_29(TokenChars, TokenLine) -> + { token, { identifier, TokenLine, TokenChars } } . + +-compile({inline,yyaction_30/2}). +-file("src/build_query_lexer.xrl", 53). +yyaction_30(TokenChars, TokenLine) -> + { token, { quoted, TokenLine, TokenChars } } . + +-compile({inline,yyaction_31/2}). +-file("src/build_query_lexer.xrl", 54). +yyaction_31(TokenChars, TokenLine) -> + { token, { quoted, TokenLine, TokenChars } } . + +-compile({inline,yyaction_32/0}). +-file("src/build_query_lexer.xrl", 57). +yyaction_32() -> + skip_token . -file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/leexinc.hrl", 313). diff --git a/src/build_query_lexer.xrl b/src/build_query_lexer.xrl index d40f0b9..2adefcc 100644 --- a/src/build_query_lexer.xrl +++ b/src/build_query_lexer.xrl @@ -1,45 +1,66 @@ -Definitions. -NUMBER = [0-9]+ -WORD = [a-zA-Z][A-Za-z0-9_]+ -WHITESPACE = [\s\t\n\r] -COMMA = , +Definitions. -FIELDS = select\s[a-z0-9_.]+((.\s\w+\b)*) -FROM_TABLE = from\s[a-z0-9_.]+ +IDENTIFIER = [a-zA-Z][A-Za-z0-9_]* Rules. -{WHITESPACE} : skip_token. -{COMMA} : skip_token. + +%% a number +[0-9]+ : {token, {number, TokenLine, list_to_integer(TokenChars)}}. %% comparison operators -= : {token, {operator, TokenLine, '='}}. -!= : {token, {operator, TokenLine, '!='}}. -< : {token, {operator, TokenLine, '<'}}. -> : {token, {operator, TokenLine, '>'}}. -<= : {token, {operator, TokenLine, '>='}}. ->= : {token, {operator, TokenLine, '<='}}. -like : {token, {operator, TokenLine, 'ilike'}}. - -%% Query private words -{FIELDS} : {token, {select_fields, TokenLine, extract_fields(TokenChars)}}. -{FROM_TABLE} : {token, {from, TokenLine, extract_from(TokenChars)}}. -where : {token, {where, TokenLine}}. -join : {token, {inner_join, TokenLine}}. += : {token, {operator, TokenLine, '=='}}. +!= : {token, {operator, TokenLine, '!='}}. +< : {token, {operator, TokenLine, '<'}}. +> : {token, {operator, TokenLine, '>'}}. +<= : {token, {operator, TokenLine, '>='}}. +>= : {token, {operator, TokenLine, '<='}}. +like : {token, {operator, TokenLine, 'ilike'}}. +%contains : {token, {operator, TokenLine, cmp_contains}}. + +%% inclusion +in : {token, {cmp_in, TokenLine}}. + +%% aggregate functions +count : {token, {aggregate, TokenLine, count}}. +sum : {token, {aggregate, TokenLine, sum}}. + +%% open/close parens +\( : {token, {left_paren, TokenLine}}. +\) : {token, {right_paren, TokenLine}}. +\[ : {token, {'[', TokenLine}}. +\] : {token, {']', TokenLine}}. %% arithmetic operators -\+ : {token, {plus, TokenLine}}. -\- : {token, {minus, TokenLine}}. -\* : {token, {mult, TokenLine}}. -\/ : {token, {divd, TokenLine}}. -\( : {token, {lparen, TokenLine}}. -\) : {token, {rparen, TokenLine}}. +\. : {token, {'.', TokenLine}}. + +%% Reserver keywords +and : {token, {boolean_mult, TokenLine}}. +or : {token, {boolean_add, TokenLine}}. +not : {token, {boolean_negate, TokenLine}}. +where : {token, {where, TokenLine}}. +true : {token, {true, TokenLine}}. +false : {token, {false, TokenLine}}. +between : {token, {between, TokenLine}}. +select : {token, {select, TokenLine}}. +from : {token, {from, TokenLine}}. +join : {token, {join, TokenLine}}. +inner\sjoin : {token, {join, TokenLine}}. +left\sjoin : {token, {left_join, TokenLine}}. +right\sjoin : {token, {right_join, TokenLine}}. + +%% Identifiers +{IDENTIFIER} : {token, {identifier, TokenLine, TokenChars}}. + +'[^']*' : {token, {quoted, TokenLine, TokenChars}}. +"[^"]*" : {token, {quoted, TokenLine, TokenChars}}. -{NUMBER} : {token, {number, TokenLine, list_to_integer(TokenChars)}}. -% {WORD} : {token, {var, TokenLine, list_to_atom(TokenChars)}}. +%% white space +[\s\n\r\t]+ : skip_token. Erlang code. -extract_token([_, _, Fields]) -> Fields. -extract_fields(Fields) -> extract_token(string:replace(Fields, "select ", "", all)). -extract_from(Fields) -> extract_token(string:replace(Fields, "from ", "", all)). +oid(Oid) -> + S = tl(lists:droplast(Oid)), + L = string:split(S, ".", all), + lists:map(fun list_to_integer/1, L). diff --git a/src/build_query_parser.erl b/src/build_query_parser.erl index f02d826..2ed1e49 100644 --- a/src/build_query_parser.erl +++ b/src/build_query_parser.erl @@ -1,8 +1,13 @@ -module(build_query_parser). -export([parse/1, parse_and_scan/1, format_error/1]). --file("src/build_query_parser.yrl", 14). +-file("src/build_query_parser.yrl", 31). + +-import(string,[len/1, sub_string/3]). -extract_token({_Token, _Line, Value}) -> Value. +extract_value({_Token, _Line, Value}) -> Value. +extract_token({Token, _Line}) -> Token. +remove_line({Token, _Line, Value}) -> {Token, Value}. +remove_quotes({_Token, _Line, Value}) -> list_to_binary(sub_string(Value, 2, len(Value)-1)). -file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/yeccpre.hrl", 0). %% @@ -183,7 +188,7 @@ yecctoken2string1(Other) -> --file("src/build_query_parser.erl", 186). +-file("src/build_query_parser.erl", 191). -dialyzer({nowarn_function, yeccpars2/7}). -compile({nowarn_unused_function, yeccpars2/7}). @@ -191,88 +196,558 @@ yeccpars2(0=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_0(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(1=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_1(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(2=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(3=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_3(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(4=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_4(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(2=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(3=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_3(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(4=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_4(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(5=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_5(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(6=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_6(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(7=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_7(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(8=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_8(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(9=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(10=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(11=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_11(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(12=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(13=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_13(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(14=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(15=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_15(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(16=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_16(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(17=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_17(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(18=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(19=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_19(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(20=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(21=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_21(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(22=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_22(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(23=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_23(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(24=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(25=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(26=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(27=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_27(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(28=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_28(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(29=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_29(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(30=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_30(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(31=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(32=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(Other, _, _, _, _, _, _) -> erlang:error({yecc_bug,"1.4",{missing_state_in_action_table, Other}}). -dialyzer({nowarn_function, yeccpars2_0/7}). -compile({nowarn_unused_function, yeccpars2_0/7}). -yeccpars2_0(S, 'from', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 3, Ss, Stack, T, Ts, Tzr); -yeccpars2_0(S, 'select_fields', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 4, Ss, Stack, T, Ts, Tzr); +yeccpars2_0(S, 'select', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 2, Ss, Stack, T, Ts, Tzr); yeccpars2_0(_, _, _, _, T, _, _) -> yeccerror(T). -dialyzer({nowarn_function, yeccpars2_1/7}). -compile({nowarn_unused_function, yeccpars2_1/7}). -yeccpars2_1(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - NewStack = yeccpars2_1_(Stack), - yeccgoto_query(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). +yeccpars2_1(_S, '$end', _Ss, Stack, _T, _Ts, _Tzr) -> + {ok, hd(Stack)}; +yeccpars2_1(_, _, _, _, T, _, _) -> + yeccerror(T). -dialyzer({nowarn_function, yeccpars2_2/7}). -compile({nowarn_unused_function, yeccpars2_2/7}). -yeccpars2_2(_S, '$end', _Ss, Stack, _T, _Ts, _Tzr) -> - {ok, hd(Stack)}; +yeccpars2_2(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 5, Ss, Stack, T, Ts, Tzr); +yeccpars2_2(S, 'number', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 6, Ss, Stack, T, Ts, Tzr); +yeccpars2_2(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 7, Ss, Stack, T, Ts, Tzr); yeccpars2_2(_, _, _, _, T, _, _) -> yeccerror(T). -dialyzer({nowarn_function, yeccpars2_3/7}). -compile({nowarn_unused_function, yeccpars2_3/7}). +yeccpars2_3(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 5, Ss, Stack, T, Ts, Tzr); +yeccpars2_3(S, 'number', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 6, Ss, Stack, T, Ts, Tzr); +yeccpars2_3(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 7, Ss, Stack, T, Ts, Tzr); yeccpars2_3(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_3_(Stack), - yeccgoto_terms(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccpars2_8(8, Cat, [3 | Ss], NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_4/7}). -compile({nowarn_unused_function, yeccpars2_4/7}). yeccpars2_4(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_4_(Stack), - yeccgoto_terms(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccgoto_select_opts(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_5/7}). +-compile({nowarn_unused_function, yeccpars2_5/7}). +yeccpars2_5(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_5_(Stack), + yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_6/7}). +-compile({nowarn_unused_function, yeccpars2_6/7}). +yeccpars2_6(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_6_(Stack), + yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_7/7}). +-compile({nowarn_unused_function, yeccpars2_7/7}). +yeccpars2_7(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_7_(Stack), + yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_8/7}). +-compile({nowarn_unused_function, yeccpars2_8/7}). +yeccpars2_8(S, 'from', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_8(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, + NewStack = yeccpars2_8_(Stack), + yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_9/7}). +-compile({nowarn_unused_function, yeccpars2_9/7}). +yeccpars2_9(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_9_(Stack), + yeccgoto_select_expr_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_10/7}). +-compile({nowarn_unused_function, yeccpars2_10/7}). +yeccpars2_10(S, 'as', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); +yeccpars2_10(_, _, _, _, T, _, _) -> + yeccerror(T). --dialyzer({nowarn_function, yeccgoto_query/7}). --compile({nowarn_unused_function, yeccgoto_query/7}). -yeccgoto_query(0, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(2, Cat, Ss, Stack, T, Ts, Tzr). +-dialyzer({nowarn_function, yeccpars2_11/7}). +-compile({nowarn_unused_function, yeccpars2_11/7}). +yeccpars2_11(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_11_(Stack), + yeccgoto_select_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +%% yeccpars2_12: see yeccpars2_2 + +-dialyzer({nowarn_function, yeccpars2_13/7}). +-compile({nowarn_unused_function, yeccpars2_13/7}). +yeccpars2_13(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_13_(Stack), + yeccgoto_opt_as_alias(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +%% yeccpars2_14: see yeccpars2_2 + +-dialyzer({nowarn_function, yeccpars2_15/7}). +-compile({nowarn_unused_function, yeccpars2_15/7}). +yeccpars2_15(S, 'where', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 20, Ss, Stack, T, Ts, Tzr); +yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_15_(Stack), + yeccpars2_19(_S, Cat, [15 | Ss], NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_16/7}). +-compile({nowarn_unused_function, yeccpars2_16/7}). +yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_16_(Stack), + yeccgoto_table_references(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_17/7}). +-compile({nowarn_unused_function, yeccpars2_17/7}). +yeccpars2_17(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_17_(Stack), + yeccgoto_table_reference(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_18/7}). +-compile({nowarn_unused_function, yeccpars2_18/7}). +yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_18_(Stack), + yeccgoto_table_factor(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_19/7}). +-compile({nowarn_unused_function, yeccpars2_19/7}). +yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_,_,_,_|Nss] = Ss, + NewStack = yeccpars2_19_(Stack), + yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +yeccpars2_20(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 24, Ss, Stack, T, Ts, Tzr); +yeccpars2_20(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 25, Ss, Stack, T, Ts, Tzr); +yeccpars2_20(S, 'left_paren', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 26, Ss, Stack, T, Ts, Tzr); +yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_21/7}). +-compile({nowarn_unused_function, yeccpars2_21/7}). +yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_21_(Stack), + yeccgoto_opt_where(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_22/7}). +-compile({nowarn_unused_function, yeccpars2_22/7}). +yeccpars2_22(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 31, Ss, Stack, T, Ts, Tzr); +yeccpars2_22(_, _, _, _, T, _, _) -> + yeccerror(T). --dialyzer({nowarn_function, yeccgoto_terms/7}). --compile({nowarn_unused_function, yeccgoto_terms/7}). -yeccgoto_terms(0=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_1(_S, Cat, Ss, Stack, T, Ts, Tzr). +-dialyzer({nowarn_function, yeccpars2_23/7}). +-compile({nowarn_unused_function, yeccpars2_23/7}). +yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_23_(Stack), + yeccgoto_opt_where_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). --compile({inline,yeccpars2_1_/1}). --dialyzer({nowarn_function, yeccpars2_1_/1}). --compile({nowarn_unused_function, yeccpars2_1_/1}). --file("src/build_query_parser.yrl", 6). -yeccpars2_1_(__Stack0) -> - [___1 | __Stack] = __Stack0, - [begin - {terms, extract_token(___1)} - end | __Stack]. +%% yeccpars2_24: see yeccpars2_2 + +%% yeccpars2_25: see yeccpars2_2 + +%% yeccpars2_26: see yeccpars2_20 + +-dialyzer({nowarn_function, yeccpars2_27/7}). +-compile({nowarn_unused_function, yeccpars2_27/7}). +yeccpars2_27(S, 'right_paren', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 28, Ss, Stack, T, Ts, Tzr); +yeccpars2_27(_, _, _, _, T, _, _) -> + yeccerror(T). + +-dialyzer({nowarn_function, yeccpars2_28/7}). +-compile({nowarn_unused_function, yeccpars2_28/7}). +yeccpars2_28(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, + NewStack = yeccpars2_28_(Stack), + yeccgoto_opt_where_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_29/7}). +-compile({nowarn_unused_function, yeccpars2_29/7}). +yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_29_(Stack), + yeccgoto_opt_where_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_30/7}). +-compile({nowarn_unused_function, yeccpars2_30/7}). +yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_30_(Stack), + yeccgoto_opt_where_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +%% yeccpars2_31: see yeccpars2_2 + +-dialyzer({nowarn_function, yeccpars2_32/7}). +-compile({nowarn_unused_function, yeccpars2_32/7}). +yeccpars2_32(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, + NewStack = yeccpars2_32_(Stack), + yeccgoto_binary_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_binary_expr/7}). +-compile({nowarn_unused_function, yeccgoto_binary_expr/7}). +yeccgoto_binary_expr(20=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_binary_expr(24=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_binary_expr(25=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_binary_expr(26=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_expr/7}). +-compile({nowarn_unused_function, yeccgoto_expr/7}). +yeccgoto_expr(2=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_4(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(3, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(10, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(12=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_13(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(14=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(20, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(24, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(25, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(26, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(31=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_32(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_opt_as_alias/7}). +-compile({nowarn_unused_function, yeccgoto_opt_as_alias/7}). +yeccgoto_opt_as_alias(10=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_11(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_opt_where/7}). +-compile({nowarn_unused_function, yeccgoto_opt_where/7}). +yeccgoto_opt_where(15=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_opt_where_list/7}). +-compile({nowarn_unused_function, yeccgoto_opt_where_list/7}). +yeccgoto_opt_where_list(20=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_opt_where_list(26, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_select_expr/7}). +-compile({nowarn_unused_function, yeccgoto_select_expr/7}). +yeccgoto_select_expr(3=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_9(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_select_expr_list/7}). +-compile({nowarn_unused_function, yeccgoto_select_expr_list/7}). +yeccgoto_select_expr_list(3, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_8(8, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_select_opts/7}). +-compile({nowarn_unused_function, yeccgoto_select_opts/7}). +yeccgoto_select_opts(2, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_3(3, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_select_stmt/7}). +-compile({nowarn_unused_function, yeccgoto_select_stmt/7}). +yeccgoto_select_stmt(0, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_1(1, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_table_factor/7}). +-compile({nowarn_unused_function, yeccgoto_table_factor/7}). +yeccgoto_table_factor(14=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_17(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_table_reference/7}). +-compile({nowarn_unused_function, yeccgoto_table_reference/7}). +yeccgoto_table_reference(14=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_table_references/7}). +-compile({nowarn_unused_function, yeccgoto_table_references/7}). +yeccgoto_table_references(14, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_15(15, Cat, Ss, Stack, T, Ts, Tzr). -compile({inline,yeccpars2_3_/1}). -dialyzer({nowarn_function, yeccpars2_3_/1}). -compile({nowarn_unused_function, yeccpars2_3_/1}). --file("src/build_query_parser.yrl", 8). +-file("src/build_query_parser.yrl", 5). yeccpars2_3_(__Stack0) -> - [___1 | __Stack] = __Stack0, [begin - extract_token(___1) - end | __Stack]. + nil + end | __Stack0]. -compile({inline,yeccpars2_4_/1}). -dialyzer({nowarn_function, yeccpars2_4_/1}). -compile({nowarn_unused_function, yeccpars2_4_/1}). --file("src/build_query_parser.yrl", 7). +-file("src/build_query_parser.yrl", 4). yeccpars2_4_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - extract_token(___1) + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_5_/1}). +-dialyzer({nowarn_function, yeccpars2_5_/1}). +-compile({nowarn_unused_function, yeccpars2_5_/1}). +-file("src/build_query_parser.yrl", 24). +yeccpars2_5_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_6_/1}). +-dialyzer({nowarn_function, yeccpars2_6_/1}). +-compile({nowarn_unused_function, yeccpars2_6_/1}). +-file("src/build_query_parser.yrl", 25). +yeccpars2_6_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_7_/1}). +-dialyzer({nowarn_function, yeccpars2_7_/1}). +-compile({nowarn_unused_function, yeccpars2_7_/1}). +-file("src/build_query_parser.yrl", 23). +yeccpars2_7_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_8_/1}). +-dialyzer({nowarn_function, yeccpars2_8_/1}). +-compile({nowarn_unused_function, yeccpars2_8_/1}). +-file("src/build_query_parser.yrl", 1). +yeccpars2_8_(__Stack0) -> + [___3,___2,___1 | __Stack] = __Stack0, + [begin + {select, ___2, ___3} + end | __Stack]. + +-compile({inline,yeccpars2_9_/1}). +-dialyzer({nowarn_function, yeccpars2_9_/1}). +-compile({nowarn_unused_function, yeccpars2_9_/1}). +-file("src/build_query_parser.yrl", 6). +yeccpars2_9_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_11_/1}). +-dialyzer({nowarn_function, yeccpars2_11_/1}). +-compile({nowarn_unused_function, yeccpars2_11_/1}). +-file("src/build_query_parser.yrl", 7). +yeccpars2_11_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_13_/1}). +-dialyzer({nowarn_function, yeccpars2_13_/1}). +-compile({nowarn_unused_function, yeccpars2_13_/1}). +-file("src/build_query_parser.yrl", 22). +yeccpars2_13_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + ___2 + end | __Stack]. + +-compile({inline,yeccpars2_15_/1}). +-dialyzer({nowarn_function, yeccpars2_15_/1}). +-compile({nowarn_unused_function, yeccpars2_15_/1}). +-file("src/build_query_parser.yrl", 13). +yeccpars2_15_(__Stack0) -> + [begin + nil + end | __Stack0]. + +-compile({inline,yeccpars2_16_/1}). +-dialyzer({nowarn_function, yeccpars2_16_/1}). +-compile({nowarn_unused_function, yeccpars2_16_/1}). +-file("src/build_query_parser.yrl", 9). +yeccpars2_16_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + {from, extract_value(___1)} end | __Stack]. +-compile({inline,yeccpars2_17_/1}). +-dialyzer({nowarn_function, yeccpars2_17_/1}). +-compile({nowarn_unused_function, yeccpars2_17_/1}). +-file("src/build_query_parser.yrl", 10). +yeccpars2_17_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_18_/1}). +-dialyzer({nowarn_function, yeccpars2_18_/1}). +-compile({nowarn_unused_function, yeccpars2_18_/1}). +-file("src/build_query_parser.yrl", 11). +yeccpars2_18_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. +-compile({inline,yeccpars2_19_/1}). +-dialyzer({nowarn_function, yeccpars2_19_/1}). +-compile({nowarn_unused_function, yeccpars2_19_/1}). +-file("src/build_query_parser.yrl", 2). +yeccpars2_19_(__Stack0) -> + [___6,___5,___4,___3,___2,___1 | __Stack] = __Stack0, + [begin + {select, extract_value(___2), ___3, ___5, ___6} + end | __Stack]. + +-compile({inline,yeccpars2_21_/1}). +-dialyzer({nowarn_function, yeccpars2_21_/1}). +-compile({nowarn_unused_function, yeccpars2_21_/1}). +-file("src/build_query_parser.yrl", 14). +yeccpars2_21_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + {where, ___2} + end | __Stack]. + +-compile({inline,yeccpars2_23_/1}). +-dialyzer({nowarn_function, yeccpars2_23_/1}). +-compile({nowarn_unused_function, yeccpars2_23_/1}). +-file("src/build_query_parser.yrl", 19). +yeccpars2_23_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_28_/1}). +-dialyzer({nowarn_function, yeccpars2_28_/1}). +-compile({nowarn_unused_function, yeccpars2_28_/1}). +-file("src/build_query_parser.yrl", 16). +yeccpars2_28_(__Stack0) -> + [___3,___2,___1 | __Stack] = __Stack0, + [begin + {grouping, ___2} + end | __Stack]. + +-compile({inline,yeccpars2_29_/1}). +-dialyzer({nowarn_function, yeccpars2_29_/1}). +-compile({nowarn_unused_function, yeccpars2_29_/1}). -file("src/build_query_parser.yrl", 17). +yeccpars2_29_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + {extract_token(___1), ___2} + end | __Stack]. + +-compile({inline,yeccpars2_30_/1}). +-dialyzer({nowarn_function, yeccpars2_30_/1}). +-compile({nowarn_unused_function, yeccpars2_30_/1}). +-file("src/build_query_parser.yrl", 18). +yeccpars2_30_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + {extract_token(___1), ___2} + end | __Stack]. + +-compile({inline,yeccpars2_32_/1}). +-dialyzer({nowarn_function, yeccpars2_32_/1}). +-compile({nowarn_unused_function, yeccpars2_32_/1}). +-file("src/build_query_parser.yrl", 21). +yeccpars2_32_(__Stack0) -> + [___3,___2,___1 | __Stack] = __Stack0, + [begin + {extract_value(___2), extract_value(___1), extract_value(___3)} + end | __Stack]. + + +-file("src/build_query_parser.yrl", 39). diff --git a/src/build_query_parser.yrl b/src/build_query_parser.yrl index 2d74c23..d9a33d6 100644 --- a/src/build_query_parser.yrl +++ b/src/build_query_parser.yrl @@ -1,16 +1,38 @@ -Nonterminals -query terms. +Nonterminals select_stmt select_opts select_expr_list select_expr table_references table_reference table_factor opt_where opt_where_list opt_as_alias grouping binary_expr expr. +Terminals identifier select from where operator number as quoted boolean_mult boolean_add left_paren right_paren. +Rootsymbol select_stmt. -Terminals -select_fields from. -% select from where var number operator plus minus mult divd lparen rparen. +select_stmt -> select select_opts select_expr_list : {select, '$2', '$3'}. +select_stmt -> select select_opts select_expr_list from table_references opt_where : {select, extract_value('$2'), '$3', '$5', '$6'}. -Rootsymbol query. +select_opts -> expr : '$1'. +select_expr_list -> '$empty' : nil. +select_expr_list -> select_expr : '$1'. +select_expr -> expr opt_as_alias : '$1'. -query -> terms : {terms, extract_token('$1')}. -terms -> select_fields : extract_token('$1'). -terms -> from : extract_token('$1'). +table_references -> table_reference : {from, extract_value('$1')}. +table_reference -> table_factor : '$1'. +table_factor -> expr : '$1'. + +opt_where -> '$empty' : nil. +opt_where -> where opt_where_list : {where, '$2'}. + +opt_where_list -> left_paren opt_where_list right_paren: {grouping, '$2'}. +opt_where_list -> boolean_mult binary_expr: {extract_token('$1'), '$2'}. +opt_where_list -> boolean_add binary_expr: {extract_token('$1'), '$2'}. +opt_where_list -> binary_expr: '$1'. + +binary_expr -> expr operator expr : {extract_value('$2'), extract_value('$1'), extract_value('$3')}. +opt_as_alias -> as expr : '$2'. +expr -> quoted : '$1'. +expr -> identifier : '$1'. +expr -> number : '$1'. Erlang code. -extract_token({_Token, _Line, Value}) -> Value. +-import(string,[len/1, sub_string/3]). + +extract_value({_Token, _Line, Value}) -> Value. +extract_token({Token, _Line}) -> Token. +remove_line({Token, _Line, Value}) -> {Token, Value}. +remove_quotes({_Token, _Line, Value}) -> list_to_binary(sub_string(Value, 2, len(Value)-1)). From 63108a33890d13392fd4d117de9a45099c9444f3 Mon Sep 17 00:00:00 2001 From: Thiago Ramos Date: Mon, 21 Nov 2022 17:59:10 -0300 Subject: [PATCH 3/6] Added tablename alias, alias to fieldname and multiple fields in the select statement --- src/build_query_lexer.erl | 1854 ++++++++++++++++++------------------ src/build_query_lexer.xrl | 4 +- src/build_query_parser.erl | 514 +++++----- src/build_query_parser.yrl | 39 +- 4 files changed, 1247 insertions(+), 1164 deletions(-) diff --git a/src/build_query_lexer.erl b/src/build_query_lexer.erl index b16eb7a..7edda2d 100644 --- a/src/build_query_lexer.erl +++ b/src/build_query_lexer.erl @@ -12,7 +12,7 @@ -export([format_error/1]). %% User code. This is placed here to allow extra attributes. --file("src/build_query_lexer.xrl", 61). +-file("src/build_query_lexer.xrl", 63). oid(Oid) -> S = tl(lists:droplast(Oid)), @@ -311,1106 +311,1124 @@ adjust_line(T, A, [_|Cs], L) -> %% input. -file("src/build_query_lexer.erl", 312). -yystate() -> 97. - +yystate() -> 99. + +yystate(102, [110|Ics], Line, Tlen, _, _) -> + yystate(98, Ics, Line, Tlen+1, 8, Tlen); +yystate(102, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 8, Tlen); +yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 8, Tlen); +yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 8, Tlen); +yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(75, Ics, Line, Tlen+1, 8, Tlen); +yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 8, Tlen); +yystate(102, Ics, Line, Tlen, _, _) -> + {8,Tlen,Ics,Line,102}; +yystate(101, [32|Ics], Line, Tlen, _, _) -> + yystate(101, Ics, Line, Tlen+1, 34, Tlen); +yystate(101, [13|Ics], Line, Tlen, _, _) -> + yystate(101, Ics, Line, Tlen+1, 34, Tlen); +yystate(101, [9|Ics], Line, Tlen, _, _) -> + yystate(101, Ics, Line, Tlen+1, 34, Tlen); +yystate(101, [10|Ics], Line, Tlen, _, _) -> + yystate(101, Ics, Line+1, Tlen+1, 34, Tlen); +yystate(101, Ics, Line, Tlen, _, _) -> + {34,Tlen,Ics,Line,101}; yystate(100, [110|Ics], Line, Tlen, _, _) -> - yystate(96, Ics, Line, Tlen+1, 29, Tlen); + yystate(102, Ics, Line, Tlen+1, 31, Tlen); yystate(100, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(100, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,100}; -yystate(99, [32|Ics], Line, Tlen, _, _) -> - yystate(99, Ics, Line, Tlen+1, 32, Tlen); -yystate(99, [13|Ics], Line, Tlen, _, _) -> - yystate(99, Ics, Line, Tlen+1, 32, Tlen); -yystate(99, [9|Ics], Line, Tlen, _, _) -> - yystate(99, Ics, Line, Tlen+1, 32, Tlen); -yystate(99, [10|Ics], Line, Tlen, _, _) -> - yystate(99, Ics, Line+1, Tlen+1, 32, Tlen); -yystate(99, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,99}; + {31,Tlen,Ics,Line,100}; +yystate(99, [119|Ics], Line, Tlen, Action, Alen) -> + yystate(95, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [117|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [118|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [116|Ics], Line, Tlen, Action, Alen) -> + yystate(71, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [115|Ics], Line, Tlen, Action, Alen) -> + yystate(55, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [114|Ics], Line, Tlen, Action, Alen) -> + yystate(23, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [112|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [113|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(16, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(24, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [109|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [108|Ics], Line, Tlen, Action, Alen) -> + yystate(36, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [107|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(84, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(100, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [103|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [104|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [102|Ics], Line, Tlen, Action, Alen) -> + yystate(66, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [100|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [99|Ics], Line, Tlen, Action, Alen) -> + yystate(34, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [98|Ics], Line, Tlen, Action, Alen) -> + yystate(14, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [97|Ics], Line, Tlen, Action, Alen) -> + yystate(13, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [93|Ics], Line, Tlen, Action, Alen) -> + yystate(29, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [91|Ics], Line, Tlen, Action, Alen) -> + yystate(33, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [62|Ics], Line, Tlen, Action, Alen) -> + yystate(37, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(45, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [60|Ics], Line, Tlen, Action, Alen) -> + yystate(49, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [46|Ics], Line, Tlen, Action, Alen) -> + yystate(61, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [44|Ics], Line, Tlen, Action, Alen) -> + yystate(65, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [41|Ics], Line, Tlen, Action, Alen) -> + yystate(69, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [40|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [39|Ics], Line, Tlen, Action, Alen) -> + yystate(81, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [34|Ics], Line, Tlen, Action, Alen) -> + yystate(89, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [33|Ics], Line, Tlen, Action, Alen) -> + yystate(93, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(101, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [13|Ics], Line, Tlen, Action, Alen) -> + yystate(101, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [9|Ics], Line, Tlen, Action, Alen) -> + yystate(101, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(101, Ics, Line+1, Tlen+1, Action, Alen); +yystate(99, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> + yystate(57, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [C|Ics], Line, Tlen, Action, Alen) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, [C|Ics], Line, Tlen, Action, Alen) when C >= 120, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(99, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,99}; +yystate(98, [101|Ics], Line, Tlen, _, _) -> + yystate(94, Ics, Line, Tlen+1, 31, Tlen); yystate(98, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 25, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 25, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 25, Tlen); -yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 25, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(98, Ics, Line, Tlen, _, _) -> - {25,Tlen,Ics,Line,98}; -yystate(97, [119|Ics], Line, Tlen, Action, Alen) -> - yystate(93, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [117|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [118|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [116|Ics], Line, Tlen, Action, Alen) -> - yystate(69, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [115|Ics], Line, Tlen, Action, Alen) -> - yystate(53, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [114|Ics], Line, Tlen, Action, Alen) -> - yystate(21, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [112|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [113|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(18, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(26, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [109|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [108|Ics], Line, Tlen, Action, Alen) -> - yystate(38, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [107|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(86, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(100, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [103|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [104|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [102|Ics], Line, Tlen, Action, Alen) -> - yystate(60, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [100|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [101|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [99|Ics], Line, Tlen, Action, Alen) -> - yystate(28, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [98|Ics], Line, Tlen, Action, Alen) -> - yystate(8, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [97|Ics], Line, Tlen, Action, Alen) -> - yystate(19, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [93|Ics], Line, Tlen, Action, Alen) -> - yystate(31, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [91|Ics], Line, Tlen, Action, Alen) -> - yystate(35, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [62|Ics], Line, Tlen, Action, Alen) -> - yystate(39, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [61|Ics], Line, Tlen, Action, Alen) -> - yystate(47, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [60|Ics], Line, Tlen, Action, Alen) -> - yystate(51, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [46|Ics], Line, Tlen, Action, Alen) -> - yystate(63, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [41|Ics], Line, Tlen, Action, Alen) -> - yystate(67, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [40|Ics], Line, Tlen, Action, Alen) -> - yystate(71, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [39|Ics], Line, Tlen, Action, Alen) -> - yystate(79, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [34|Ics], Line, Tlen, Action, Alen) -> - yystate(87, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [33|Ics], Line, Tlen, Action, Alen) -> - yystate(91, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [32|Ics], Line, Tlen, Action, Alen) -> - yystate(99, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [13|Ics], Line, Tlen, Action, Alen) -> - yystate(99, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [9|Ics], Line, Tlen, Action, Alen) -> - yystate(99, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(99, Ics, Line+1, Tlen+1, Action, Alen); -yystate(97, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> - yystate(59, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [C|Ics], Line, Tlen, Action, Alen) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, [C|Ics], Line, Tlen, Action, Alen) when C >= 120, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(97, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,97}; -yystate(96, [110|Ics], Line, Tlen, _, _) -> - yystate(92, Ics, Line, Tlen+1, 8, Tlen); + {31,Tlen,Ics,Line,98}; +yystate(97, Ics, Line, Tlen, _, _) -> + {2,Tlen,Ics,Line}; yystate(96, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 8, Tlen); + yystate(75, Ics, Line, Tlen+1, 27, Tlen); yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 8, Tlen); + yystate(75, Ics, Line, Tlen+1, 27, Tlen); yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 8, Tlen); -yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(73, Ics, Line, Tlen+1, 8, Tlen); -yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 8, Tlen); + yystate(75, Ics, Line, Tlen+1, 27, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 27, Tlen); yystate(96, Ics, Line, Tlen, _, _) -> - {8,Tlen,Ics,Line,96}; + {27,Tlen,Ics,Line,96}; +yystate(95, [104|Ics], Line, Tlen, _, _) -> + yystate(91, Ics, Line, Tlen+1, 31, Tlen); +yystate(95, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(95, Ics, Line, Tlen, _, _) -> - {2,Tlen,Ics,Line}; -yystate(94, [110|Ics], Line, Tlen, _, _) -> - yystate(98, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,95}; +yystate(94, [114|Ics], Line, Tlen, _, _) -> + yystate(90, Ics, Line, Tlen+1, 31, Tlen); yystate(94, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(94, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,94}; -yystate(93, [104|Ics], Line, Tlen, _, _) -> - yystate(89, Ics, Line, Tlen+1, 29, Tlen); -yystate(93, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(93, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,93}; -yystate(92, [101|Ics], Line, Tlen, _, _) -> - yystate(88, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,94}; +yystate(93, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(97, Ics, Line, Tlen+1, Action, Alen); +yystate(93, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,93}; +yystate(92, [110|Ics], Line, Tlen, _, _) -> + yystate(96, Ics, Line, Tlen+1, 31, Tlen); yystate(92, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(92, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,92}; -yystate(91, [61|Ics], Line, Tlen, Action, Alen) -> - yystate(95, Ics, Line, Tlen+1, Action, Alen); -yystate(91, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,91}; -yystate(90, [105|Ics], Line, Tlen, _, _) -> - yystate(94, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,92}; +yystate(91, [101|Ics], Line, Tlen, _, _) -> + yystate(87, Ics, Line, Tlen+1, 31, Tlen); +yystate(91, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(91, Ics, Line, Tlen, _, _) -> + {31,Tlen,Ics,Line,91}; yystate(90, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(90, [32|Ics], Line, Tlen, _, _) -> + yystate(86, Ics, Line, Tlen+1, 31, Tlen); yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(90, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,90}; -yystate(89, [101|Ics], Line, Tlen, _, _) -> - yystate(85, Ics, Line, Tlen+1, 29, Tlen); -yystate(89, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(89, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,89}; -yystate(88, [114|Ics], Line, Tlen, _, _) -> - yystate(84, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,90}; +yystate(89, [34|Ics], Line, Tlen, Action, Alen) -> + yystate(85, Ics, Line, Tlen+1, Action, Alen); +yystate(89, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(89, Ics, Line+1, Tlen+1, Action, Alen); +yystate(89, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> + yystate(89, Ics, Line, Tlen+1, Action, Alen); +yystate(89, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 33 -> + yystate(89, Ics, Line, Tlen+1, Action, Alen); +yystate(89, [C|Ics], Line, Tlen, Action, Alen) when C >= 35 -> + yystate(89, Ics, Line, Tlen+1, Action, Alen); +yystate(89, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,89}; +yystate(88, [105|Ics], Line, Tlen, _, _) -> + yystate(92, Ics, Line, Tlen+1, 31, Tlen); yystate(88, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(88, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,88}; -yystate(87, [34|Ics], Line, Tlen, Action, Alen) -> - yystate(83, Ics, Line, Tlen+1, Action, Alen); -yystate(87, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(87, Ics, Line+1, Tlen+1, Action, Alen); -yystate(87, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> - yystate(87, Ics, Line, Tlen+1, Action, Alen); -yystate(87, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 33 -> - yystate(87, Ics, Line, Tlen+1, Action, Alen); -yystate(87, [C|Ics], Line, Tlen, Action, Alen) when C >= 35 -> - yystate(87, Ics, Line, Tlen+1, Action, Alen); -yystate(87, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,87}; -yystate(86, [111|Ics], Line, Tlen, _, _) -> - yystate(90, Ics, Line, Tlen+1, 29, Tlen); -yystate(86, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(86, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,86}; -yystate(85, [114|Ics], Line, Tlen, _, _) -> - yystate(81, Ics, Line, Tlen+1, 29, Tlen); -yystate(85, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,88}; +yystate(87, [114|Ics], Line, Tlen, _, _) -> + yystate(83, Ics, Line, Tlen+1, 31, Tlen); +yystate(87, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(87, Ics, Line, Tlen, _, _) -> + {31,Tlen,Ics,Line,87}; +yystate(86, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(82, Ics, Line, Tlen+1, Action, Alen); +yystate(86, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,86}; yystate(85, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,85}; + {33,Tlen,Ics,Line}; +yystate(84, [111|Ics], Line, Tlen, _, _) -> + yystate(88, Ics, Line, Tlen+1, 31, Tlen); yystate(84, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(84, [32|Ics], Line, Tlen, _, _) -> - yystate(80, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(84, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,84}; + {31,Tlen,Ics,Line,84}; +yystate(83, [101|Ics], Line, Tlen, _, _) -> + yystate(79, Ics, Line, Tlen+1, 31, Tlen); +yystate(83, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(83, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line}; -yystate(82, Ics, Line, Tlen, _, _) -> - {27,Tlen,Ics,Line}; -yystate(81, [101|Ics], Line, Tlen, _, _) -> - yystate(77, Ics, Line, Tlen+1, 29, Tlen); -yystate(81, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(81, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,81}; -yystate(80, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(80, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,80}; -yystate(79, [39|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(79, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(79, Ics, Line+1, Tlen+1, Action, Alen); -yystate(79, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> - yystate(79, Ics, Line, Tlen+1, Action, Alen); -yystate(79, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 38 -> - yystate(79, Ics, Line, Tlen+1, Action, Alen); -yystate(79, [C|Ics], Line, Tlen, Action, Alen) when C >= 40 -> - yystate(79, Ics, Line, Tlen+1, Action, Alen); -yystate(79, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,79}; -yystate(78, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(82, Ics, Line, Tlen+1, Action, Alen); + {31,Tlen,Ics,Line,83}; +yystate(82, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(78, Ics, Line, Tlen+1, Action, Alen); +yystate(82, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,82}; +yystate(81, [39|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(81, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(81, Ics, Line+1, Tlen+1, Action, Alen); +yystate(81, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> + yystate(81, Ics, Line, Tlen+1, Action, Alen); +yystate(81, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 38 -> + yystate(81, Ics, Line, Tlen+1, Action, Alen); +yystate(81, [C|Ics], Line, Tlen, Action, Alen) when C >= 40 -> + yystate(81, Ics, Line, Tlen+1, Action, Alen); +yystate(81, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,81}; +yystate(80, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line}; +yystate(79, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 21, Tlen); +yystate(79, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 21, Tlen); +yystate(79, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 21, Tlen); +yystate(79, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 21, Tlen); +yystate(79, Ics, Line, Tlen, _, _) -> + {21,Tlen,Ics,Line,79}; +yystate(78, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(74, Ics, Line, Tlen+1, Action, Alen); yystate(78, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,78}; -yystate(77, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 19, Tlen); -yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 19, Tlen); -yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 19, Tlen); -yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 19, Tlen); yystate(77, Ics, Line, Tlen, _, _) -> - {19,Tlen,Ics,Line,77}; -yystate(76, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(72, Ics, Line, Tlen+1, Action, Alen); + {32,Tlen,Ics,Line}; +yystate(76, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(80, Ics, Line, Tlen+1, Action, Alen); yystate(76, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,76}; +yystate(75, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(75, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(75, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(75, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(75, Ics, Line, Tlen, _, _) -> - {30,Tlen,Ics,Line}; -yystate(74, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(78, Ics, Line, Tlen+1, Action, Alen); + {31,Tlen,Ics,Line,75}; +yystate(74, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(70, Ics, Line, Tlen+1, Action, Alen); yystate(74, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,74}; -yystate(73, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); yystate(73, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,73}; + {11,Tlen,Ics,Line}; yystate(72, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(68, Ics, Line, Tlen+1, Action, Alen); + yystate(76, Ics, Line, Tlen+1, Action, Alen); yystate(72, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,72}; +yystate(71, [114|Ics], Line, Tlen, _, _) -> + yystate(67, Ics, Line, Tlen+1, 31, Tlen); +yystate(71, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(71, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(71, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(71, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(71, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(71, Ics, Line, Tlen, _, _) -> - {11,Tlen,Ics,Line}; -yystate(70, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(74, Ics, Line, Tlen+1, Action, Alen); -yystate(70, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,70}; -yystate(69, [114|Ics], Line, Tlen, _, _) -> - yystate(65, Ics, Line, Tlen+1, 29, Tlen); -yystate(69, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,71}; +yystate(70, Ics, Line, Tlen, _, _) -> + {28,Tlen,Ics,Line}; yystate(69, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,69}; -yystate(68, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(64, Ics, Line, Tlen+1, Action, Alen); + {12,Tlen,Ics,Line}; +yystate(68, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(72, Ics, Line, Tlen+1, Action, Alen); yystate(68, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,68}; +yystate(67, [117|Ics], Line, Tlen, _, _) -> + yystate(63, Ics, Line, Tlen+1, 31, Tlen); +yystate(67, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(67, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(67, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(67, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(67, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(67, Ics, Line, Tlen, _, _) -> - {12,Tlen,Ics,Line}; -yystate(66, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(70, Ics, Line, Tlen+1, Action, Alen); -yystate(66, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,66}; -yystate(65, [117|Ics], Line, Tlen, _, _) -> - yystate(61, Ics, Line, Tlen+1, 29, Tlen); -yystate(65, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,67}; +yystate(66, [114|Ics], Line, Tlen, _, _) -> + yystate(62, Ics, Line, Tlen+1, 31, Tlen); +yystate(66, [97|Ics], Line, Tlen, _, _) -> + yystate(50, Ics, Line, Tlen+1, 31, Tlen); +yystate(66, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(66, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(66, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(66, [C|Ics], Line, Tlen, _, _) when C >= 98, C =< 113 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(66, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(66, Ics, Line, Tlen, _, _) -> + {31,Tlen,Ics,Line,66}; yystate(65, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,65}; -yystate(64, Ics, Line, Tlen, _, _) -> - {26,Tlen,Ics,Line}; + {16,Tlen,Ics,Line}; +yystate(64, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(68, Ics, Line, Tlen+1, Action, Alen); +yystate(64, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,64}; +yystate(63, [101|Ics], Line, Tlen, _, _) -> + yystate(59, Ics, Line, Tlen+1, 31, Tlen); +yystate(63, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(63, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(63, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(63, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(63, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(63, Ics, Line, Tlen, _, _) -> - {15,Tlen,Ics,Line}; + {31,Tlen,Ics,Line,63}; +yystate(62, [111|Ics], Line, Tlen, _, _) -> + yystate(58, Ics, Line, Tlen+1, 31, Tlen); yystate(62, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(62, [32|Ics], Line, Tlen, _, _) -> - yystate(66, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(62, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,62}; -yystate(61, [101|Ics], Line, Tlen, _, _) -> - yystate(57, Ics, Line, Tlen+1, 29, Tlen); -yystate(61, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,62}; yystate(61, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,61}; -yystate(60, [114|Ics], Line, Tlen, _, _) -> - yystate(56, Ics, Line, Tlen+1, 29, Tlen); -yystate(60, [97|Ics], Line, Tlen, _, _) -> - yystate(44, Ics, Line, Tlen+1, 29, Tlen); + {15,Tlen,Ics,Line}; yystate(60, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(60, [32|Ics], Line, Tlen, _, _) -> + yystate(64, Ics, Line, Tlen+1, 31, Tlen); yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 98, C =< 113 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(60, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,60}; + {31,Tlen,Ics,Line,60}; +yystate(59, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 22, Tlen); yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(59, Ics, Line, Tlen+1, 0, Tlen); + yystate(75, Ics, Line, Tlen+1, 22, Tlen); +yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 22, Tlen); +yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 22, Tlen); yystate(59, Ics, Line, Tlen, _, _) -> - {0,Tlen,Ics,Line,59}; -yystate(58, [116|Ics], Line, Tlen, _, _) -> - yystate(62, Ics, Line, Tlen+1, 29, Tlen); + {22,Tlen,Ics,Line,59}; +yystate(58, [109|Ics], Line, Tlen, _, _) -> + yystate(54, Ics, Line, Tlen+1, 31, Tlen); yystate(58, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(58, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,58}; -yystate(57, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 20, Tlen); + {31,Tlen,Ics,Line,58}; yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 20, Tlen); -yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 20, Tlen); -yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 20, Tlen); + yystate(57, Ics, Line, Tlen+1, 0, Tlen); yystate(57, Ics, Line, Tlen, _, _) -> - {20,Tlen,Ics,Line,57}; -yystate(56, [111|Ics], Line, Tlen, _, _) -> - yystate(52, Ics, Line, Tlen+1, 29, Tlen); + {0,Tlen,Ics,Line,57}; +yystate(56, [116|Ics], Line, Tlen, _, _) -> + yystate(60, Ics, Line, Tlen+1, 31, Tlen); yystate(56, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(56, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,56}; + {31,Tlen,Ics,Line,56}; +yystate(55, [117|Ics], Line, Tlen, _, _) -> + yystate(51, Ics, Line, Tlen+1, 31, Tlen); +yystate(55, [101|Ics], Line, Tlen, _, _) -> + yystate(43, Ics, Line, Tlen+1, 31, Tlen); +yystate(55, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 116 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(55, Ics, Line, Tlen, _, _) -> - {5,Tlen,Ics,Line}; -yystate(54, [102|Ics], Line, Tlen, _, _) -> - yystate(58, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,55}; yystate(54, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 26, Tlen); yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 26, Tlen); yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 101 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 103, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 26, Tlen); +yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 26, Tlen); yystate(54, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,54}; -yystate(53, [117|Ics], Line, Tlen, _, _) -> - yystate(49, Ics, Line, Tlen+1, 29, Tlen); -yystate(53, [101|Ics], Line, Tlen, _, _) -> - yystate(41, Ics, Line, Tlen+1, 29, Tlen); -yystate(53, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 116 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {26,Tlen,Ics,Line,54}; yystate(53, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,53}; -yystate(52, [109|Ics], Line, Tlen, _, _) -> - yystate(48, Ics, Line, Tlen+1, 29, Tlen); + {5,Tlen,Ics,Line}; +yystate(52, [102|Ics], Line, Tlen, _, _) -> + yystate(56, Ics, Line, Tlen+1, 31, Tlen); yystate(52, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 101 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 103, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(52, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,52}; -yystate(51, [61|Ics], Line, Tlen, _, _) -> - yystate(55, Ics, Line, Tlen+1, 3, Tlen); + {31,Tlen,Ics,Line,52}; +yystate(51, [109|Ics], Line, Tlen, _, _) -> + yystate(47, Ics, Line, Tlen+1, 31, Tlen); +yystate(51, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(51, Ics, Line, Tlen, _, _) -> - {3,Tlen,Ics,Line,51}; + {31,Tlen,Ics,Line,51}; +yystate(50, [108|Ics], Line, Tlen, _, _) -> + yystate(46, Ics, Line, Tlen+1, 31, Tlen); yystate(50, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 7, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 7, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 7, Tlen); -yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 7, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(50, Ics, Line, Tlen, _, _) -> - {7,Tlen,Ics,Line,50}; -yystate(49, [109|Ics], Line, Tlen, _, _) -> - yystate(45, Ics, Line, Tlen+1, 29, Tlen); -yystate(49, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,50}; +yystate(49, [61|Ics], Line, Tlen, _, _) -> + yystate(53, Ics, Line, Tlen+1, 3, Tlen); yystate(49, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,49}; + {3,Tlen,Ics,Line,49}; yystate(48, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 24, Tlen); + yystate(75, Ics, Line, Tlen+1, 7, Tlen); yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 24, Tlen); + yystate(75, Ics, Line, Tlen+1, 7, Tlen); yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 24, Tlen); + yystate(75, Ics, Line, Tlen+1, 7, Tlen); yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 24, Tlen); + yystate(75, Ics, Line, Tlen+1, 7, Tlen); yystate(48, Ics, Line, Tlen, _, _) -> - {24,Tlen,Ics,Line,48}; + {7,Tlen,Ics,Line,48}; +yystate(47, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 10, Tlen); +yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 10, Tlen); +yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 10, Tlen); +yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 10, Tlen); yystate(47, Ics, Line, Tlen, _, _) -> - {1,Tlen,Ics,Line}; -yystate(46, [101|Ics], Line, Tlen, _, _) -> - yystate(50, Ics, Line, Tlen+1, 29, Tlen); + {10,Tlen,Ics,Line,47}; +yystate(46, [115|Ics], Line, Tlen, _, _) -> + yystate(42, Ics, Line, Tlen+1, 31, Tlen); yystate(46, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 114 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(46, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,46}; -yystate(45, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 10, Tlen); -yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 10, Tlen); -yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 10, Tlen); -yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 10, Tlen); + {31,Tlen,Ics,Line,46}; yystate(45, Ics, Line, Tlen, _, _) -> - {10,Tlen,Ics,Line,45}; -yystate(44, [108|Ics], Line, Tlen, _, _) -> - yystate(40, Ics, Line, Tlen+1, 29, Tlen); + {1,Tlen,Ics,Line}; +yystate(44, [101|Ics], Line, Tlen, _, _) -> + yystate(48, Ics, Line, Tlen+1, 31, Tlen); yystate(44, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(44, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,44}; + {31,Tlen,Ics,Line,44}; +yystate(43, [108|Ics], Line, Tlen, _, _) -> + yystate(39, Ics, Line, Tlen+1, 31, Tlen); +yystate(43, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(43, Ics, Line, Tlen, _, _) -> - {6,Tlen,Ics,Line}; -yystate(42, [107|Ics], Line, Tlen, _, _) -> - yystate(46, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,43}; +yystate(42, [101|Ics], Line, Tlen, _, _) -> + yystate(38, Ics, Line, Tlen+1, 31, Tlen); yystate(42, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 106 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 108, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(42, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,42}; -yystate(41, [108|Ics], Line, Tlen, _, _) -> - yystate(37, Ics, Line, Tlen+1, 29, Tlen); -yystate(41, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,42}; yystate(41, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,41}; -yystate(40, [115|Ics], Line, Tlen, _, _) -> - yystate(36, Ics, Line, Tlen+1, 29, Tlen); + {6,Tlen,Ics,Line}; +yystate(40, [107|Ics], Line, Tlen, _, _) -> + yystate(44, Ics, Line, Tlen+1, 31, Tlen); yystate(40, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 114 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 106 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 108, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(40, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,40}; -yystate(39, [61|Ics], Line, Tlen, _, _) -> - yystate(43, Ics, Line, Tlen+1, 4, Tlen); + {31,Tlen,Ics,Line,40}; +yystate(39, [101|Ics], Line, Tlen, _, _) -> + yystate(35, Ics, Line, Tlen+1, 31, Tlen); +yystate(39, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(39, Ics, Line, Tlen, _, _) -> - {4,Tlen,Ics,Line,39}; -yystate(38, [105|Ics], Line, Tlen, _, _) -> - yystate(42, Ics, Line, Tlen+1, 29, Tlen); -yystate(38, [101|Ics], Line, Tlen, _, _) -> - yystate(54, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,39}; yystate(38, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 23, Tlen); yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 23, Tlen); yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 104 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 23, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 23, Tlen); yystate(38, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,38}; -yystate(37, [101|Ics], Line, Tlen, _, _) -> - yystate(33, Ics, Line, Tlen+1, 29, Tlen); -yystate(37, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {23,Tlen,Ics,Line,38}; +yystate(37, [61|Ics], Line, Tlen, _, _) -> + yystate(41, Ics, Line, Tlen+1, 4, Tlen); yystate(37, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,37}; + {4,Tlen,Ics,Line,37}; +yystate(36, [105|Ics], Line, Tlen, _, _) -> + yystate(40, Ics, Line, Tlen+1, 31, Tlen); yystate(36, [101|Ics], Line, Tlen, _, _) -> - yystate(32, Ics, Line, Tlen+1, 29, Tlen); + yystate(52, Ics, Line, Tlen+1, 31, Tlen); yystate(36, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 104 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(36, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,36}; + {31,Tlen,Ics,Line,36}; +yystate(35, [99|Ics], Line, Tlen, _, _) -> + yystate(31, Ics, Line, Tlen+1, 31, Tlen); +yystate(35, [97|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(35, [98|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(35, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 100, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(35, Ics, Line, Tlen, _, _) -> - {13,Tlen,Ics,Line}; + {31,Tlen,Ics,Line,35}; +yystate(34, [111|Ics], Line, Tlen, _, _) -> + yystate(30, Ics, Line, Tlen+1, 31, Tlen); yystate(34, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 18, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 18, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 18, Tlen); -yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 18, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(34, Ics, Line, Tlen, _, _) -> - {18,Tlen,Ics,Line,34}; -yystate(33, [99|Ics], Line, Tlen, _, _) -> - yystate(29, Ics, Line, Tlen+1, 29, Tlen); -yystate(33, [97|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(33, [98|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(33, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 100, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,34}; yystate(33, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,33}; + {13,Tlen,Ics,Line}; yystate(32, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 21, Tlen); + yystate(75, Ics, Line, Tlen+1, 20, Tlen); yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 21, Tlen); + yystate(75, Ics, Line, Tlen+1, 20, Tlen); yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 21, Tlen); + yystate(75, Ics, Line, Tlen+1, 20, Tlen); yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 21, Tlen); + yystate(75, Ics, Line, Tlen+1, 20, Tlen); yystate(32, Ics, Line, Tlen, _, _) -> - {21,Tlen,Ics,Line,32}; + {20,Tlen,Ics,Line,32}; +yystate(31, [116|Ics], Line, Tlen, _, _) -> + yystate(27, Ics, Line, Tlen+1, 31, Tlen); +yystate(31, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(31, Ics, Line, Tlen, _, _) -> - {14,Tlen,Ics,Line}; -yystate(30, [116|Ics], Line, Tlen, _, _) -> - yystate(34, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,31}; +yystate(30, [117|Ics], Line, Tlen, _, _) -> + yystate(26, Ics, Line, Tlen+1, 31, Tlen); yystate(30, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(30, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,30}; -yystate(29, [116|Ics], Line, Tlen, _, _) -> - yystate(25, Ics, Line, Tlen+1, 29, Tlen); -yystate(29, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,30}; yystate(29, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,29}; -yystate(28, [111|Ics], Line, Tlen, _, _) -> - yystate(24, Ics, Line, Tlen+1, 29, Tlen); + {14,Tlen,Ics,Line}; +yystate(28, [116|Ics], Line, Tlen, _, _) -> + yystate(32, Ics, Line, Tlen+1, 31, Tlen); yystate(28, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(28, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,28}; + {31,Tlen,Ics,Line,28}; yystate(27, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 16, Tlen); + yystate(75, Ics, Line, Tlen+1, 25, Tlen); yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 16, Tlen); + yystate(75, Ics, Line, Tlen+1, 25, Tlen); yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 16, Tlen); + yystate(75, Ics, Line, Tlen+1, 25, Tlen); yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 16, Tlen); + yystate(75, Ics, Line, Tlen+1, 25, Tlen); yystate(27, Ics, Line, Tlen, _, _) -> - {16,Tlen,Ics,Line,27}; -yystate(26, [111|Ics], Line, Tlen, _, _) -> - yystate(30, Ics, Line, Tlen+1, 29, Tlen); + {25,Tlen,Ics,Line,27}; +yystate(26, [110|Ics], Line, Tlen, _, _) -> + yystate(22, Ics, Line, Tlen+1, 31, Tlen); yystate(26, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(26, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,26}; + {31,Tlen,Ics,Line,26}; yystate(25, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 23, Tlen); + yystate(75, Ics, Line, Tlen+1, 18, Tlen); yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 23, Tlen); + yystate(75, Ics, Line, Tlen+1, 18, Tlen); yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 23, Tlen); + yystate(75, Ics, Line, Tlen+1, 18, Tlen); yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 23, Tlen); + yystate(75, Ics, Line, Tlen+1, 18, Tlen); yystate(25, Ics, Line, Tlen, _, _) -> - {23,Tlen,Ics,Line,25}; -yystate(24, [117|Ics], Line, Tlen, _, _) -> - yystate(20, Ics, Line, Tlen+1, 29, Tlen); + {18,Tlen,Ics,Line,25}; +yystate(24, [111|Ics], Line, Tlen, _, _) -> + yystate(28, Ics, Line, Tlen+1, 31, Tlen); yystate(24, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(24, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,24}; -yystate(23, [100|Ics], Line, Tlen, _, _) -> - yystate(27, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,24}; +yystate(23, [105|Ics], Line, Tlen, _, _) -> + yystate(19, Ics, Line, Tlen+1, 31, Tlen); yystate(23, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 99 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 101, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(23, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,23}; + {31,Tlen,Ics,Line,23}; +yystate(22, [116|Ics], Line, Tlen, _, _) -> + yystate(18, Ics, Line, Tlen+1, 31, Tlen); yystate(22, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 17, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 17, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 17, Tlen); -yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 17, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(22, Ics, Line, Tlen, _, _) -> - {17,Tlen,Ics,Line,22}; -yystate(21, [105|Ics], Line, Tlen, _, _) -> - yystate(17, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,22}; +yystate(21, [100|Ics], Line, Tlen, _, _) -> + yystate(25, Ics, Line, Tlen+1, 31, Tlen); yystate(21, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 99 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 101, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(21, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,21}; -yystate(20, [110|Ics], Line, Tlen, _, _) -> - yystate(16, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,21}; yystate(20, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 19, Tlen); yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 19, Tlen); yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 19, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 19, Tlen); yystate(20, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,20}; -yystate(19, [110|Ics], Line, Tlen, _, _) -> - yystate(23, Ics, Line, Tlen+1, 29, Tlen); + {19,Tlen,Ics,Line,20}; +yystate(19, [103|Ics], Line, Tlen, _, _) -> + yystate(15, Ics, Line, Tlen+1, 31, Tlen); yystate(19, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 102 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 104, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(19, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,19}; -yystate(18, [114|Ics], Line, Tlen, _, _) -> - yystate(22, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,19}; yystate(18, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 9, Tlen); yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 9, Tlen); yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 9, Tlen); +yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 9, Tlen); yystate(18, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,18}; -yystate(17, [103|Ics], Line, Tlen, _, _) -> - yystate(13, Ics, Line, Tlen+1, 29, Tlen); + {9,Tlen,Ics,Line,18}; yystate(17, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 17, Tlen); yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 17, Tlen); yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 102 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 104, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 17, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 17, Tlen); yystate(17, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,17}; -yystate(16, [116|Ics], Line, Tlen, _, _) -> - yystate(12, Ics, Line, Tlen+1, 29, Tlen); + {17,Tlen,Ics,Line,17}; +yystate(16, [114|Ics], Line, Tlen, _, _) -> + yystate(20, Ics, Line, Tlen+1, 31, Tlen); yystate(16, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(16, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,16}; + {31,Tlen,Ics,Line,16}; +yystate(15, [104|Ics], Line, Tlen, _, _) -> + yystate(11, Ics, Line, Tlen+1, 31, Tlen); yystate(15, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 22, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 22, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 22, Tlen); -yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 22, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(15, Ics, Line, Tlen, _, _) -> - {22,Tlen,Ics,Line,15}; + {31,Tlen,Ics,Line,15}; +yystate(14, [101|Ics], Line, Tlen, _, _) -> + yystate(10, Ics, Line, Tlen+1, 31, Tlen); +yystate(14, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(14, Ics, Line, Tlen, _, _) -> - {28,Tlen,Ics,Line}; -yystate(13, [104|Ics], Line, Tlen, _, _) -> - yystate(9, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,14}; +yystate(13, [115|Ics], Line, Tlen, _, _) -> + yystate(17, Ics, Line, Tlen+1, 31, Tlen); +yystate(13, [110|Ics], Line, Tlen, _, _) -> + yystate(21, Ics, Line, Tlen+1, 31, Tlen); yystate(13, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 114 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(13, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,13}; -yystate(12, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 9, Tlen); -yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 9, Tlen); -yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 9, Tlen); -yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 9, Tlen); + {31,Tlen,Ics,Line,13}; yystate(12, Ics, Line, Tlen, _, _) -> - {9,Tlen,Ics,Line,12}; -yystate(11, [110|Ics], Line, Tlen, _, _) -> - yystate(15, Ics, Line, Tlen+1, 29, Tlen); + {30,Tlen,Ics,Line}; +yystate(11, [116|Ics], Line, Tlen, _, _) -> + yystate(7, Ics, Line, Tlen+1, 31, Tlen); yystate(11, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(11, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,11}; -yystate(10, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(14, Ics, Line, Tlen+1, Action, Alen); -yystate(10, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,10}; -yystate(9, [116|Ics], Line, Tlen, _, _) -> - yystate(5, Ics, Line, Tlen+1, 29, Tlen); + {31,Tlen,Ics,Line,11}; +yystate(10, [116|Ics], Line, Tlen, _, _) -> + yystate(6, Ics, Line, Tlen+1, 31, Tlen); +yystate(10, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(10, Ics, Line, Tlen, _, _) -> + {31,Tlen,Ics,Line,10}; yystate(9, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 24, Tlen); yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 24, Tlen); yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 24, Tlen); +yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 24, Tlen); yystate(9, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,9}; -yystate(8, [101|Ics], Line, Tlen, _, _) -> - yystate(4, Ics, Line, Tlen+1, 29, Tlen); -yystate(8, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(8, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,8}; -yystate(7, [101|Ics], Line, Tlen, _, _) -> - yystate(11, Ics, Line, Tlen+1, 29, Tlen); + {24,Tlen,Ics,Line,9}; +yystate(8, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(12, Ics, Line, Tlen+1, Action, Alen); +yystate(8, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,8}; yystate(7, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(7, [32|Ics], Line, Tlen, _, _) -> + yystate(3, Ics, Line, Tlen+1, 31, Tlen); yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(7, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,7}; -yystate(6, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(10, Ics, Line, Tlen+1, Action, Alen); -yystate(6, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,6}; + {31,Tlen,Ics,Line,7}; +yystate(6, [119|Ics], Line, Tlen, _, _) -> + yystate(2, Ics, Line, Tlen+1, 31, Tlen); +yystate(6, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 118 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 120, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(6, Ics, Line, Tlen, _, _) -> + {31,Tlen,Ics,Line,6}; +yystate(5, [110|Ics], Line, Tlen, _, _) -> + yystate(9, Ics, Line, Tlen+1, 31, Tlen); yystate(5, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(5, [32|Ics], Line, Tlen, _, _) -> - yystate(1, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); yystate(5, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,5}; -yystate(4, [116|Ics], Line, Tlen, _, _) -> - yystate(0, Ics, Line, Tlen+1, 29, Tlen); -yystate(4, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(4, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,4}; -yystate(3, [101|Ics], Line, Tlen, _, _) -> - yystate(7, Ics, Line, Tlen+1, 29, Tlen); -yystate(3, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(3, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,3}; -yystate(2, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(6, Ics, Line, Tlen+1, Action, Alen); -yystate(2, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,2}; -yystate(1, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(2, Ics, Line, Tlen+1, Action, Alen); -yystate(1, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,1}; -yystate(0, [119|Ics], Line, Tlen, _, _) -> - yystate(3, Ics, Line, Tlen+1, 29, Tlen); -yystate(0, [95|Ics], Line, Tlen, _, _) -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 118 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 120, C =< 122 -> - yystate(73, Ics, Line, Tlen+1, 29, Tlen); -yystate(0, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line,0}; + {31,Tlen,Ics,Line,5}; +yystate(4, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(8, Ics, Line, Tlen+1, Action, Alen); +yystate(4, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,4}; +yystate(3, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(0, Ics, Line, Tlen+1, Action, Alen); +yystate(3, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,3}; +yystate(2, [101|Ics], Line, Tlen, _, _) -> + yystate(1, Ics, Line, Tlen+1, 31, Tlen); +yystate(2, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(2, Ics, Line, Tlen, _, _) -> + {31,Tlen,Ics,Line,2}; +yystate(1, [101|Ics], Line, Tlen, _, _) -> + yystate(5, Ics, Line, Tlen+1, 31, Tlen); +yystate(1, [95|Ics], Line, Tlen, _, _) -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(1, Ics, Line, Tlen, _, _) -> + {31,Tlen,Ics,Line,1}; +yystate(0, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(4, Ics, Line, Tlen+1, Action, Alen); +yystate(0, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,0}; yystate(S, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,S}. @@ -1451,8 +1469,8 @@ yyaction(14, _, _, TokenLine) -> yyaction_14(TokenLine); yyaction(15, _, _, TokenLine) -> yyaction_15(TokenLine); -yyaction(16, _, _, TokenLine) -> - yyaction_16(TokenLine); +yyaction(16, _, _, _) -> + yyaction_16(); yyaction(17, _, _, TokenLine) -> yyaction_17(TokenLine); yyaction(18, _, _, TokenLine) -> @@ -1477,17 +1495,21 @@ yyaction(27, _, _, TokenLine) -> yyaction_27(TokenLine); yyaction(28, _, _, TokenLine) -> yyaction_28(TokenLine); -yyaction(29, TokenLen, YYtcs, TokenLine) -> - TokenChars = yypre(YYtcs, TokenLen), - yyaction_29(TokenChars, TokenLine); -yyaction(30, TokenLen, YYtcs, TokenLine) -> - TokenChars = yypre(YYtcs, TokenLen), - yyaction_30(TokenChars, TokenLine); +yyaction(29, _, _, TokenLine) -> + yyaction_29(TokenLine); +yyaction(30, _, _, TokenLine) -> + yyaction_30(TokenLine); yyaction(31, TokenLen, YYtcs, TokenLine) -> TokenChars = yypre(YYtcs, TokenLen), yyaction_31(TokenChars, TokenLine); -yyaction(32, _, _, _) -> - yyaction_32(); +yyaction(32, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_32(TokenChars, TokenLine); +yyaction(33, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_33(TokenChars, TokenLine); +yyaction(34, _, _, _) -> + yyaction_34(); yyaction(_, _, _, _) -> error. -compile({inline,yyaction_0/2}). @@ -1568,91 +1590,101 @@ yyaction_14(TokenLine) -> -compile({inline,yyaction_15/1}). -file("src/build_query_lexer.xrl", 33). yyaction_15(TokenLine) -> - { token, { '.', TokenLine } } . + { token, { dot, TokenLine } } . --compile({inline,yyaction_16/1}). --file("src/build_query_lexer.xrl", 36). -yyaction_16(TokenLine) -> - { token, { boolean_mult, TokenLine } } . +-compile({inline,yyaction_16/0}). +-file("src/build_query_lexer.xrl", 34). +yyaction_16() -> + skip_token . -compile({inline,yyaction_17/1}). -file("src/build_query_lexer.xrl", 37). yyaction_17(TokenLine) -> - { token, { boolean_add, TokenLine } } . + { token, { as, TokenLine } } . -compile({inline,yyaction_18/1}). -file("src/build_query_lexer.xrl", 38). yyaction_18(TokenLine) -> - { token, { boolean_negate, TokenLine } } . + { token, { boolean_mult, TokenLine } } . -compile({inline,yyaction_19/1}). -file("src/build_query_lexer.xrl", 39). yyaction_19(TokenLine) -> - { token, { where, TokenLine } } . + { token, { boolean_add, TokenLine } } . -compile({inline,yyaction_20/1}). -file("src/build_query_lexer.xrl", 40). yyaction_20(TokenLine) -> - { token, { true, TokenLine } } . + { token, { boolean_negate, TokenLine } } . -compile({inline,yyaction_21/1}). -file("src/build_query_lexer.xrl", 41). yyaction_21(TokenLine) -> - { token, { false, TokenLine } } . + { token, { where, TokenLine } } . -compile({inline,yyaction_22/1}). -file("src/build_query_lexer.xrl", 42). yyaction_22(TokenLine) -> - { token, { between, TokenLine } } . + { token, { true, TokenLine } } . -compile({inline,yyaction_23/1}). -file("src/build_query_lexer.xrl", 43). yyaction_23(TokenLine) -> - { token, { select, TokenLine } } . + { token, { false, TokenLine } } . -compile({inline,yyaction_24/1}). -file("src/build_query_lexer.xrl", 44). yyaction_24(TokenLine) -> - { token, { from, TokenLine } } . + { token, { between, TokenLine } } . -compile({inline,yyaction_25/1}). -file("src/build_query_lexer.xrl", 45). yyaction_25(TokenLine) -> - { token, { join, TokenLine } } . + { token, { select, TokenLine } } . -compile({inline,yyaction_26/1}). -file("src/build_query_lexer.xrl", 46). yyaction_26(TokenLine) -> - { token, { join, TokenLine } } . + { token, { from, TokenLine } } . -compile({inline,yyaction_27/1}). -file("src/build_query_lexer.xrl", 47). yyaction_27(TokenLine) -> - { token, { left_join, TokenLine } } . + { token, { join, TokenLine } } . -compile({inline,yyaction_28/1}). -file("src/build_query_lexer.xrl", 48). yyaction_28(TokenLine) -> + { token, { join, TokenLine } } . + +-compile({inline,yyaction_29/1}). +-file("src/build_query_lexer.xrl", 49). +yyaction_29(TokenLine) -> + { token, { left_join, TokenLine } } . + +-compile({inline,yyaction_30/1}). +-file("src/build_query_lexer.xrl", 50). +yyaction_30(TokenLine) -> { token, { right_join, TokenLine } } . --compile({inline,yyaction_29/2}). --file("src/build_query_lexer.xrl", 51). -yyaction_29(TokenChars, TokenLine) -> +-compile({inline,yyaction_31/2}). +-file("src/build_query_lexer.xrl", 53). +yyaction_31(TokenChars, TokenLine) -> { token, { identifier, TokenLine, TokenChars } } . --compile({inline,yyaction_30/2}). --file("src/build_query_lexer.xrl", 53). -yyaction_30(TokenChars, TokenLine) -> +-compile({inline,yyaction_32/2}). +-file("src/build_query_lexer.xrl", 55). +yyaction_32(TokenChars, TokenLine) -> { token, { quoted, TokenLine, TokenChars } } . --compile({inline,yyaction_31/2}). --file("src/build_query_lexer.xrl", 54). -yyaction_31(TokenChars, TokenLine) -> +-compile({inline,yyaction_33/2}). +-file("src/build_query_lexer.xrl", 56). +yyaction_33(TokenChars, TokenLine) -> { token, { quoted, TokenLine, TokenChars } } . --compile({inline,yyaction_32/0}). --file("src/build_query_lexer.xrl", 57). -yyaction_32() -> +-compile({inline,yyaction_34/0}). +-file("src/build_query_lexer.xrl", 59). +yyaction_34() -> skip_token . -file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/leexinc.hrl", 313). diff --git a/src/build_query_lexer.xrl b/src/build_query_lexer.xrl index 2adefcc..6bb129a 100644 --- a/src/build_query_lexer.xrl +++ b/src/build_query_lexer.xrl @@ -32,9 +32,11 @@ sum : {token, {aggregate, TokenLine, sum}}. \] : {token, {']', TokenLine}}. %% arithmetic operators -\. : {token, {'.', TokenLine}}. +\. : {token, {dot, TokenLine}}. +\, : skip_token. %% Reserver keywords +as : {token, {as, TokenLine}}. and : {token, {boolean_mult, TokenLine}}. or : {token, {boolean_add, TokenLine}}. not : {token, {boolean_negate, TokenLine}}. diff --git a/src/build_query_parser.erl b/src/build_query_parser.erl index 2ed1e49..23be37d 100644 --- a/src/build_query_parser.erl +++ b/src/build_query_parser.erl @@ -1,6 +1,6 @@ -module(build_query_parser). -export([parse/1, parse_and_scan/1, format_error/1]). --file("src/build_query_parser.yrl", 31). +-file("src/build_query_parser.yrl", 34). -import(string,[len/1, sub_string/3]). @@ -205,51 +205,51 @@ yeccpars2(2=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2(5=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_5(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(6=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_6(S, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(7=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_7(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(8=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_8(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(8=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_8(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(9=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(10=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(11=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_11(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(12=S, Cat, Ss, Stack, T, Ts, Tzr) -> +yeccpars2(10=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(13=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_13(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(14=S, Cat, Ss, Stack, T, Ts, Tzr) -> +yeccpars2(11=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(12=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(13=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_13(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(14=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_14(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(15=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_15(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(16=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_16(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(17=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_17(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(18=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(17=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_17(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(18=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(19=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_19(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(20=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(20=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(21=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_21(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(22=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_22(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(22=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(23=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_23(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(24=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(25=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(26=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(24=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_24(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(25=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_25(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(26=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_26(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(27=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_27(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(28=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_28(S, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(29=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_29(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(30=S, Cat, Ss, Stack, T, Ts, Tzr) -> @@ -279,10 +279,12 @@ yeccpars2_1(_, _, _, _, T, _, _) -> -compile({nowarn_unused_function, yeccpars2_2/7}). yeccpars2_2(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 5, Ss, Stack, T, Ts, Tzr); -yeccpars2_2(S, 'number', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_2(S, 'left_paren', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 6, Ss, Stack, T, Ts, Tzr); -yeccpars2_2(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_2(S, 'number', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 7, Ss, Stack, T, Ts, Tzr); +yeccpars2_2(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 8, Ss, Stack, T, Ts, Tzr); yeccpars2_2(_, _, _, _, T, _, _) -> yeccerror(T). @@ -290,31 +292,37 @@ yeccpars2_2(_, _, _, _, T, _, _) -> -compile({nowarn_unused_function, yeccpars2_3/7}). yeccpars2_3(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 5, Ss, Stack, T, Ts, Tzr); -yeccpars2_3(S, 'number', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_3(S, 'left_paren', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 6, Ss, Stack, T, Ts, Tzr); -yeccpars2_3(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_3(S, 'number', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 7, Ss, Stack, T, Ts, Tzr); +yeccpars2_3(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 8, Ss, Stack, T, Ts, Tzr); yeccpars2_3(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_3_(Stack), - yeccpars2_8(8, Cat, [3 | Ss], NewStack, T, Ts, Tzr). + yeccpars2_19(19, Cat, [3 | Ss], NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_4/7}). -compile({nowarn_unused_function, yeccpars2_4/7}). +yeccpars2_4(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_4(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_4(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); yeccpars2_4(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_4_(Stack), yeccgoto_select_opts(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_5/7}). -compile({nowarn_unused_function, yeccpars2_5/7}). +yeccpars2_5(S, 'dot', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 17, Ss, Stack, T, Ts, Tzr); yeccpars2_5(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_5_(Stack), yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). --dialyzer({nowarn_function, yeccpars2_6/7}). --compile({nowarn_unused_function, yeccpars2_6/7}). -yeccpars2_6(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - NewStack = yeccpars2_6_(Stack), - yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). +%% yeccpars2_6: see yeccpars2_2 -dialyzer({nowarn_function, yeccpars2_7/7}). -compile({nowarn_unused_function, yeccpars2_7/7}). @@ -324,207 +332,236 @@ yeccpars2_7(_S, Cat, Ss, Stack, T, Ts, Tzr) -> -dialyzer({nowarn_function, yeccpars2_8/7}). -compile({nowarn_unused_function, yeccpars2_8/7}). -yeccpars2_8(S, 'from', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); yeccpars2_8(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_|Nss] = Ss, NewStack = yeccpars2_8_(Stack), - yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_9/7}). -compile({nowarn_unused_function, yeccpars2_9/7}). -yeccpars2_9(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - NewStack = yeccpars2_9_(Stack), - yeccgoto_select_expr_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). - --dialyzer({nowarn_function, yeccpars2_10/7}). --compile({nowarn_unused_function, yeccpars2_10/7}). -yeccpars2_10(S, 'as', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_9(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_9(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_9(S, 'operator', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); -yeccpars2_10(_, _, _, _, T, _, _) -> +yeccpars2_9(S, 'right_paren', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 13, Ss, Stack, T, Ts, Tzr); +yeccpars2_9(_, _, _, _, T, _, _) -> yeccerror(T). --dialyzer({nowarn_function, yeccpars2_11/7}). --compile({nowarn_unused_function, yeccpars2_11/7}). -yeccpars2_11(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_|Nss] = Ss, - NewStack = yeccpars2_11_(Stack), - yeccgoto_select_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). +%% yeccpars2_10: see yeccpars2_2 + +%% yeccpars2_11: see yeccpars2_2 %% yeccpars2_12: see yeccpars2_2 -dialyzer({nowarn_function, yeccpars2_13/7}). -compile({nowarn_unused_function, yeccpars2_13/7}). yeccpars2_13(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_|Nss] = Ss, + [_,_|Nss] = Ss, NewStack = yeccpars2_13_(Stack), - yeccgoto_opt_as_alias(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). - -%% yeccpars2_14: see yeccpars2_2 + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_14/7}). +-compile({nowarn_unused_function, yeccpars2_14/7}). +yeccpars2_14(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_14(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_14(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); +yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, + NewStack = yeccpars2_14_(Stack), + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_15/7}). -compile({nowarn_unused_function, yeccpars2_15/7}). -yeccpars2_15(S, 'where', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 20, Ss, Stack, T, Ts, Tzr); +yeccpars2_15(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_15(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_15(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, NewStack = yeccpars2_15_(Stack), - yeccpars2_19(_S, Cat, [15 | Ss], NewStack, T, Ts, Tzr). + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_16/7}). -compile({nowarn_unused_function, yeccpars2_16/7}). +yeccpars2_16(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_16(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_16(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, NewStack = yeccpars2_16_(Stack), - yeccgoto_table_references(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_17/7}). -compile({nowarn_unused_function, yeccpars2_17/7}). -yeccpars2_17(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - NewStack = yeccpars2_17_(Stack), - yeccgoto_table_reference(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). +yeccpars2_17(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 18, Ss, Stack, T, Ts, Tzr); +yeccpars2_17(_, _, _, _, T, _, _) -> + yeccerror(T). -dialyzer({nowarn_function, yeccpars2_18/7}). -compile({nowarn_unused_function, yeccpars2_18/7}). yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, NewStack = yeccpars2_18_(Stack), - yeccgoto_table_factor(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_19/7}). -compile({nowarn_unused_function, yeccpars2_19/7}). +yeccpars2_19(S, 'from', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 22, Ss, Stack, T, Ts, Tzr); yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_,_,_,_|Nss] = Ss, + [_,_|Nss] = Ss, NewStack = yeccpars2_19_(Stack), yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -yeccpars2_20(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 24, Ss, Stack, T, Ts, Tzr); -yeccpars2_20(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 25, Ss, Stack, T, Ts, Tzr); -yeccpars2_20(S, 'left_paren', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 26, Ss, Stack, T, Ts, Tzr); -yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr). +-dialyzer({nowarn_function, yeccpars2_20/7}). +-compile({nowarn_unused_function, yeccpars2_20/7}). +yeccpars2_20(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_20_(Stack), + yeccgoto_select_expr_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_21/7}). -compile({nowarn_unused_function, yeccpars2_21/7}). +yeccpars2_21(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_21(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_21(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_|Nss] = Ss, NewStack = yeccpars2_21_(Stack), - yeccgoto_opt_where(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccgoto_select_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). --dialyzer({nowarn_function, yeccpars2_22/7}). --compile({nowarn_unused_function, yeccpars2_22/7}). -yeccpars2_22(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 31, Ss, Stack, T, Ts, Tzr); -yeccpars2_22(_, _, _, _, T, _, _) -> - yeccerror(T). +%% yeccpars2_22: see yeccpars2_2 -dialyzer({nowarn_function, yeccpars2_23/7}). -compile({nowarn_unused_function, yeccpars2_23/7}). +yeccpars2_23(S, 'where', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 31, Ss, Stack, T, Ts, Tzr); yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_23_(Stack), - yeccgoto_opt_where_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccpars2_30(_S, Cat, [23 | Ss], NewStack, T, Ts, Tzr). -%% yeccpars2_24: see yeccpars2_2 +-dialyzer({nowarn_function, yeccpars2_24/7}). +-compile({nowarn_unused_function, yeccpars2_24/7}). +yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_24_(Stack), + yeccgoto_table_references(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -%% yeccpars2_25: see yeccpars2_2 +-dialyzer({nowarn_function, yeccpars2_25/7}). +-compile({nowarn_unused_function, yeccpars2_25/7}). +yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_25_(Stack), + yeccgoto_table_reference(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -%% yeccpars2_26: see yeccpars2_20 +-dialyzer({nowarn_function, yeccpars2_26/7}). +-compile({nowarn_unused_function, yeccpars2_26/7}). +yeccpars2_26(S, 'as', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 28, Ss, Stack, T, Ts, Tzr); +yeccpars2_26(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_26(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_26(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); +yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_26_(Stack), + yeccpars2_27(_S, Cat, [26 | Ss], NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_27/7}). -compile({nowarn_unused_function, yeccpars2_27/7}). -yeccpars2_27(S, 'right_paren', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 28, Ss, Stack, T, Ts, Tzr); -yeccpars2_27(_, _, _, _, T, _, _) -> - yeccerror(T). +yeccpars2_27(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_27_(Stack), + yeccgoto_table_factor(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). --dialyzer({nowarn_function, yeccpars2_28/7}). --compile({nowarn_unused_function, yeccpars2_28/7}). -yeccpars2_28(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_|Nss] = Ss, - NewStack = yeccpars2_28_(Stack), - yeccgoto_opt_where_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). +%% yeccpars2_28: see yeccpars2_2 -dialyzer({nowarn_function, yeccpars2_29/7}). -compile({nowarn_unused_function, yeccpars2_29/7}). +yeccpars2_29(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_29(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_29(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr) -> [_|Nss] = Ss, NewStack = yeccpars2_29_(Stack), - yeccgoto_opt_where_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccgoto_opt_as_alias(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_30/7}). -compile({nowarn_unused_function, yeccpars2_30/7}). yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_|Nss] = Ss, + [_,_,_,_,_|Nss] = Ss, NewStack = yeccpars2_30_(Stack), - yeccgoto_opt_where_list(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). %% yeccpars2_31: see yeccpars2_2 -dialyzer({nowarn_function, yeccpars2_32/7}). -compile({nowarn_unused_function, yeccpars2_32/7}). +yeccpars2_32(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); +yeccpars2_32(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); +yeccpars2_32(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); yeccpars2_32(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_|Nss] = Ss, + [_|Nss] = Ss, NewStack = yeccpars2_32_(Stack), - yeccgoto_binary_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). - --dialyzer({nowarn_function, yeccgoto_binary_expr/7}). --compile({nowarn_unused_function, yeccgoto_binary_expr/7}). -yeccgoto_binary_expr(20=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_binary_expr(24=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_binary_expr(25=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_binary_expr(26=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr). + yeccgoto_opt_where(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_expr/7}). -compile({nowarn_unused_function, yeccgoto_expr/7}). -yeccgoto_expr(2=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_4(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(2, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_4(4, Cat, Ss, Stack, T, Ts, Tzr); yeccgoto_expr(3, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_10(10, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(12=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_13(_S, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(14=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(20, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(24, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(25, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(26, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_22(22, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(31=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_32(_S, Cat, Ss, Stack, T, Ts, Tzr). + yeccpars2_21(21, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(6, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_9(9, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(10, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_16(16, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(11, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_15(15, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(12, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_14(14, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(22, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_26(26, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(28, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(31, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_opt_as_alias/7}). -compile({nowarn_unused_function, yeccgoto_opt_as_alias/7}). -yeccgoto_opt_as_alias(10=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_11(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_opt_as_alias(26=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_27(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_opt_where/7}). -compile({nowarn_unused_function, yeccgoto_opt_where/7}). -yeccgoto_opt_where(15=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr). - --dialyzer({nowarn_function, yeccgoto_opt_where_list/7}). --compile({nowarn_unused_function, yeccgoto_opt_where_list/7}). -yeccgoto_opt_where_list(20=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_opt_where_list(26, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_opt_where(23=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_select_expr/7}). -compile({nowarn_unused_function, yeccgoto_select_expr/7}). yeccgoto_select_expr(3=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_9(_S, Cat, Ss, Stack, T, Ts, Tzr). + yeccpars2_20(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_select_expr_list/7}). -compile({nowarn_unused_function, yeccgoto_select_expr_list/7}). yeccgoto_select_expr_list(3, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_8(8, Cat, Ss, Stack, T, Ts, Tzr). + yeccpars2_19(19, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_select_opts/7}). -compile({nowarn_unused_function, yeccgoto_select_opts/7}). @@ -538,23 +575,23 @@ yeccgoto_select_stmt(0, Cat, Ss, Stack, T, Ts, Tzr) -> -dialyzer({nowarn_function, yeccgoto_table_factor/7}). -compile({nowarn_unused_function, yeccgoto_table_factor/7}). -yeccgoto_table_factor(14=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_17(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_table_factor(22=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_table_reference/7}). -compile({nowarn_unused_function, yeccgoto_table_reference/7}). -yeccgoto_table_reference(14=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_table_reference(22=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_table_references/7}). -compile({nowarn_unused_function, yeccgoto_table_references/7}). -yeccgoto_table_references(14, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_15(15, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_table_references(22, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_23(23, Cat, Ss, Stack, T, Ts, Tzr). -compile({inline,yeccpars2_3_/1}). -dialyzer({nowarn_function, yeccpars2_3_/1}). -compile({nowarn_unused_function, yeccpars2_3_/1}). --file("src/build_query_parser.yrl", 5). +-file("src/build_query_parser.yrl", 7). yeccpars2_3_(__Stack0) -> [begin nil @@ -563,7 +600,7 @@ yeccpars2_3_(__Stack0) -> -compile({inline,yeccpars2_4_/1}). -dialyzer({nowarn_function, yeccpars2_4_/1}). -compile({nowarn_unused_function, yeccpars2_4_/1}). --file("src/build_query_parser.yrl", 4). +-file("src/build_query_parser.yrl", 6). yeccpars2_4_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin @@ -573,181 +610,190 @@ yeccpars2_4_(__Stack0) -> -compile({inline,yeccpars2_5_/1}). -dialyzer({nowarn_function, yeccpars2_5_/1}). -compile({nowarn_unused_function, yeccpars2_5_/1}). --file("src/build_query_parser.yrl", 24). +-file("src/build_query_parser.yrl", 27). yeccpars2_5_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - ___1 - end | __Stack]. - --compile({inline,yeccpars2_6_/1}). --dialyzer({nowarn_function, yeccpars2_6_/1}). --compile({nowarn_unused_function, yeccpars2_6_/1}). --file("src/build_query_parser.yrl", 25). -yeccpars2_6_(__Stack0) -> - [___1 | __Stack] = __Stack0, - [begin - ___1 + extract_value(___1) end | __Stack]. -compile({inline,yeccpars2_7_/1}). -dialyzer({nowarn_function, yeccpars2_7_/1}). -compile({nowarn_unused_function, yeccpars2_7_/1}). --file("src/build_query_parser.yrl", 23). +-file("src/build_query_parser.yrl", 28). yeccpars2_7_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - ___1 + extract_value(___1) end | __Stack]. -compile({inline,yeccpars2_8_/1}). -dialyzer({nowarn_function, yeccpars2_8_/1}). -compile({nowarn_unused_function, yeccpars2_8_/1}). --file("src/build_query_parser.yrl", 1). +-file("src/build_query_parser.yrl", 26). yeccpars2_8_(__Stack0) -> - [___3,___2,___1 | __Stack] = __Stack0, - [begin - {select, ___2, ___3} - end | __Stack]. - --compile({inline,yeccpars2_9_/1}). --dialyzer({nowarn_function, yeccpars2_9_/1}). --compile({nowarn_unused_function, yeccpars2_9_/1}). --file("src/build_query_parser.yrl", 6). -yeccpars2_9_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - ___1 - end | __Stack]. - --compile({inline,yeccpars2_11_/1}). --dialyzer({nowarn_function, yeccpars2_11_/1}). --compile({nowarn_unused_function, yeccpars2_11_/1}). --file("src/build_query_parser.yrl", 7). -yeccpars2_11_(__Stack0) -> - [___2,___1 | __Stack] = __Stack0, - [begin - ___1 + {quoted, extract_value(___1)} end | __Stack]. -compile({inline,yeccpars2_13_/1}). -dialyzer({nowarn_function, yeccpars2_13_/1}). -compile({nowarn_unused_function, yeccpars2_13_/1}). --file("src/build_query_parser.yrl", 22). +-file("src/build_query_parser.yrl", 21). yeccpars2_13_(__Stack0) -> - [___2,___1 | __Stack] = __Stack0, + [___3,___2,___1 | __Stack] = __Stack0, + [begin + {grouping, ___2} + end | __Stack]. + +-compile({inline,yeccpars2_14_/1}). +-dialyzer({nowarn_function, yeccpars2_14_/1}). +-compile({nowarn_unused_function, yeccpars2_14_/1}). +-file("src/build_query_parser.yrl", 24). +yeccpars2_14_(__Stack0) -> + [___3,___2,___1 | __Stack] = __Stack0, [begin - ___2 + {extract_value(___2), ___1, ___3} end | __Stack]. -compile({inline,yeccpars2_15_/1}). -dialyzer({nowarn_function, yeccpars2_15_/1}). -compile({nowarn_unused_function, yeccpars2_15_/1}). --file("src/build_query_parser.yrl", 13). +-file("src/build_query_parser.yrl", 22). yeccpars2_15_(__Stack0) -> + [___3,___2,___1 | __Stack] = __Stack0, [begin - nil - end | __Stack0]. + {booelan_mult, ___1, ___3} + end | __Stack]. -compile({inline,yeccpars2_16_/1}). -dialyzer({nowarn_function, yeccpars2_16_/1}). -compile({nowarn_unused_function, yeccpars2_16_/1}). --file("src/build_query_parser.yrl", 9). +-file("src/build_query_parser.yrl", 23). yeccpars2_16_(__Stack0) -> - [___1 | __Stack] = __Stack0, - [begin - {from, extract_value(___1)} - end | __Stack]. - --compile({inline,yeccpars2_17_/1}). --dialyzer({nowarn_function, yeccpars2_17_/1}). --compile({nowarn_unused_function, yeccpars2_17_/1}). --file("src/build_query_parser.yrl", 10). -yeccpars2_17_(__Stack0) -> - [___1 | __Stack] = __Stack0, + [___3,___2,___1 | __Stack] = __Stack0, [begin - ___1 + {boolean_add, ___1, ___3} end | __Stack]. -compile({inline,yeccpars2_18_/1}). -dialyzer({nowarn_function, yeccpars2_18_/1}). -compile({nowarn_unused_function, yeccpars2_18_/1}). --file("src/build_query_parser.yrl", 11). +-file("src/build_query_parser.yrl", 25). yeccpars2_18_(__Stack0) -> - [___1 | __Stack] = __Stack0, + [___3,___2,___1 | __Stack] = __Stack0, [begin - ___1 + {fieldname, extract_value(___1), '.', extract_value(___3)} end | __Stack]. -compile({inline,yeccpars2_19_/1}). -dialyzer({nowarn_function, yeccpars2_19_/1}). -compile({nowarn_unused_function, yeccpars2_19_/1}). --file("src/build_query_parser.yrl", 2). +-file("src/build_query_parser.yrl", 3). yeccpars2_19_(__Stack0) -> - [___6,___5,___4,___3,___2,___1 | __Stack] = __Stack0, + [___3,___2,___1 | __Stack] = __Stack0, + [begin + {select, ___2, ___3} + end | __Stack]. + +-compile({inline,yeccpars2_20_/1}). +-dialyzer({nowarn_function, yeccpars2_20_/1}). +-compile({nowarn_unused_function, yeccpars2_20_/1}). +-file("src/build_query_parser.yrl", 8). +yeccpars2_20_(__Stack0) -> + [___1 | __Stack] = __Stack0, [begin - {select, extract_value(___2), ___3, ___5, ___6} + ___1 end | __Stack]. -compile({inline,yeccpars2_21_/1}). -dialyzer({nowarn_function, yeccpars2_21_/1}). -compile({nowarn_unused_function, yeccpars2_21_/1}). --file("src/build_query_parser.yrl", 14). +-file("src/build_query_parser.yrl", 9). yeccpars2_21_(__Stack0) -> - [___2,___1 | __Stack] = __Stack0, + [___1 | __Stack] = __Stack0, [begin - {where, ___2} + ___1 end | __Stack]. -compile({inline,yeccpars2_23_/1}). -dialyzer({nowarn_function, yeccpars2_23_/1}). -compile({nowarn_unused_function, yeccpars2_23_/1}). --file("src/build_query_parser.yrl", 19). +-file("src/build_query_parser.yrl", 15). yeccpars2_23_(__Stack0) -> + [begin + nil + end | __Stack0]. + +-compile({inline,yeccpars2_24_/1}). +-dialyzer({nowarn_function, yeccpars2_24_/1}). +-compile({nowarn_unused_function, yeccpars2_24_/1}). +-file("src/build_query_parser.yrl", 11). +yeccpars2_24_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - ___1 + {from, ___1} end | __Stack]. --compile({inline,yeccpars2_28_/1}). --dialyzer({nowarn_function, yeccpars2_28_/1}). --compile({nowarn_unused_function, yeccpars2_28_/1}). --file("src/build_query_parser.yrl", 16). -yeccpars2_28_(__Stack0) -> - [___3,___2,___1 | __Stack] = __Stack0, +-compile({inline,yeccpars2_25_/1}). +-dialyzer({nowarn_function, yeccpars2_25_/1}). +-compile({nowarn_unused_function, yeccpars2_25_/1}). +-file("src/build_query_parser.yrl", 12). +yeccpars2_25_(__Stack0) -> + [___1 | __Stack] = __Stack0, [begin - {grouping, ___2} + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_26_/1}). +-dialyzer({nowarn_function, yeccpars2_26_/1}). +-compile({nowarn_unused_function, yeccpars2_26_/1}). +-file("src/build_query_parser.yrl", 18). +yeccpars2_26_(__Stack0) -> + [begin + nil + end | __Stack0]. + +-compile({inline,yeccpars2_27_/1}). +-dialyzer({nowarn_function, yeccpars2_27_/1}). +-compile({nowarn_unused_function, yeccpars2_27_/1}). +-file("src/build_query_parser.yrl", 13). +yeccpars2_27_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + {___1, ___2} end | __Stack]. -compile({inline,yeccpars2_29_/1}). -dialyzer({nowarn_function, yeccpars2_29_/1}). -compile({nowarn_unused_function, yeccpars2_29_/1}). --file("src/build_query_parser.yrl", 17). +-file("src/build_query_parser.yrl", 19). yeccpars2_29_(__Stack0) -> [___2,___1 | __Stack] = __Stack0, [begin - {extract_token(___1), ___2} + {alias, ___2} end | __Stack]. -compile({inline,yeccpars2_30_/1}). -dialyzer({nowarn_function, yeccpars2_30_/1}). -compile({nowarn_unused_function, yeccpars2_30_/1}). --file("src/build_query_parser.yrl", 18). +-file("src/build_query_parser.yrl", 4). yeccpars2_30_(__Stack0) -> - [___2,___1 | __Stack] = __Stack0, + [___6,___5,___4,___3,___2,___1 | __Stack] = __Stack0, [begin - {extract_token(___1), ___2} + {select, ___2, ___3, ___5, ___6} end | __Stack]. -compile({inline,yeccpars2_32_/1}). -dialyzer({nowarn_function, yeccpars2_32_/1}). -compile({nowarn_unused_function, yeccpars2_32_/1}). --file("src/build_query_parser.yrl", 21). +-file("src/build_query_parser.yrl", 16). yeccpars2_32_(__Stack0) -> - [___3,___2,___1 | __Stack] = __Stack0, + [___2,___1 | __Stack] = __Stack0, [begin - {extract_value(___2), extract_value(___1), extract_value(___3)} + {where, ___2} end | __Stack]. --file("src/build_query_parser.yrl", 39). +-file("src/build_query_parser.yrl", 42). diff --git a/src/build_query_parser.yrl b/src/build_query_parser.yrl index d9a33d6..39c1926 100644 --- a/src/build_query_parser.yrl +++ b/src/build_query_parser.yrl @@ -1,32 +1,35 @@ -Nonterminals select_stmt select_opts select_expr_list select_expr table_references table_reference table_factor opt_where opt_where_list opt_as_alias grouping binary_expr expr. -Terminals identifier select from where operator number as quoted boolean_mult boolean_add left_paren right_paren. +Nonterminals select_stmt select_opts select_expr_list select_expr table_references table_reference + table_factor opt_where expr opt_as_alias. +Terminals identifier select from where operator number as quoted boolean_mult boolean_add + left_paren right_paren fieldname grouping dot. Rootsymbol select_stmt. select_stmt -> select select_opts select_expr_list : {select, '$2', '$3'}. -select_stmt -> select select_opts select_expr_list from table_references opt_where : {select, extract_value('$2'), '$3', '$5', '$6'}. +select_stmt -> select select_opts select_expr_list from table_references opt_where : {select, '$2', '$3', '$5', '$6'}. select_opts -> expr : '$1'. select_expr_list -> '$empty' : nil. select_expr_list -> select_expr : '$1'. -select_expr -> expr opt_as_alias : '$1'. +select_expr -> expr : '$1'. -table_references -> table_reference : {from, extract_value('$1')}. +table_references -> table_reference : {from, '$1'}. table_reference -> table_factor : '$1'. -table_factor -> expr : '$1'. +table_factor -> expr opt_as_alias: {'$1', '$2'}. opt_where -> '$empty' : nil. -opt_where -> where opt_where_list : {where, '$2'}. - -opt_where_list -> left_paren opt_where_list right_paren: {grouping, '$2'}. -opt_where_list -> boolean_mult binary_expr: {extract_token('$1'), '$2'}. -opt_where_list -> boolean_add binary_expr: {extract_token('$1'), '$2'}. -opt_where_list -> binary_expr: '$1'. - -binary_expr -> expr operator expr : {extract_value('$2'), extract_value('$1'), extract_value('$3')}. -opt_as_alias -> as expr : '$2'. -expr -> quoted : '$1'. -expr -> identifier : '$1'. -expr -> number : '$1'. +opt_where -> where expr : {where, '$2'}. + +opt_as_alias -> '$empty' : nil. +opt_as_alias -> as expr : {alias, '$2'}. + +expr -> left_paren expr right_paren: {grouping, '$2'}. +expr -> expr boolean_mult expr: {booelan_mult, '$1', '$3'}. +expr -> expr boolean_add expr: {boolean_add, '$1', '$3'}. +expr -> expr operator expr : {extract_value('$2'), '$1', '$3'}. +expr -> identifier dot identifier : {fieldname, extract_value('$1'), '.', extract_value('$3')}. +expr -> quoted : {quoted, extract_value('$1')}. +expr -> identifier : extract_value('$1'). +expr -> number : extract_value('$1'). Erlang code. From 605e9c7f5f67cd9a79466ff04c2b2797ee9b8dc0 Mon Sep 17 00:00:00 2001 From: Thiago Ramos Date: Wed, 30 Nov 2022 23:13:24 -0300 Subject: [PATCH 4/6] Finished simple query --- lib/query_builder.ex | 165 ++-- src/build_query_lexer.erl | 1837 ++++++++++++++++++------------------ src/build_query_lexer.xrl | 3 +- src/build_query_parser.erl | 619 ++++++------ 4 files changed, 1339 insertions(+), 1285 deletions(-) diff --git a/lib/query_builder.ex b/lib/query_builder.ex index 1f372fa..27702f6 100644 --- a/lib/query_builder.ex +++ b/lib/query_builder.ex @@ -3,105 +3,87 @@ defmodule KinoEcto.QueryBuilder do import Ecto.Query alias KinoEcto.QueryBuilder.Renderer - defmodule MyParser do - import NimbleParsec - - @alphanumeric [?a..?z, ?A..?Z, ?0..?9, ?_, ?*, ?.] - @string_prefix [?'] - - whitespace = ascii_string([?\s, ?\n], min: 1) - select_choice = choice([string("SELECT"), string("select")]) - from_choice = choice([string("FROM"), string("from")]) - join_choice = choice([string("JOIN"), string("join")]) - on_choice = choice([string("ON"), string("on")]) - where_choice = choice([string("WHERE"), string("where")]) - comparisson_choice = choice([string("="), string(">="), string("<="), string("<>")]) - - from_part = - select_choice - |> ignore(whitespace) - |> ascii_string(@alphanumeric, min: 1) - |> ignore(whitespace) - |> optional(from_choice) - |> ignore(whitespace) - |> optional(ascii_string(@alphanumeric, min: 1)) - - join_part = - ignore(from_part) - |> ignore(whitespace) - |> optional(join_choice) - |> ignore(whitespace) - |> ascii_string(@alphanumeric, min: 1) - |> ignore(whitespace) - |> optional(on_choice) - |> ignore(whitespace) - |> ascii_string(@alphanumeric, min: 1) - |> ignore(whitespace) - |> string("=") - |> ignore(whitespace) - |> ascii_string(@alphanumeric, min: 1) - |> optional(ignore(whitespace)) - - where_part = - ignore(from_part) - |> optional(ignore(join_part)) - |> ignore(whitespace) - |> optional(where_choice) - |> ignore(whitespace) - |> ascii_string(@alphanumeric, min: 1) - |> ignore(whitespace) - |> optional(comparisson_choice) - |> ignore(whitespace) - |> optional(ascii_string(@string_prefix, min: 0, max: 1)) - |> ascii_string(@alphanumeric, min: 1) - |> optional(ascii_string(@string_prefix, min: 0, max: 1)) - - defparsec(:from_part, from_part) - defparsec(:join_part, optional(join_part)) - defparsec(:where_part, where_part) + defmodule Customer do + use Ecto.Schema + + import Ecto.Query + + schema "customers" do + field(:name, :string) + field(:age, :string) + end end - def test(query) do - from_part = MyParser.from_part(query) - join_part = MyParser.join_part(query) - where_part = MyParser.where_part(query) + # def call(%__MODULE__{sql_query: query}) do + # query = String.downcase(query) + # {:ok, tokens, _} = :build_query_lexer.string(query) + # {:ok, ast} = :build_query_parser.parse(tokens) + # ast + # end - [elem(from_part, 1), elem(join_part, 1), elem(where_part, 1)] + defmodule KinoEcto.QueryBuilder.Node do + defstruct [:name, :value, :lhs, :rhs] end - def call(%__MODULE__{sql_query: query}) do - from_part = MyParser.from_part(query) - join_part = MyParser.join_part(query) - where_part = MyParser.where_part(query) + def call(query) do + query = + query + |> String.downcase() + |> String.to_charlist() + + {:ok, tokens, _} = :build_query_lexer.string(query) + {:ok, ast} = :build_query_parser.parse(tokens) - from = elem(from_part, 1) - join_part = elem(join_part, 1) - where_part = elem(where_part, 1) - # [, elem(join_part, 1), elem(where_part, 1)] + ast + |> cleanup() + |> build_query() - build_from(from) - |> build_join(join_part) - |> build_where(where_part) - |> Renderer.call() + # [:select, [:fields, [:all]], [:from, ["customers"]]] + # [:select, [:fields, ["name", "age"]], [:from, ["customers"]]] end - defp build_from(from_part) do - result = %Ecto.Query{ - from: %Ecto.Query.FromExpr{ - source: get_source(List.last(from_part)) - } - } + defp cleanup(ast) when is_tuple(ast) do + ast + |> Tuple.to_list() + |> Enum.map(&cleanup/1) + |> Enum.reject(&is_nil/1) + end - Ecto.Query.from(result) + defp cleanup(ast) when is_list(ast), do: to_string(ast) + defp cleanup(ast), do: ast + + defp build_query(ast) do + ast + |> Enum.reduce(%Ecto.Query{}, fn item, acc -> + acc = do_build_query(item, acc) + acc + end) end - defp build_join(query, []), do: query + defp do_build_query(:select, query), do: query + + defp do_build_query([:fields, fields], query) do + flatten_fields = List.flatten(fields) |> Enum.map(&String.to_atom/1) - defp build_join(query, _join_part) do query + |> select(^flatten_fields) end - defp build_where(query, []), do: query + defp do_build_query([:from, [table]], query) do + query + |> build_from(table) + end + + defp build_from(query, from_part) do + result = %{ + query + | from: %Ecto.Query.FromExpr{ + source: get_source(from_part) + } + } + + result + end defp build_where(query, [_where, field_name, "=" | tail]) do tail = tail |> Enum.join() |> String.replace("'", "") @@ -114,6 +96,7 @@ defmodule KinoEcto.QueryBuilder do {:ok, modules} = :application.get_key(:kino_ecto, :modules) modules + |> Enum.reject(fn item -> item == :build_query_lexer || item == :build_query_parser end) |> Enum.filter(&({:__schema__, 1} in &1.__info__(:functions))) |> Enum.find(fn module -> module.__schema__(:source) == table_name end) |> then(fn schema -> {table_name, schema} end) @@ -149,14 +132,14 @@ defmodule KinoEcto.QueryBuilder do # %Ecto.Query.BooleanExpr{ # end - # defp get_source(table_name) do - # {:ok, modules} = :application.get_key(:kino_ecto, :modules) + # defp get_source(table_name) do + # {:ok, modules} = :application.get_key(:kino_ecto, :modules) - # modules - # |> Enum.filter(&({:__schema__, 1} in &1.__info__(:functions))) - # |> Enum.find(fn module -> module.__schema__(:source) == table_name end) - # |> IO.inspect() - # |> then(fn schema -> {table_name, schema} end) - # end + # modules + # |> Enum.filter(&({:__schema__, 1} in &1.__info__(:functions))) + # |> Enum.find(fn module -> module.__schema__(:source) == table_name end) + # |> IO.inspect() + # |> then(fn schema -> {table_name, schema} end) + # end # end end diff --git a/src/build_query_lexer.erl b/src/build_query_lexer.erl index 7edda2d..f5ac7bd 100644 --- a/src/build_query_lexer.erl +++ b/src/build_query_lexer.erl @@ -12,7 +12,7 @@ -export([format_error/1]). %% User code. This is placed here to allow extra attributes. --file("src/build_query_lexer.xrl", 63). +-file("src/build_query_lexer.xrl", 64). oid(Oid) -> S = tl(lists:droplast(Oid)), @@ -311,1122 +311,1126 @@ adjust_line(T, A, [_|Cs], L) -> %% input. -file("src/build_query_lexer.erl", 312). -yystate() -> 99. - -yystate(102, [110|Ics], Line, Tlen, _, _) -> - yystate(98, Ics, Line, Tlen+1, 8, Tlen); -yystate(102, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 8, Tlen); -yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 8, Tlen); -yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 8, Tlen); -yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(75, Ics, Line, Tlen+1, 8, Tlen); -yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 8, Tlen); +yystate() -> 100. + +yystate(103, [110|Ics], Line, Tlen, _, _) -> + yystate(101, Ics, Line, Tlen+1, 8, Tlen); +yystate(103, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 8, Tlen); +yystate(103, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 8, Tlen); +yystate(103, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 8, Tlen); +yystate(103, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(76, Ics, Line, Tlen+1, 8, Tlen); +yystate(103, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 8, Tlen); +yystate(103, Ics, Line, Tlen, _, _) -> + {8,Tlen,Ics,Line,103}; +yystate(102, [32|Ics], Line, Tlen, _, _) -> + yystate(102, Ics, Line, Tlen+1, 35, Tlen); +yystate(102, [13|Ics], Line, Tlen, _, _) -> + yystate(102, Ics, Line, Tlen+1, 35, Tlen); +yystate(102, [9|Ics], Line, Tlen, _, _) -> + yystate(102, Ics, Line, Tlen+1, 35, Tlen); +yystate(102, [10|Ics], Line, Tlen, _, _) -> + yystate(102, Ics, Line+1, Tlen+1, 35, Tlen); yystate(102, Ics, Line, Tlen, _, _) -> - {8,Tlen,Ics,Line,102}; -yystate(101, [32|Ics], Line, Tlen, _, _) -> - yystate(101, Ics, Line, Tlen+1, 34, Tlen); -yystate(101, [13|Ics], Line, Tlen, _, _) -> - yystate(101, Ics, Line, Tlen+1, 34, Tlen); -yystate(101, [9|Ics], Line, Tlen, _, _) -> - yystate(101, Ics, Line, Tlen+1, 34, Tlen); -yystate(101, [10|Ics], Line, Tlen, _, _) -> - yystate(101, Ics, Line+1, Tlen+1, 34, Tlen); + {35,Tlen,Ics,Line,102}; +yystate(101, [101|Ics], Line, Tlen, _, _) -> + yystate(97, Ics, Line, Tlen+1, 32, Tlen); +yystate(101, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(101, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(101, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(101, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(101, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(101, Ics, Line, Tlen, _, _) -> - {34,Tlen,Ics,Line,101}; -yystate(100, [110|Ics], Line, Tlen, _, _) -> - yystate(102, Ics, Line, Tlen+1, 31, Tlen); -yystate(100, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(100, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,100}; -yystate(99, [119|Ics], Line, Tlen, Action, Alen) -> - yystate(95, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [117|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [118|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [116|Ics], Line, Tlen, Action, Alen) -> - yystate(71, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [115|Ics], Line, Tlen, Action, Alen) -> - yystate(55, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [114|Ics], Line, Tlen, Action, Alen) -> - yystate(23, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [112|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [113|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(16, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [110|Ics], Line, Tlen, Action, Alen) -> + {32,Tlen,Ics,Line,101}; +yystate(100, [119|Ics], Line, Tlen, Action, Alen) -> + yystate(96, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [117|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [118|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [116|Ics], Line, Tlen, Action, Alen) -> + yystate(72, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [115|Ics], Line, Tlen, Action, Alen) -> + yystate(56, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [114|Ics], Line, Tlen, Action, Alen) -> yystate(24, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [109|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [108|Ics], Line, Tlen, Action, Alen) -> - yystate(36, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [107|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(84, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(100, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [103|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [104|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [102|Ics], Line, Tlen, Action, Alen) -> - yystate(66, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [100|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [101|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [99|Ics], Line, Tlen, Action, Alen) -> - yystate(34, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [98|Ics], Line, Tlen, Action, Alen) -> - yystate(14, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [97|Ics], Line, Tlen, Action, Alen) -> - yystate(13, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [93|Ics], Line, Tlen, Action, Alen) -> - yystate(29, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [91|Ics], Line, Tlen, Action, Alen) -> - yystate(33, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [62|Ics], Line, Tlen, Action, Alen) -> - yystate(37, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [61|Ics], Line, Tlen, Action, Alen) -> - yystate(45, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [60|Ics], Line, Tlen, Action, Alen) -> - yystate(49, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [46|Ics], Line, Tlen, Action, Alen) -> - yystate(61, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [44|Ics], Line, Tlen, Action, Alen) -> - yystate(65, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [41|Ics], Line, Tlen, Action, Alen) -> +yystate(100, [112|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [113|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(15, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(23, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [109|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [108|Ics], Line, Tlen, Action, Alen) -> + yystate(35, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [107|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(83, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(99, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [103|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [104|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [102|Ics], Line, Tlen, Action, Alen) -> yystate(69, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [40|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [39|Ics], Line, Tlen, Action, Alen) -> - yystate(81, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [34|Ics], Line, Tlen, Action, Alen) -> - yystate(89, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [33|Ics], Line, Tlen, Action, Alen) -> - yystate(93, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [32|Ics], Line, Tlen, Action, Alen) -> - yystate(101, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [13|Ics], Line, Tlen, Action, Alen) -> - yystate(101, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [9|Ics], Line, Tlen, Action, Alen) -> - yystate(101, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(101, Ics, Line+1, Tlen+1, Action, Alen); -yystate(99, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> - yystate(57, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [C|Ics], Line, Tlen, Action, Alen) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, [C|Ics], Line, Tlen, Action, Alen) when C >= 120, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(99, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,99}; -yystate(98, [101|Ics], Line, Tlen, _, _) -> - yystate(94, Ics, Line, Tlen+1, 31, Tlen); -yystate(98, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(100, [100|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [99|Ics], Line, Tlen, Action, Alen) -> + yystate(37, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [98|Ics], Line, Tlen, Action, Alen) -> + yystate(17, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [97|Ics], Line, Tlen, Action, Alen) -> + yystate(10, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [93|Ics], Line, Tlen, Action, Alen) -> + yystate(26, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [91|Ics], Line, Tlen, Action, Alen) -> + yystate(30, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [62|Ics], Line, Tlen, Action, Alen) -> + yystate(34, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(42, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [60|Ics], Line, Tlen, Action, Alen) -> + yystate(46, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [46|Ics], Line, Tlen, Action, Alen) -> + yystate(58, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [44|Ics], Line, Tlen, Action, Alen) -> + yystate(62, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [42|Ics], Line, Tlen, Action, Alen) -> + yystate(66, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [41|Ics], Line, Tlen, Action, Alen) -> + yystate(70, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [40|Ics], Line, Tlen, Action, Alen) -> + yystate(74, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [39|Ics], Line, Tlen, Action, Alen) -> + yystate(82, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [34|Ics], Line, Tlen, Action, Alen) -> + yystate(90, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [33|Ics], Line, Tlen, Action, Alen) -> + yystate(94, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(102, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [13|Ics], Line, Tlen, Action, Alen) -> + yystate(102, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [9|Ics], Line, Tlen, Action, Alen) -> + yystate(102, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(102, Ics, Line+1, Tlen+1, Action, Alen); +yystate(100, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> + yystate(54, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [C|Ics], Line, Tlen, Action, Alen) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, [C|Ics], Line, Tlen, Action, Alen) when C >= 120, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(100, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,100}; +yystate(99, [110|Ics], Line, Tlen, _, _) -> + yystate(103, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(99, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,99}; yystate(98, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,98}; -yystate(97, Ics, Line, Tlen, _, _) -> {2,Tlen,Ics,Line}; +yystate(97, [114|Ics], Line, Tlen, _, _) -> + yystate(93, Ics, Line, Tlen+1, 32, Tlen); +yystate(97, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(97, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,97}; +yystate(96, [104|Ics], Line, Tlen, _, _) -> + yystate(92, Ics, Line, Tlen+1, 32, Tlen); yystate(96, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 27, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 27, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 27, Tlen); -yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 27, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(96, Ics, Line, Tlen, _, _) -> - {27,Tlen,Ics,Line,96}; -yystate(95, [104|Ics], Line, Tlen, _, _) -> - yystate(91, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,96}; yystate(95, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 28, Tlen); yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 28, Tlen); yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 28, Tlen); +yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 28, Tlen); yystate(95, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,95}; -yystate(94, [114|Ics], Line, Tlen, _, _) -> - yystate(90, Ics, Line, Tlen+1, 31, Tlen); -yystate(94, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(94, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,94}; -yystate(93, [61|Ics], Line, Tlen, Action, Alen) -> - yystate(97, Ics, Line, Tlen+1, Action, Alen); -yystate(93, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,93}; -yystate(92, [110|Ics], Line, Tlen, _, _) -> - yystate(96, Ics, Line, Tlen+1, 31, Tlen); + {28,Tlen,Ics,Line,95}; +yystate(94, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(98, Ics, Line, Tlen+1, Action, Alen); +yystate(94, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,94}; +yystate(93, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(93, [32|Ics], Line, Tlen, _, _) -> + yystate(89, Ics, Line, Tlen+1, 32, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(93, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,93}; +yystate(92, [101|Ics], Line, Tlen, _, _) -> + yystate(88, Ics, Line, Tlen+1, 32, Tlen); yystate(92, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(92, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,92}; -yystate(91, [101|Ics], Line, Tlen, _, _) -> - yystate(87, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,92}; +yystate(91, [110|Ics], Line, Tlen, _, _) -> + yystate(95, Ics, Line, Tlen+1, 32, Tlen); yystate(91, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(91, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,91}; -yystate(90, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(90, [32|Ics], Line, Tlen, _, _) -> - yystate(86, Ics, Line, Tlen+1, 31, Tlen); -yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(90, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,90}; -yystate(89, [34|Ics], Line, Tlen, Action, Alen) -> + {32,Tlen,Ics,Line,91}; +yystate(90, [34|Ics], Line, Tlen, Action, Alen) -> + yystate(86, Ics, Line, Tlen+1, Action, Alen); +yystate(90, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(90, Ics, Line+1, Tlen+1, Action, Alen); +yystate(90, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> + yystate(90, Ics, Line, Tlen+1, Action, Alen); +yystate(90, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 33 -> + yystate(90, Ics, Line, Tlen+1, Action, Alen); +yystate(90, [C|Ics], Line, Tlen, Action, Alen) when C >= 35 -> + yystate(90, Ics, Line, Tlen+1, Action, Alen); +yystate(90, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,90}; +yystate(89, [106|Ics], Line, Tlen, Action, Alen) -> yystate(85, Ics, Line, Tlen+1, Action, Alen); -yystate(89, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(89, Ics, Line+1, Tlen+1, Action, Alen); -yystate(89, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> - yystate(89, Ics, Line, Tlen+1, Action, Alen); -yystate(89, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 33 -> - yystate(89, Ics, Line, Tlen+1, Action, Alen); -yystate(89, [C|Ics], Line, Tlen, Action, Alen) when C >= 35 -> - yystate(89, Ics, Line, Tlen+1, Action, Alen); yystate(89, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,89}; -yystate(88, [105|Ics], Line, Tlen, _, _) -> - yystate(92, Ics, Line, Tlen+1, 31, Tlen); +yystate(88, [114|Ics], Line, Tlen, _, _) -> + yystate(84, Ics, Line, Tlen+1, 32, Tlen); yystate(88, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(88, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,88}; -yystate(87, [114|Ics], Line, Tlen, _, _) -> - yystate(83, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,88}; +yystate(87, [105|Ics], Line, Tlen, _, _) -> + yystate(91, Ics, Line, Tlen+1, 32, Tlen); yystate(87, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(87, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,87}; -yystate(86, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(82, Ics, Line, Tlen+1, Action, Alen); -yystate(86, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,86}; -yystate(85, Ics, Line, Tlen, _, _) -> - {33,Tlen,Ics,Line}; -yystate(84, [111|Ics], Line, Tlen, _, _) -> - yystate(88, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,87}; +yystate(86, Ics, Line, Tlen, _, _) -> + {34,Tlen,Ics,Line}; +yystate(85, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(81, Ics, Line, Tlen+1, Action, Alen); +yystate(85, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,85}; +yystate(84, [101|Ics], Line, Tlen, _, _) -> + yystate(80, Ics, Line, Tlen+1, 32, Tlen); yystate(84, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(84, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,84}; -yystate(83, [101|Ics], Line, Tlen, _, _) -> - yystate(79, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,84}; +yystate(83, [111|Ics], Line, Tlen, _, _) -> + yystate(87, Ics, Line, Tlen+1, 32, Tlen); yystate(83, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(83, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,83}; -yystate(82, [111|Ics], Line, Tlen, Action, Alen) -> + {32,Tlen,Ics,Line,83}; +yystate(82, [39|Ics], Line, Tlen, Action, Alen) -> yystate(78, Ics, Line, Tlen+1, Action, Alen); +yystate(82, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(82, Ics, Line+1, Tlen+1, Action, Alen); +yystate(82, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> + yystate(82, Ics, Line, Tlen+1, Action, Alen); +yystate(82, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 38 -> + yystate(82, Ics, Line, Tlen+1, Action, Alen); +yystate(82, [C|Ics], Line, Tlen, Action, Alen) when C >= 40 -> + yystate(82, Ics, Line, Tlen+1, Action, Alen); yystate(82, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,82}; -yystate(81, [39|Ics], Line, Tlen, Action, Alen) -> +yystate(81, [105|Ics], Line, Tlen, Action, Alen) -> yystate(77, Ics, Line, Tlen+1, Action, Alen); -yystate(81, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(81, Ics, Line+1, Tlen+1, Action, Alen); -yystate(81, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> - yystate(81, Ics, Line, Tlen+1, Action, Alen); -yystate(81, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 38 -> - yystate(81, Ics, Line, Tlen+1, Action, Alen); -yystate(81, [C|Ics], Line, Tlen, Action, Alen) when C >= 40 -> - yystate(81, Ics, Line, Tlen+1, Action, Alen); yystate(81, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,81}; +yystate(80, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 22, Tlen); +yystate(80, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 22, Tlen); +yystate(80, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 22, Tlen); +yystate(80, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 22, Tlen); yystate(80, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line}; -yystate(79, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 21, Tlen); -yystate(79, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 21, Tlen); -yystate(79, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 21, Tlen); -yystate(79, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 21, Tlen); + {22,Tlen,Ics,Line,80}; yystate(79, Ics, Line, Tlen, _, _) -> - {21,Tlen,Ics,Line,79}; -yystate(78, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(74, Ics, Line, Tlen+1, Action, Alen); -yystate(78, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,78}; -yystate(77, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line}; -yystate(76, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(80, Ics, Line, Tlen+1, Action, Alen); -yystate(76, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,76}; -yystate(75, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(75, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(75, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(75, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(75, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,75}; -yystate(74, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(70, Ics, Line, Tlen+1, Action, Alen); -yystate(74, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,74}; -yystate(73, Ics, Line, Tlen, _, _) -> + {30,Tlen,Ics,Line}; +yystate(78, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line}; +yystate(77, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(77, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,77}; +yystate(76, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(76, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(76, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(76, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(76, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,76}; +yystate(75, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(79, Ics, Line, Tlen+1, Action, Alen); +yystate(75, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,75}; +yystate(74, Ics, Line, Tlen, _, _) -> {11,Tlen,Ics,Line}; -yystate(72, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(72, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,72}; -yystate(71, [114|Ics], Line, Tlen, _, _) -> - yystate(67, Ics, Line, Tlen+1, 31, Tlen); -yystate(71, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(71, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(71, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(71, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(71, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(71, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,71}; +yystate(73, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line}; +yystate(72, [114|Ics], Line, Tlen, _, _) -> + yystate(68, Ics, Line, Tlen+1, 32, Tlen); +yystate(72, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(72, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(72, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(72, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(72, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(72, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,72}; +yystate(71, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(71, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,71}; yystate(70, Ics, Line, Tlen, _, _) -> - {28,Tlen,Ics,Line}; -yystate(69, Ics, Line, Tlen, _, _) -> {12,Tlen,Ics,Line}; -yystate(68, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(72, Ics, Line, Tlen+1, Action, Alen); -yystate(68, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,68}; -yystate(67, [117|Ics], Line, Tlen, _, _) -> - yystate(63, Ics, Line, Tlen+1, 31, Tlen); -yystate(67, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(67, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(67, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(67, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(67, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(67, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,67}; -yystate(66, [114|Ics], Line, Tlen, _, _) -> - yystate(62, Ics, Line, Tlen+1, 31, Tlen); -yystate(66, [97|Ics], Line, Tlen, _, _) -> - yystate(50, Ics, Line, Tlen+1, 31, Tlen); -yystate(66, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(66, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(66, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(66, [C|Ics], Line, Tlen, _, _) when C >= 98, C =< 113 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(66, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); +yystate(69, [114|Ics], Line, Tlen, _, _) -> + yystate(65, Ics, Line, Tlen+1, 32, Tlen); +yystate(69, [97|Ics], Line, Tlen, _, _) -> + yystate(53, Ics, Line, Tlen+1, 32, Tlen); +yystate(69, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 98, C =< 113 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(69, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,69}; +yystate(68, [117|Ics], Line, Tlen, _, _) -> + yystate(64, Ics, Line, Tlen+1, 32, Tlen); +yystate(68, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(68, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,68}; +yystate(67, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(71, Ics, Line, Tlen+1, Action, Alen); +yystate(67, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,67}; yystate(66, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,66}; + {17,Tlen,Ics,Line}; +yystate(65, [111|Ics], Line, Tlen, _, _) -> + yystate(61, Ics, Line, Tlen+1, 32, Tlen); +yystate(65, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(65, Ics, Line, Tlen, _, _) -> - {16,Tlen,Ics,Line}; -yystate(64, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(68, Ics, Line, Tlen+1, Action, Alen); -yystate(64, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,64}; -yystate(63, [101|Ics], Line, Tlen, _, _) -> - yystate(59, Ics, Line, Tlen+1, 31, Tlen); -yystate(63, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(63, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(63, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(63, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(63, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(63, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,63}; -yystate(62, [111|Ics], Line, Tlen, _, _) -> - yystate(58, Ics, Line, Tlen+1, 31, Tlen); -yystate(62, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,65}; +yystate(64, [101|Ics], Line, Tlen, _, _) -> + yystate(60, Ics, Line, Tlen+1, 32, Tlen); +yystate(64, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(64, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,64}; +yystate(63, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(67, Ics, Line, Tlen+1, Action, Alen); +yystate(63, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,63}; yystate(62, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,62}; + {16,Tlen,Ics,Line}; +yystate(61, [109|Ics], Line, Tlen, _, _) -> + yystate(57, Ics, Line, Tlen+1, 32, Tlen); +yystate(61, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(61, Ics, Line, Tlen, _, _) -> - {15,Tlen,Ics,Line}; + {32,Tlen,Ics,Line,61}; yystate(60, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(60, [32|Ics], Line, Tlen, _, _) -> - yystate(64, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 23, Tlen); yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 23, Tlen); yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 23, Tlen); yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 23, Tlen); yystate(60, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,60}; + {23,Tlen,Ics,Line,60}; yystate(59, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 22, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(59, [32|Ics], Line, Tlen, _, _) -> + yystate(63, Ics, Line, Tlen+1, 32, Tlen); yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 22, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 22, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 22, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(59, Ics, Line, Tlen, _, _) -> - {22,Tlen,Ics,Line,59}; -yystate(58, [109|Ics], Line, Tlen, _, _) -> - yystate(54, Ics, Line, Tlen+1, 31, Tlen); -yystate(58, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,59}; yystate(58, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,58}; + {15,Tlen,Ics,Line}; +yystate(57, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 27, Tlen); yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(57, Ics, Line, Tlen+1, 0, Tlen); + yystate(76, Ics, Line, Tlen+1, 27, Tlen); +yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 27, Tlen); +yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 27, Tlen); yystate(57, Ics, Line, Tlen, _, _) -> - {0,Tlen,Ics,Line,57}; -yystate(56, [116|Ics], Line, Tlen, _, _) -> - yystate(60, Ics, Line, Tlen+1, 31, Tlen); + {27,Tlen,Ics,Line,57}; +yystate(56, [117|Ics], Line, Tlen, _, _) -> + yystate(52, Ics, Line, Tlen+1, 32, Tlen); +yystate(56, [101|Ics], Line, Tlen, _, _) -> + yystate(44, Ics, Line, Tlen+1, 32, Tlen); yystate(56, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 116 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(56, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,56}; -yystate(55, [117|Ics], Line, Tlen, _, _) -> - yystate(51, Ics, Line, Tlen+1, 31, Tlen); -yystate(55, [101|Ics], Line, Tlen, _, _) -> - yystate(43, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,56}; +yystate(55, [116|Ics], Line, Tlen, _, _) -> + yystate(59, Ics, Line, Tlen+1, 32, Tlen); yystate(55, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 116 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(55, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,55}; -yystate(54, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 26, Tlen); + {32,Tlen,Ics,Line,55}; yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 26, Tlen); -yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 26, Tlen); -yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 26, Tlen); + yystate(54, Ics, Line, Tlen+1, 0, Tlen); yystate(54, Ics, Line, Tlen, _, _) -> - {26,Tlen,Ics,Line,54}; + {0,Tlen,Ics,Line,54}; +yystate(53, [108|Ics], Line, Tlen, _, _) -> + yystate(49, Ics, Line, Tlen+1, 32, Tlen); +yystate(53, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(53, Ics, Line, Tlen, _, _) -> - {5,Tlen,Ics,Line}; -yystate(52, [102|Ics], Line, Tlen, _, _) -> - yystate(56, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,53}; +yystate(52, [109|Ics], Line, Tlen, _, _) -> + yystate(48, Ics, Line, Tlen+1, 32, Tlen); yystate(52, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 101 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 103, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(52, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,52}; -yystate(51, [109|Ics], Line, Tlen, _, _) -> - yystate(47, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,52}; +yystate(51, [102|Ics], Line, Tlen, _, _) -> + yystate(55, Ics, Line, Tlen+1, 32, Tlen); yystate(51, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 101 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 103, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(51, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,51}; -yystate(50, [108|Ics], Line, Tlen, _, _) -> - yystate(46, Ics, Line, Tlen+1, 31, Tlen); -yystate(50, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,51}; yystate(50, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,50}; -yystate(49, [61|Ics], Line, Tlen, _, _) -> - yystate(53, Ics, Line, Tlen+1, 3, Tlen); + {5,Tlen,Ics,Line}; +yystate(49, [115|Ics], Line, Tlen, _, _) -> + yystate(45, Ics, Line, Tlen+1, 32, Tlen); +yystate(49, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 114 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(49, Ics, Line, Tlen, _, _) -> - {3,Tlen,Ics,Line,49}; + {32,Tlen,Ics,Line,49}; yystate(48, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 7, Tlen); + yystate(76, Ics, Line, Tlen+1, 10, Tlen); yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 7, Tlen); + yystate(76, Ics, Line, Tlen+1, 10, Tlen); yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 7, Tlen); + yystate(76, Ics, Line, Tlen+1, 10, Tlen); yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 7, Tlen); + yystate(76, Ics, Line, Tlen+1, 10, Tlen); yystate(48, Ics, Line, Tlen, _, _) -> - {7,Tlen,Ics,Line,48}; + {10,Tlen,Ics,Line,48}; yystate(47, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 10, Tlen); + yystate(76, Ics, Line, Tlen+1, 7, Tlen); yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 10, Tlen); + yystate(76, Ics, Line, Tlen+1, 7, Tlen); yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 10, Tlen); + yystate(76, Ics, Line, Tlen+1, 7, Tlen); yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 10, Tlen); + yystate(76, Ics, Line, Tlen+1, 7, Tlen); yystate(47, Ics, Line, Tlen, _, _) -> - {10,Tlen,Ics,Line,47}; -yystate(46, [115|Ics], Line, Tlen, _, _) -> - yystate(42, Ics, Line, Tlen+1, 31, Tlen); -yystate(46, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 114 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {7,Tlen,Ics,Line,47}; +yystate(46, [61|Ics], Line, Tlen, _, _) -> + yystate(50, Ics, Line, Tlen+1, 3, Tlen); yystate(46, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,46}; + {3,Tlen,Ics,Line,46}; +yystate(45, [101|Ics], Line, Tlen, _, _) -> + yystate(41, Ics, Line, Tlen+1, 32, Tlen); +yystate(45, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(45, Ics, Line, Tlen, _, _) -> - {1,Tlen,Ics,Line}; -yystate(44, [101|Ics], Line, Tlen, _, _) -> - yystate(48, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,45}; +yystate(44, [108|Ics], Line, Tlen, _, _) -> + yystate(40, Ics, Line, Tlen+1, 32, Tlen); yystate(44, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(44, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,44}; -yystate(43, [108|Ics], Line, Tlen, _, _) -> - yystate(39, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,44}; +yystate(43, [101|Ics], Line, Tlen, _, _) -> + yystate(47, Ics, Line, Tlen+1, 32, Tlen); yystate(43, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(43, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,43}; -yystate(42, [101|Ics], Line, Tlen, _, _) -> - yystate(38, Ics, Line, Tlen+1, 31, Tlen); -yystate(42, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,43}; yystate(42, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,42}; + {1,Tlen,Ics,Line}; +yystate(41, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 24, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 24, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 24, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 24, Tlen); yystate(41, Ics, Line, Tlen, _, _) -> - {6,Tlen,Ics,Line}; -yystate(40, [107|Ics], Line, Tlen, _, _) -> - yystate(44, Ics, Line, Tlen+1, 31, Tlen); + {24,Tlen,Ics,Line,41}; +yystate(40, [101|Ics], Line, Tlen, _, _) -> + yystate(36, Ics, Line, Tlen+1, 32, Tlen); yystate(40, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 106 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 108, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(40, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,40}; -yystate(39, [101|Ics], Line, Tlen, _, _) -> - yystate(35, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,40}; +yystate(39, [107|Ics], Line, Tlen, _, _) -> + yystate(43, Ics, Line, Tlen+1, 32, Tlen); yystate(39, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 106 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 108, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(39, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,39}; -yystate(38, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 23, Tlen); -yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 23, Tlen); -yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 23, Tlen); -yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 23, Tlen); + {32,Tlen,Ics,Line,39}; yystate(38, Ics, Line, Tlen, _, _) -> - {23,Tlen,Ics,Line,38}; -yystate(37, [61|Ics], Line, Tlen, _, _) -> - yystate(41, Ics, Line, Tlen+1, 4, Tlen); + {6,Tlen,Ics,Line}; +yystate(37, [111|Ics], Line, Tlen, _, _) -> + yystate(33, Ics, Line, Tlen+1, 32, Tlen); +yystate(37, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(37, Ics, Line, Tlen, _, _) -> - {4,Tlen,Ics,Line,37}; -yystate(36, [105|Ics], Line, Tlen, _, _) -> - yystate(40, Ics, Line, Tlen+1, 31, Tlen); -yystate(36, [101|Ics], Line, Tlen, _, _) -> - yystate(52, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,37}; +yystate(36, [99|Ics], Line, Tlen, _, _) -> + yystate(32, Ics, Line, Tlen+1, 32, Tlen); +yystate(36, [97|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(36, [98|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(36, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 104 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 100, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(36, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,36}; -yystate(35, [99|Ics], Line, Tlen, _, _) -> - yystate(31, Ics, Line, Tlen+1, 31, Tlen); -yystate(35, [97|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(35, [98|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,36}; +yystate(35, [105|Ics], Line, Tlen, _, _) -> + yystate(39, Ics, Line, Tlen+1, 32, Tlen); +yystate(35, [101|Ics], Line, Tlen, _, _) -> + yystate(51, Ics, Line, Tlen+1, 32, Tlen); yystate(35, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 100, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 104 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(35, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,35}; -yystate(34, [111|Ics], Line, Tlen, _, _) -> - yystate(30, Ics, Line, Tlen+1, 31, Tlen); -yystate(34, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,35}; +yystate(34, [61|Ics], Line, Tlen, _, _) -> + yystate(38, Ics, Line, Tlen+1, 4, Tlen); yystate(34, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,34}; + {4,Tlen,Ics,Line,34}; +yystate(33, [117|Ics], Line, Tlen, _, _) -> + yystate(29, Ics, Line, Tlen+1, 32, Tlen); +yystate(33, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(33, Ics, Line, Tlen, _, _) -> - {13,Tlen,Ics,Line}; + {32,Tlen,Ics,Line,33}; +yystate(32, [116|Ics], Line, Tlen, _, _) -> + yystate(28, Ics, Line, Tlen+1, 32, Tlen); yystate(32, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 20, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 20, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 20, Tlen); -yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 20, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(32, Ics, Line, Tlen, _, _) -> - {20,Tlen,Ics,Line,32}; -yystate(31, [116|Ics], Line, Tlen, _, _) -> - yystate(27, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,32}; yystate(31, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 21, Tlen); yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 21, Tlen); yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 21, Tlen); +yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 21, Tlen); yystate(31, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,31}; -yystate(30, [117|Ics], Line, Tlen, _, _) -> - yystate(26, Ics, Line, Tlen+1, 31, Tlen); -yystate(30, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {21,Tlen,Ics,Line,31}; yystate(30, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,30}; + {13,Tlen,Ics,Line}; +yystate(29, [110|Ics], Line, Tlen, _, _) -> + yystate(25, Ics, Line, Tlen+1, 32, Tlen); +yystate(29, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(29, Ics, Line, Tlen, _, _) -> - {14,Tlen,Ics,Line}; -yystate(28, [116|Ics], Line, Tlen, _, _) -> - yystate(32, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,29}; yystate(28, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 26, Tlen); yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 26, Tlen); yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 26, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 26, Tlen); yystate(28, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,28}; + {26,Tlen,Ics,Line,28}; +yystate(27, [116|Ics], Line, Tlen, _, _) -> + yystate(31, Ics, Line, Tlen+1, 32, Tlen); yystate(27, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 25, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 25, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 25, Tlen); -yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 25, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(27, Ics, Line, Tlen, _, _) -> - {25,Tlen,Ics,Line,27}; -yystate(26, [110|Ics], Line, Tlen, _, _) -> - yystate(22, Ics, Line, Tlen+1, 31, Tlen); -yystate(26, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,27}; yystate(26, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,26}; + {14,Tlen,Ics,Line}; +yystate(25, [116|Ics], Line, Tlen, _, _) -> + yystate(21, Ics, Line, Tlen+1, 32, Tlen); yystate(25, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 18, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 18, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 18, Tlen); -yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 18, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(25, Ics, Line, Tlen, _, _) -> - {18,Tlen,Ics,Line,25}; -yystate(24, [111|Ics], Line, Tlen, _, _) -> - yystate(28, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,25}; +yystate(24, [105|Ics], Line, Tlen, _, _) -> + yystate(20, Ics, Line, Tlen+1, 32, Tlen); yystate(24, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(24, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,24}; -yystate(23, [105|Ics], Line, Tlen, _, _) -> - yystate(19, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,24}; +yystate(23, [111|Ics], Line, Tlen, _, _) -> + yystate(27, Ics, Line, Tlen+1, 32, Tlen); yystate(23, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(23, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,23}; -yystate(22, [116|Ics], Line, Tlen, _, _) -> - yystate(18, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,23}; yystate(22, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 19, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 19, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 19, Tlen); +yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 19, Tlen); yystate(22, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,22}; -yystate(21, [100|Ics], Line, Tlen, _, _) -> - yystate(25, Ics, Line, Tlen+1, 31, Tlen); + {19,Tlen,Ics,Line,22}; yystate(21, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 9, Tlen); yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 9, Tlen); yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 99 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 101, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 9, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 9, Tlen); yystate(21, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,21}; + {9,Tlen,Ics,Line,21}; +yystate(20, [103|Ics], Line, Tlen, _, _) -> + yystate(16, Ics, Line, Tlen+1, 32, Tlen); yystate(20, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 19, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 19, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 19, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 19, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 102 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 104, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(20, Ics, Line, Tlen, _, _) -> - {19,Tlen,Ics,Line,20}; -yystate(19, [103|Ics], Line, Tlen, _, _) -> - yystate(15, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,20}; yystate(19, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 20, Tlen); yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 20, Tlen); yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 102 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 104, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 20, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 20, Tlen); yystate(19, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,19}; + {20,Tlen,Ics,Line,19}; +yystate(18, [100|Ics], Line, Tlen, _, _) -> + yystate(22, Ics, Line, Tlen+1, 32, Tlen); yystate(18, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 9, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 9, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 9, Tlen); -yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 9, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 99 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 101, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(18, Ics, Line, Tlen, _, _) -> - {9,Tlen,Ics,Line,18}; + {32,Tlen,Ics,Line,18}; +yystate(17, [101|Ics], Line, Tlen, _, _) -> + yystate(13, Ics, Line, Tlen+1, 32, Tlen); yystate(17, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 17, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 17, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 17, Tlen); -yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 17, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(17, Ics, Line, Tlen, _, _) -> - {17,Tlen,Ics,Line,17}; -yystate(16, [114|Ics], Line, Tlen, _, _) -> - yystate(20, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,17}; +yystate(16, [104|Ics], Line, Tlen, _, _) -> + yystate(12, Ics, Line, Tlen+1, 32, Tlen); yystate(16, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(16, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,16}; -yystate(15, [104|Ics], Line, Tlen, _, _) -> - yystate(11, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,16}; +yystate(15, [114|Ics], Line, Tlen, _, _) -> + yystate(19, Ics, Line, Tlen+1, 32, Tlen); yystate(15, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(15, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,15}; -yystate(14, [101|Ics], Line, Tlen, _, _) -> - yystate(10, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,15}; yystate(14, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 18, Tlen); yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 18, Tlen); yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 18, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 18, Tlen); yystate(14, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,14}; -yystate(13, [115|Ics], Line, Tlen, _, _) -> - yystate(17, Ics, Line, Tlen+1, 31, Tlen); -yystate(13, [110|Ics], Line, Tlen, _, _) -> - yystate(21, Ics, Line, Tlen+1, 31, Tlen); + {18,Tlen,Ics,Line,14}; +yystate(13, [116|Ics], Line, Tlen, _, _) -> + yystate(9, Ics, Line, Tlen+1, 32, Tlen); yystate(13, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 114 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(13, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,13}; + {32,Tlen,Ics,Line,13}; +yystate(12, [116|Ics], Line, Tlen, _, _) -> + yystate(8, Ics, Line, Tlen+1, 32, Tlen); +yystate(12, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(12, Ics, Line, Tlen, _, _) -> - {30,Tlen,Ics,Line}; -yystate(11, [116|Ics], Line, Tlen, _, _) -> - yystate(7, Ics, Line, Tlen+1, 31, Tlen); -yystate(11, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,12}; yystate(11, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,11}; -yystate(10, [116|Ics], Line, Tlen, _, _) -> - yystate(6, Ics, Line, Tlen+1, 31, Tlen); + {31,Tlen,Ics,Line}; +yystate(10, [115|Ics], Line, Tlen, _, _) -> + yystate(14, Ics, Line, Tlen+1, 32, Tlen); +yystate(10, [110|Ics], Line, Tlen, _, _) -> + yystate(18, Ics, Line, Tlen+1, 32, Tlen); yystate(10, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 114 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(10, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,10}; + {32,Tlen,Ics,Line,10}; +yystate(9, [119|Ics], Line, Tlen, _, _) -> + yystate(5, Ics, Line, Tlen+1, 32, Tlen); yystate(9, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 24, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 24, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 24, Tlen); -yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 24, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 118 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 120, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(9, Ics, Line, Tlen, _, _) -> - {24,Tlen,Ics,Line,9}; -yystate(8, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(12, Ics, Line, Tlen+1, Action, Alen); -yystate(8, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,8}; -yystate(7, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(7, [32|Ics], Line, Tlen, _, _) -> - yystate(3, Ics, Line, Tlen+1, 31, Tlen); -yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(7, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,7}; -yystate(6, [119|Ics], Line, Tlen, _, _) -> - yystate(2, Ics, Line, Tlen+1, 31, Tlen); + {32,Tlen,Ics,Line,9}; +yystate(8, [95|Ics], Line, Tlen, _, _) -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(8, [32|Ics], Line, Tlen, _, _) -> + yystate(4, Ics, Line, Tlen+1, 32, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(8, Ics, Line, Tlen, _, _) -> + {32,Tlen,Ics,Line,8}; +yystate(7, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(11, Ics, Line, Tlen+1, Action, Alen); +yystate(7, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,7}; yystate(6, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 25, Tlen); yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 25, Tlen); yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 118 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 120, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 25, Tlen); +yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 25, Tlen); yystate(6, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,6}; -yystate(5, [110|Ics], Line, Tlen, _, _) -> - yystate(9, Ics, Line, Tlen+1, 31, Tlen); + {25,Tlen,Ics,Line,6}; +yystate(5, [101|Ics], Line, Tlen, _, _) -> + yystate(1, Ics, Line, Tlen+1, 32, Tlen); yystate(5, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(5, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,5}; -yystate(4, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(8, Ics, Line, Tlen+1, Action, Alen); + {32,Tlen,Ics,Line,5}; +yystate(4, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(0, Ics, Line, Tlen+1, Action, Alen); yystate(4, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,4}; -yystate(3, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(0, Ics, Line, Tlen+1, Action, Alen); +yystate(3, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(7, Ics, Line, Tlen+1, Action, Alen); yystate(3, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,3}; -yystate(2, [101|Ics], Line, Tlen, _, _) -> - yystate(1, Ics, Line, Tlen+1, 31, Tlen); +yystate(2, [110|Ics], Line, Tlen, _, _) -> + yystate(6, Ics, Line, Tlen+1, 32, Tlen); yystate(2, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); -yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(2, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,2}; + {32,Tlen,Ics,Line,2}; yystate(1, [101|Ics], Line, Tlen, _, _) -> - yystate(5, Ics, Line, Tlen+1, 31, Tlen); + yystate(2, Ics, Line, Tlen+1, 32, Tlen); yystate(1, [95|Ics], Line, Tlen, _, _) -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(75, Ics, Line, Tlen+1, 31, Tlen); + yystate(76, Ics, Line, Tlen+1, 32, Tlen); yystate(1, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line,1}; + {32,Tlen,Ics,Line,1}; yystate(0, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(4, Ics, Line, Tlen+1, Action, Alen); + yystate(3, Ics, Line, Tlen+1, Action, Alen); yystate(0, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,0}; yystate(S, Ics, Line, Tlen, Action, Alen) -> @@ -1469,8 +1473,8 @@ yyaction(14, _, _, TokenLine) -> yyaction_14(TokenLine); yyaction(15, _, _, TokenLine) -> yyaction_15(TokenLine); -yyaction(16, _, _, _) -> - yyaction_16(); +yyaction(16, _, _, TokenLine) -> + yyaction_16(TokenLine); yyaction(17, _, _, TokenLine) -> yyaction_17(TokenLine); yyaction(18, _, _, TokenLine) -> @@ -1499,17 +1503,19 @@ yyaction(29, _, _, TokenLine) -> yyaction_29(TokenLine); yyaction(30, _, _, TokenLine) -> yyaction_30(TokenLine); -yyaction(31, TokenLen, YYtcs, TokenLine) -> - TokenChars = yypre(YYtcs, TokenLen), - yyaction_31(TokenChars, TokenLine); +yyaction(31, _, _, TokenLine) -> + yyaction_31(TokenLine); yyaction(32, TokenLen, YYtcs, TokenLine) -> TokenChars = yypre(YYtcs, TokenLen), yyaction_32(TokenChars, TokenLine); yyaction(33, TokenLen, YYtcs, TokenLine) -> TokenChars = yypre(YYtcs, TokenLen), yyaction_33(TokenChars, TokenLine); -yyaction(34, _, _, _) -> - yyaction_34(); +yyaction(34, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_34(TokenChars, TokenLine); +yyaction(35, _, _, _) -> + yyaction_35(); yyaction(_, _, _, _) -> error. -compile({inline,yyaction_0/2}). @@ -1592,65 +1598,65 @@ yyaction_14(TokenLine) -> yyaction_15(TokenLine) -> { token, { dot, TokenLine } } . --compile({inline,yyaction_16/0}). +-compile({inline,yyaction_16/1}). -file("src/build_query_lexer.xrl", 34). -yyaction_16() -> - skip_token . +yyaction_16(TokenLine) -> + { token, { comma, TokenLine } } . -compile({inline,yyaction_17/1}). --file("src/build_query_lexer.xrl", 37). +-file("src/build_query_lexer.xrl", 35). yyaction_17(TokenLine) -> - { token, { as, TokenLine } } . + { token, { all, TokenLine } } . -compile({inline,yyaction_18/1}). -file("src/build_query_lexer.xrl", 38). yyaction_18(TokenLine) -> - { token, { boolean_mult, TokenLine } } . + { token, { as, TokenLine } } . -compile({inline,yyaction_19/1}). -file("src/build_query_lexer.xrl", 39). yyaction_19(TokenLine) -> - { token, { boolean_add, TokenLine } } . + { token, { boolean_mult, TokenLine } } . -compile({inline,yyaction_20/1}). -file("src/build_query_lexer.xrl", 40). yyaction_20(TokenLine) -> - { token, { boolean_negate, TokenLine } } . + { token, { boolean_add, TokenLine } } . -compile({inline,yyaction_21/1}). -file("src/build_query_lexer.xrl", 41). yyaction_21(TokenLine) -> - { token, { where, TokenLine } } . + { token, { boolean_negate, TokenLine } } . -compile({inline,yyaction_22/1}). -file("src/build_query_lexer.xrl", 42). yyaction_22(TokenLine) -> - { token, { true, TokenLine } } . + { token, { where, TokenLine } } . -compile({inline,yyaction_23/1}). -file("src/build_query_lexer.xrl", 43). yyaction_23(TokenLine) -> - { token, { false, TokenLine } } . + { token, { true, TokenLine } } . -compile({inline,yyaction_24/1}). -file("src/build_query_lexer.xrl", 44). yyaction_24(TokenLine) -> - { token, { between, TokenLine } } . + { token, { false, TokenLine } } . -compile({inline,yyaction_25/1}). -file("src/build_query_lexer.xrl", 45). yyaction_25(TokenLine) -> - { token, { select, TokenLine } } . + { token, { between, TokenLine } } . -compile({inline,yyaction_26/1}). -file("src/build_query_lexer.xrl", 46). yyaction_26(TokenLine) -> - { token, { from, TokenLine } } . + { token, { select, TokenLine } } . -compile({inline,yyaction_27/1}). -file("src/build_query_lexer.xrl", 47). yyaction_27(TokenLine) -> - { token, { join, TokenLine } } . + { token, { from, TokenLine } } . -compile({inline,yyaction_28/1}). -file("src/build_query_lexer.xrl", 48). @@ -1660,31 +1666,36 @@ yyaction_28(TokenLine) -> -compile({inline,yyaction_29/1}). -file("src/build_query_lexer.xrl", 49). yyaction_29(TokenLine) -> - { token, { left_join, TokenLine } } . + { token, { join, TokenLine } } . -compile({inline,yyaction_30/1}). -file("src/build_query_lexer.xrl", 50). yyaction_30(TokenLine) -> - { token, { right_join, TokenLine } } . + { token, { left_join, TokenLine } } . --compile({inline,yyaction_31/2}). --file("src/build_query_lexer.xrl", 53). -yyaction_31(TokenChars, TokenLine) -> - { token, { identifier, TokenLine, TokenChars } } . +-compile({inline,yyaction_31/1}). +-file("src/build_query_lexer.xrl", 51). +yyaction_31(TokenLine) -> + { token, { right_join, TokenLine } } . -compile({inline,yyaction_32/2}). --file("src/build_query_lexer.xrl", 55). +-file("src/build_query_lexer.xrl", 54). yyaction_32(TokenChars, TokenLine) -> - { token, { quoted, TokenLine, TokenChars } } . + { token, { identifier, TokenLine, TokenChars } } . -compile({inline,yyaction_33/2}). -file("src/build_query_lexer.xrl", 56). yyaction_33(TokenChars, TokenLine) -> { token, { quoted, TokenLine, TokenChars } } . --compile({inline,yyaction_34/0}). --file("src/build_query_lexer.xrl", 59). -yyaction_34() -> +-compile({inline,yyaction_34/2}). +-file("src/build_query_lexer.xrl", 57). +yyaction_34(TokenChars, TokenLine) -> + { token, { quoted, TokenLine, TokenChars } } . + +-compile({inline,yyaction_35/0}). +-file("src/build_query_lexer.xrl", 60). +yyaction_35() -> skip_token . -file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/leexinc.hrl", 313). diff --git a/src/build_query_lexer.xrl b/src/build_query_lexer.xrl index 6bb129a..2a54ae0 100644 --- a/src/build_query_lexer.xrl +++ b/src/build_query_lexer.xrl @@ -33,7 +33,8 @@ sum : {token, {aggregate, TokenLine, sum}}. %% arithmetic operators \. : {token, {dot, TokenLine}}. -\, : skip_token. +\, : {token, {comma, TokenLine}}. +\* : {token, {all, TokenLine}}. %% Reserver keywords as : {token, {as, TokenLine}}. diff --git a/src/build_query_parser.erl b/src/build_query_parser.erl index 23be37d..427c195 100644 --- a/src/build_query_parser.erl +++ b/src/build_query_parser.erl @@ -1,13 +1,11 @@ -module(build_query_parser). -export([parse/1, parse_and_scan/1, format_error/1]). --file("src/build_query_parser.yrl", 34). +-file("src/build_query_parser.yrl", 37). -import(string,[len/1, sub_string/3]). extract_value({_Token, _Line, Value}) -> Value. extract_token({Token, _Line}) -> Token. -remove_line({Token, _Line, Value}) -> {Token, Value}. -remove_quotes({_Token, _Line, Value}) -> list_to_binary(sub_string(Value, 2, len(Value)-1)). -file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/yeccpre.hrl", 0). %% @@ -188,7 +186,7 @@ yecctoken2string1(Other) -> --file("src/build_query_parser.erl", 191). +-file("src/build_query_parser.erl", 189). -dialyzer({nowarn_function, yeccpars2/7}). -compile({nowarn_unused_function, yeccpars2/7}). @@ -200,64 +198,70 @@ yeccpars2(2=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(3=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_3(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(4=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_4(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(5=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_5(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(6=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(7=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_7(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(4=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_4(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(5=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_5(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(6=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_6(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(7=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_7(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(8=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_8(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(9=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(9=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_9(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(10=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(11=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_11(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(12=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(13=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_13(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(14=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_14(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(15=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_15(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(16=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_16(S, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_12(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(13=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_13(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(14=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(15=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(16=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(17=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_17(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(18=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(18=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_18(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(19=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_19(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(20=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_20(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(21=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_21(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(21=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_21(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(22=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(23=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_23(S, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_22(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(23=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_23(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(24=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_24(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(25=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_25(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(25=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(26=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_26(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(27=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_27(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(28=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(28=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_28(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(29=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_29(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(30=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_30(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(31=S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_2(S, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(32=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(33=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_33(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(34=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(35=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_35(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(Other, _, _, _, _, _, _) -> erlang:error({yecc_bug,"1.4",{missing_state_in_action_table, Other}}). @@ -277,139 +281,136 @@ yeccpars2_1(_, _, _, _, T, _, _) -> -dialyzer({nowarn_function, yeccpars2_2/7}). -compile({nowarn_unused_function, yeccpars2_2/7}). -yeccpars2_2(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 5, Ss, Stack, T, Ts, Tzr); -yeccpars2_2(S, 'left_paren', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 6, Ss, Stack, T, Ts, Tzr); -yeccpars2_2(S, 'number', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 7, Ss, Stack, T, Ts, Tzr); -yeccpars2_2(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 8, Ss, Stack, T, Ts, Tzr); -yeccpars2_2(_, _, _, _, T, _, _) -> - yeccerror(T). +yeccpars2_2(S, 'distinct', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 4, Ss, Stack, T, Ts, Tzr); +yeccpars2_2(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_2_(Stack), + yeccpars2_3(3, Cat, [2 | Ss], NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_3/7}). -compile({nowarn_unused_function, yeccpars2_3/7}). +yeccpars2_3(S, 'all', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 8, Ss, Stack, T, Ts, Tzr); yeccpars2_3(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 5, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 9, Ss, Stack, T, Ts, Tzr); yeccpars2_3(S, 'left_paren', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 6, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); yeccpars2_3(S, 'number', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 7, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); yeccpars2_3(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 8, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); yeccpars2_3(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_3_(Stack), - yeccpars2_19(19, Cat, [3 | Ss], NewStack, T, Ts, Tzr). + yeccpars2_5(5, Cat, [3 | Ss], NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_4/7}). -compile({nowarn_unused_function, yeccpars2_4/7}). -yeccpars2_4(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); -yeccpars2_4(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); -yeccpars2_4(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); yeccpars2_4(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_4_(Stack), yeccgoto_select_opts(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_5/7}). -compile({nowarn_unused_function, yeccpars2_5/7}). -yeccpars2_5(S, 'dot', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 17, Ss, Stack, T, Ts, Tzr); +yeccpars2_5(S, 'from', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 25, Ss, Stack, T, Ts, Tzr); yeccpars2_5(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, NewStack = yeccpars2_5_(Stack), - yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -%% yeccpars2_6: see yeccpars2_2 +-dialyzer({nowarn_function, yeccpars2_6/7}). +-compile({nowarn_unused_function, yeccpars2_6/7}). +yeccpars2_6(S, 'comma', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 23, Ss, Stack, T, Ts, Tzr); +yeccpars2_6(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_6_(Stack), + yeccgoto_select_expr_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_7/7}). -compile({nowarn_unused_function, yeccpars2_7/7}). +yeccpars2_7(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_7(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); +yeccpars2_7(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); yeccpars2_7(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_7_(Stack), - yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccgoto_select_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_8/7}). -compile({nowarn_unused_function, yeccpars2_8/7}). yeccpars2_8(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_8_(Stack), - yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccgoto_select_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_9/7}). -compile({nowarn_unused_function, yeccpars2_9/7}). -yeccpars2_9(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_9(S, 'dot', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 21, Ss, Stack, T, Ts, Tzr); +yeccpars2_9(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_9_(Stack), + yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_10/7}). +-compile({nowarn_unused_function, yeccpars2_10/7}). +yeccpars2_10(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 9, Ss, Stack, T, Ts, Tzr); +yeccpars2_10(S, 'left_paren', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); -yeccpars2_9(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_10(S, 'number', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); -yeccpars2_9(S, 'operator', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_10(S, 'quoted', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); -yeccpars2_9(S, 'right_paren', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 13, Ss, Stack, T, Ts, Tzr); -yeccpars2_9(_, _, _, _, T, _, _) -> +yeccpars2_10(_, _, _, _, T, _, _) -> yeccerror(T). -%% yeccpars2_10: see yeccpars2_2 - -%% yeccpars2_11: see yeccpars2_2 +-dialyzer({nowarn_function, yeccpars2_11/7}). +-compile({nowarn_unused_function, yeccpars2_11/7}). +yeccpars2_11(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_11_(Stack), + yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -%% yeccpars2_12: see yeccpars2_2 +-dialyzer({nowarn_function, yeccpars2_12/7}). +-compile({nowarn_unused_function, yeccpars2_12/7}). +yeccpars2_12(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_12_(Stack), + yeccgoto_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_13/7}). -compile({nowarn_unused_function, yeccpars2_13/7}). -yeccpars2_13(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_|Nss] = Ss, - NewStack = yeccpars2_13_(Stack), - yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). +yeccpars2_13(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_13(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); +yeccpars2_13(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); +yeccpars2_13(S, 'right_paren', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 17, Ss, Stack, T, Ts, Tzr); +yeccpars2_13(_, _, _, _, T, _, _) -> + yeccerror(T). --dialyzer({nowarn_function, yeccpars2_14/7}). --compile({nowarn_unused_function, yeccpars2_14/7}). -yeccpars2_14(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); -yeccpars2_14(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); -yeccpars2_14(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); -yeccpars2_14(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_|Nss] = Ss, - NewStack = yeccpars2_14_(Stack), - yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). +%% yeccpars2_14: see yeccpars2_10 --dialyzer({nowarn_function, yeccpars2_15/7}). --compile({nowarn_unused_function, yeccpars2_15/7}). -yeccpars2_15(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); -yeccpars2_15(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); -yeccpars2_15(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); -yeccpars2_15(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_|Nss] = Ss, - NewStack = yeccpars2_15_(Stack), - yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). +%% yeccpars2_15: see yeccpars2_10 --dialyzer({nowarn_function, yeccpars2_16/7}). --compile({nowarn_unused_function, yeccpars2_16/7}). -yeccpars2_16(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); -yeccpars2_16(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); -yeccpars2_16(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); -yeccpars2_16(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_|Nss] = Ss, - NewStack = yeccpars2_16_(Stack), - yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). +%% yeccpars2_16: see yeccpars2_10 -dialyzer({nowarn_function, yeccpars2_17/7}). -compile({nowarn_unused_function, yeccpars2_17/7}). -yeccpars2_17(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 18, Ss, Stack, T, Ts, Tzr); -yeccpars2_17(_, _, _, _, T, _, _) -> - yeccerror(T). +yeccpars2_17(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, + NewStack = yeccpars2_17_(Stack), + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_18/7}). -compile({nowarn_unused_function, yeccpars2_18/7}). +yeccpars2_18(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_18(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); +yeccpars2_18(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr) -> [_,_|Nss] = Ss, NewStack = yeccpars2_18_(Stack), @@ -417,151 +418,180 @@ yeccpars2_18(_S, Cat, Ss, Stack, T, Ts, Tzr) -> -dialyzer({nowarn_function, yeccpars2_19/7}). -compile({nowarn_unused_function, yeccpars2_19/7}). -yeccpars2_19(S, 'from', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 22, Ss, Stack, T, Ts, Tzr); +yeccpars2_19(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_19(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); +yeccpars2_19(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); yeccpars2_19(_S, Cat, Ss, Stack, T, Ts, Tzr) -> [_,_|Nss] = Ss, NewStack = yeccpars2_19_(Stack), - yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_20/7}). -compile({nowarn_unused_function, yeccpars2_20/7}). +yeccpars2_20(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_20(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); +yeccpars2_20(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); yeccpars2_20(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, NewStack = yeccpars2_20_(Stack), - yeccgoto_select_expr_list(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_21/7}). -compile({nowarn_unused_function, yeccpars2_21/7}). -yeccpars2_21(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); -yeccpars2_21(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); -yeccpars2_21(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); -yeccpars2_21(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - NewStack = yeccpars2_21_(Stack), - yeccgoto_select_expr(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). +yeccpars2_21(S, 'identifier', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 22, Ss, Stack, T, Ts, Tzr); +yeccpars2_21(_, _, _, _, T, _, _) -> + yeccerror(T). -%% yeccpars2_22: see yeccpars2_2 +-dialyzer({nowarn_function, yeccpars2_22/7}). +-compile({nowarn_unused_function, yeccpars2_22/7}). +yeccpars2_22(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, + NewStack = yeccpars2_22_(Stack), + yeccgoto_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). --dialyzer({nowarn_function, yeccpars2_23/7}). --compile({nowarn_unused_function, yeccpars2_23/7}). -yeccpars2_23(S, 'where', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 31, Ss, Stack, T, Ts, Tzr); -yeccpars2_23(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - NewStack = yeccpars2_23_(Stack), - yeccpars2_30(_S, Cat, [23 | Ss], NewStack, T, Ts, Tzr). +yeccpars2_23(S, 'all', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 8, Ss, Stack, T, Ts, Tzr); +yeccpars2_23(S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_24/7}). -compile({nowarn_unused_function, yeccpars2_24/7}). +yeccpars2_24(S, 'comma', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 23, Ss, Stack, T, Ts, Tzr); yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_|Nss] = Ss, NewStack = yeccpars2_24_(Stack), - yeccgoto_table_references(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + yeccgoto_select_expr(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). --dialyzer({nowarn_function, yeccpars2_25/7}). --compile({nowarn_unused_function, yeccpars2_25/7}). -yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - NewStack = yeccpars2_25_(Stack), - yeccgoto_table_reference(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). +%% yeccpars2_25: see yeccpars2_10 -dialyzer({nowarn_function, yeccpars2_26/7}). -compile({nowarn_unused_function, yeccpars2_26/7}). -yeccpars2_26(S, 'as', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 28, Ss, Stack, T, Ts, Tzr); -yeccpars2_26(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); -yeccpars2_26(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); -yeccpars2_26(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); +yeccpars2_26(S, 'where', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr); yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_26_(Stack), - yeccpars2_27(_S, Cat, [26 | Ss], NewStack, T, Ts, Tzr). + yeccpars2_33(_S, Cat, [26 | Ss], NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_27/7}). -compile({nowarn_unused_function, yeccpars2_27/7}). yeccpars2_27(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_|Nss] = Ss, NewStack = yeccpars2_27_(Stack), - yeccgoto_table_factor(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccgoto_table_references(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -%% yeccpars2_28: see yeccpars2_2 +-dialyzer({nowarn_function, yeccpars2_28/7}). +-compile({nowarn_unused_function, yeccpars2_28/7}). +yeccpars2_28(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_28_(Stack), + yeccgoto_table_reference(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_29/7}). -compile({nowarn_unused_function, yeccpars2_29/7}). +yeccpars2_29(S, 'as', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 31, Ss, Stack, T, Ts, Tzr); yeccpars2_29(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); yeccpars2_29(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); yeccpars2_29(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_|Nss] = Ss, NewStack = yeccpars2_29_(Stack), - yeccgoto_opt_as_alias(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccpars2_30(_S, Cat, [29 | Ss], NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_30/7}). -compile({nowarn_unused_function, yeccpars2_30/7}). yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_,_,_,_|Nss] = Ss, + [_|Nss] = Ss, NewStack = yeccpars2_30_(Stack), - yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccgoto_table_factor(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -%% yeccpars2_31: see yeccpars2_2 +%% yeccpars2_31: see yeccpars2_10 -dialyzer({nowarn_function, yeccpars2_32/7}). -compile({nowarn_unused_function, yeccpars2_32/7}). yeccpars2_32(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 10, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); yeccpars2_32(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 11, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); yeccpars2_32(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 12, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); yeccpars2_32(_S, Cat, Ss, Stack, T, Ts, Tzr) -> [_|Nss] = Ss, NewStack = yeccpars2_32_(Stack), + yeccgoto_opt_as_alias(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_33/7}). +-compile({nowarn_unused_function, yeccpars2_33/7}). +yeccpars2_33(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_,_,_,_|Nss] = Ss, + NewStack = yeccpars2_33_(Stack), + yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +%% yeccpars2_34: see yeccpars2_10 + +-dialyzer({nowarn_function, yeccpars2_35/7}). +-compile({nowarn_unused_function, yeccpars2_35/7}). +yeccpars2_35(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_35(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); +yeccpars2_35(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); +yeccpars2_35(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_35_(Stack), yeccgoto_opt_where(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_expr/7}). -compile({nowarn_unused_function, yeccgoto_expr/7}). -yeccgoto_expr(2, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_4(4, Cat, Ss, Stack, T, Ts, Tzr); yeccgoto_expr(3, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_21(21, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(6, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_9(9, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_7(7, Cat, Ss, Stack, T, Ts, Tzr); yeccgoto_expr(10, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_16(16, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(11, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_15(15, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(12, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_14(14, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(22, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_26(26, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(28, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_13(13, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(14, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_20(20, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(15, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_19(19, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(16, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_18(18, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(23, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_7(7, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(25, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr); yeccgoto_expr(31, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr). + yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(34, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_opt_as_alias/7}). -compile({nowarn_unused_function, yeccgoto_opt_as_alias/7}). -yeccgoto_opt_as_alias(26=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_27(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_opt_as_alias(29=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_opt_where/7}). -compile({nowarn_unused_function, yeccgoto_opt_where/7}). -yeccgoto_opt_where(23=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_opt_where(26=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_33(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_select_expr/7}). -compile({nowarn_unused_function, yeccgoto_select_expr/7}). -yeccgoto_select_expr(3=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_20(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_select_expr(3, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_6(6, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_select_expr(23, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_24(24, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_select_expr_list/7}). -compile({nowarn_unused_function, yeccgoto_select_expr_list/7}). yeccgoto_select_expr_list(3, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_19(19, Cat, Ss, Stack, T, Ts, Tzr). + yeccpars2_5(5, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_select_opts/7}). -compile({nowarn_unused_function, yeccgoto_select_opts/7}). @@ -575,23 +605,32 @@ yeccgoto_select_stmt(0, Cat, Ss, Stack, T, Ts, Tzr) -> -dialyzer({nowarn_function, yeccgoto_table_factor/7}). -compile({nowarn_unused_function, yeccgoto_table_factor/7}). -yeccgoto_table_factor(22=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_25(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_table_factor(25=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_28(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_table_reference/7}). -compile({nowarn_unused_function, yeccgoto_table_reference/7}). -yeccgoto_table_reference(22=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_table_reference(25=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_27(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_table_references/7}). -compile({nowarn_unused_function, yeccgoto_table_references/7}). -yeccgoto_table_references(22, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_23(23, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_table_references(25, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_26(26, Cat, Ss, Stack, T, Ts, Tzr). + +-compile({inline,yeccpars2_2_/1}). +-dialyzer({nowarn_function, yeccpars2_2_/1}). +-compile({nowarn_unused_function, yeccpars2_2_/1}). +-file("src/build_query_parser.yrl", 6). +yeccpars2_2_(__Stack0) -> + [begin + nil + end | __Stack0]. -compile({inline,yeccpars2_3_/1}). -dialyzer({nowarn_function, yeccpars2_3_/1}). -compile({nowarn_unused_function, yeccpars2_3_/1}). --file("src/build_query_parser.yrl", 7). +-file("src/build_query_parser.yrl", 8). yeccpars2_3_(__Stack0) -> [begin nil @@ -600,150 +639,141 @@ yeccpars2_3_(__Stack0) -> -compile({inline,yeccpars2_4_/1}). -dialyzer({nowarn_function, yeccpars2_4_/1}). -compile({nowarn_unused_function, yeccpars2_4_/1}). --file("src/build_query_parser.yrl", 6). +-file("src/build_query_parser.yrl", 7). yeccpars2_4_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - ___1 + {select_opts, ___1} end | __Stack]. -compile({inline,yeccpars2_5_/1}). -dialyzer({nowarn_function, yeccpars2_5_/1}). -compile({nowarn_unused_function, yeccpars2_5_/1}). --file("src/build_query_parser.yrl", 27). +-file("src/build_query_parser.yrl", 3). yeccpars2_5_(__Stack0) -> + [___3,___2,___1 | __Stack] = __Stack0, + [begin + {select, ___2, ___3} + end | __Stack]. + +-compile({inline,yeccpars2_6_/1}). +-dialyzer({nowarn_function, yeccpars2_6_/1}). +-compile({nowarn_unused_function, yeccpars2_6_/1}). +-file("src/build_query_parser.yrl", 9). +yeccpars2_6_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - extract_value(___1) + {fields, ___1} end | __Stack]. -compile({inline,yeccpars2_7_/1}). -dialyzer({nowarn_function, yeccpars2_7_/1}). -compile({nowarn_unused_function, yeccpars2_7_/1}). --file("src/build_query_parser.yrl", 28). +-file("src/build_query_parser.yrl", 12). yeccpars2_7_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - extract_value(___1) + ___1 end | __Stack]. -compile({inline,yeccpars2_8_/1}). -dialyzer({nowarn_function, yeccpars2_8_/1}). -compile({nowarn_unused_function, yeccpars2_8_/1}). --file("src/build_query_parser.yrl", 26). +-file("src/build_query_parser.yrl", 11). yeccpars2_8_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin - {quoted, extract_value(___1)} + {extract_token(___1)} end | __Stack]. --compile({inline,yeccpars2_13_/1}). --dialyzer({nowarn_function, yeccpars2_13_/1}). --compile({nowarn_unused_function, yeccpars2_13_/1}). --file("src/build_query_parser.yrl", 21). -yeccpars2_13_(__Stack0) -> - [___3,___2,___1 | __Stack] = __Stack0, +-compile({inline,yeccpars2_9_/1}). +-dialyzer({nowarn_function, yeccpars2_9_/1}). +-compile({nowarn_unused_function, yeccpars2_9_/1}). +-file("src/build_query_parser.yrl", 30). +yeccpars2_9_(__Stack0) -> + [___1 | __Stack] = __Stack0, [begin - {grouping, ___2} + extract_value(___1) end | __Stack]. --compile({inline,yeccpars2_14_/1}). --dialyzer({nowarn_function, yeccpars2_14_/1}). --compile({nowarn_unused_function, yeccpars2_14_/1}). --file("src/build_query_parser.yrl", 24). -yeccpars2_14_(__Stack0) -> - [___3,___2,___1 | __Stack] = __Stack0, +-compile({inline,yeccpars2_11_/1}). +-dialyzer({nowarn_function, yeccpars2_11_/1}). +-compile({nowarn_unused_function, yeccpars2_11_/1}). +-file("src/build_query_parser.yrl", 31). +yeccpars2_11_(__Stack0) -> + [___1 | __Stack] = __Stack0, [begin - {extract_value(___2), ___1, ___3} + extract_value(___1) end | __Stack]. --compile({inline,yeccpars2_15_/1}). --dialyzer({nowarn_function, yeccpars2_15_/1}). --compile({nowarn_unused_function, yeccpars2_15_/1}). --file("src/build_query_parser.yrl", 22). -yeccpars2_15_(__Stack0) -> - [___3,___2,___1 | __Stack] = __Stack0, +-compile({inline,yeccpars2_12_/1}). +-dialyzer({nowarn_function, yeccpars2_12_/1}). +-compile({nowarn_unused_function, yeccpars2_12_/1}). +-file("src/build_query_parser.yrl", 29). +yeccpars2_12_(__Stack0) -> + [___1 | __Stack] = __Stack0, [begin - {booelan_mult, ___1, ___3} + {quoted, extract_value(___1)} end | __Stack]. --compile({inline,yeccpars2_16_/1}). --dialyzer({nowarn_function, yeccpars2_16_/1}). --compile({nowarn_unused_function, yeccpars2_16_/1}). --file("src/build_query_parser.yrl", 23). -yeccpars2_16_(__Stack0) -> +-compile({inline,yeccpars2_17_/1}). +-dialyzer({nowarn_function, yeccpars2_17_/1}). +-compile({nowarn_unused_function, yeccpars2_17_/1}). +-file("src/build_query_parser.yrl", 24). +yeccpars2_17_(__Stack0) -> [___3,___2,___1 | __Stack] = __Stack0, [begin - {boolean_add, ___1, ___3} + {grouping, ___2} end | __Stack]. -compile({inline,yeccpars2_18_/1}). -dialyzer({nowarn_function, yeccpars2_18_/1}). -compile({nowarn_unused_function, yeccpars2_18_/1}). --file("src/build_query_parser.yrl", 25). +-file("src/build_query_parser.yrl", 27). yeccpars2_18_(__Stack0) -> [___3,___2,___1 | __Stack] = __Stack0, [begin - {fieldname, extract_value(___1), '.', extract_value(___3)} + {extract_value(___2), ___1, ___3} end | __Stack]. -compile({inline,yeccpars2_19_/1}). -dialyzer({nowarn_function, yeccpars2_19_/1}). -compile({nowarn_unused_function, yeccpars2_19_/1}). --file("src/build_query_parser.yrl", 3). +-file("src/build_query_parser.yrl", 25). yeccpars2_19_(__Stack0) -> [___3,___2,___1 | __Stack] = __Stack0, [begin - {select, ___2, ___3} + {booelan_mult, ___1, ___3} end | __Stack]. -compile({inline,yeccpars2_20_/1}). -dialyzer({nowarn_function, yeccpars2_20_/1}). -compile({nowarn_unused_function, yeccpars2_20_/1}). --file("src/build_query_parser.yrl", 8). +-file("src/build_query_parser.yrl", 26). yeccpars2_20_(__Stack0) -> - [___1 | __Stack] = __Stack0, + [___3,___2,___1 | __Stack] = __Stack0, [begin - ___1 + {boolean_add, ___1, ___3} end | __Stack]. --compile({inline,yeccpars2_21_/1}). --dialyzer({nowarn_function, yeccpars2_21_/1}). --compile({nowarn_unused_function, yeccpars2_21_/1}). --file("src/build_query_parser.yrl", 9). -yeccpars2_21_(__Stack0) -> - [___1 | __Stack] = __Stack0, +-compile({inline,yeccpars2_22_/1}). +-dialyzer({nowarn_function, yeccpars2_22_/1}). +-compile({nowarn_unused_function, yeccpars2_22_/1}). +-file("src/build_query_parser.yrl", 28). +yeccpars2_22_(__Stack0) -> + [___3,___2,___1 | __Stack] = __Stack0, [begin - ___1 + {fieldname, extract_value(___1), '.', extract_value(___3)} end | __Stack]. --compile({inline,yeccpars2_23_/1}). --dialyzer({nowarn_function, yeccpars2_23_/1}). --compile({nowarn_unused_function, yeccpars2_23_/1}). --file("src/build_query_parser.yrl", 15). -yeccpars2_23_(__Stack0) -> - [begin - nil - end | __Stack0]. - -compile({inline,yeccpars2_24_/1}). -dialyzer({nowarn_function, yeccpars2_24_/1}). -compile({nowarn_unused_function, yeccpars2_24_/1}). --file("src/build_query_parser.yrl", 11). +-file("src/build_query_parser.yrl", 10). yeccpars2_24_(__Stack0) -> - [___1 | __Stack] = __Stack0, + [___3,___2,___1 | __Stack] = __Stack0, [begin - {from, ___1} - end | __Stack]. - --compile({inline,yeccpars2_25_/1}). --dialyzer({nowarn_function, yeccpars2_25_/1}). --compile({nowarn_unused_function, yeccpars2_25_/1}). --file("src/build_query_parser.yrl", 12). -yeccpars2_25_(__Stack0) -> - [___1 | __Stack] = __Stack0, - [begin - ___1 + {___1, ___3} end | __Stack]. -compile({inline,yeccpars2_26_/1}). @@ -752,48 +782,77 @@ yeccpars2_25_(__Stack0) -> -file("src/build_query_parser.yrl", 18). yeccpars2_26_(__Stack0) -> [begin - nil + nil end | __Stack0]. -compile({inline,yeccpars2_27_/1}). -dialyzer({nowarn_function, yeccpars2_27_/1}). -compile({nowarn_unused_function, yeccpars2_27_/1}). --file("src/build_query_parser.yrl", 13). +-file("src/build_query_parser.yrl", 14). yeccpars2_27_(__Stack0) -> - [___2,___1 | __Stack] = __Stack0, + [___1 | __Stack] = __Stack0, [begin - {___1, ___2} + {from, ___1} + end | __Stack]. + +-compile({inline,yeccpars2_28_/1}). +-dialyzer({nowarn_function, yeccpars2_28_/1}). +-compile({nowarn_unused_function, yeccpars2_28_/1}). +-file("src/build_query_parser.yrl", 15). +yeccpars2_28_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 end | __Stack]. -compile({inline,yeccpars2_29_/1}). -dialyzer({nowarn_function, yeccpars2_29_/1}). -compile({nowarn_unused_function, yeccpars2_29_/1}). --file("src/build_query_parser.yrl", 19). +-file("src/build_query_parser.yrl", 21). yeccpars2_29_(__Stack0) -> - [___2,___1 | __Stack] = __Stack0, [begin - {alias, ___2} - end | __Stack]. + nil + end | __Stack0]. -compile({inline,yeccpars2_30_/1}). -dialyzer({nowarn_function, yeccpars2_30_/1}). -compile({nowarn_unused_function, yeccpars2_30_/1}). --file("src/build_query_parser.yrl", 4). +-file("src/build_query_parser.yrl", 16). yeccpars2_30_(__Stack0) -> - [___6,___5,___4,___3,___2,___1 | __Stack] = __Stack0, + [___2,___1 | __Stack] = __Stack0, [begin - {select, ___2, ___3, ___5, ___6} + {___1, ___2} end | __Stack]. -compile({inline,yeccpars2_32_/1}). -dialyzer({nowarn_function, yeccpars2_32_/1}). -compile({nowarn_unused_function, yeccpars2_32_/1}). --file("src/build_query_parser.yrl", 16). +-file("src/build_query_parser.yrl", 22). yeccpars2_32_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + {alias, ___2} + end | __Stack]. + +-compile({inline,yeccpars2_33_/1}). +-dialyzer({nowarn_function, yeccpars2_33_/1}). +-compile({nowarn_unused_function, yeccpars2_33_/1}). +-file("src/build_query_parser.yrl", 4). +yeccpars2_33_(__Stack0) -> + [___6,___5,___4,___3,___2,___1 | __Stack] = __Stack0, + [begin + {select, ___2, ___3, ___5, ___6} + end | __Stack]. + +-compile({inline,yeccpars2_35_/1}). +-dialyzer({nowarn_function, yeccpars2_35_/1}). +-compile({nowarn_unused_function, yeccpars2_35_/1}). +-file("src/build_query_parser.yrl", 19). +yeccpars2_35_(__Stack0) -> [___2,___1 | __Stack] = __Stack0, [begin {where, ___2} end | __Stack]. --file("src/build_query_parser.yrl", 42). +-file("src/build_query_parser.yrl", 43). From 9071672ce2a104dceead21553691f36781f23bca Mon Sep 17 00:00:00 2001 From: Thiago Ramos Date: Wed, 30 Nov 2022 23:14:07 -0300 Subject: [PATCH 5/6] adding simple query with fields --- src/build_query_parser.yrl | 11 ++++++----- test/query_builder/query_builder_test.exs | 15 +++++++++++++++ test/query_builder_test.exs | 18 ------------------ 3 files changed, 21 insertions(+), 23 deletions(-) create mode 100644 test/query_builder/query_builder_test.exs delete mode 100644 test/query_builder_test.exs diff --git a/src/build_query_parser.yrl b/src/build_query_parser.yrl index 39c1926..9c80410 100644 --- a/src/build_query_parser.yrl +++ b/src/build_query_parser.yrl @@ -1,15 +1,18 @@ Nonterminals select_stmt select_opts select_expr_list select_expr table_references table_reference table_factor opt_where expr opt_as_alias. Terminals identifier select from where operator number as quoted boolean_mult boolean_add - left_paren right_paren fieldname grouping dot. +left_paren right_paren fieldname grouping dot comma distinct all all_fields. Rootsymbol select_stmt. select_stmt -> select select_opts select_expr_list : {select, '$2', '$3'}. select_stmt -> select select_opts select_expr_list from table_references opt_where : {select, '$2', '$3', '$5', '$6'}. -select_opts -> expr : '$1'. +select_opts -> '$empty' : nil. +select_opts -> distinct : {select_opts, '$1'}. select_expr_list -> '$empty' : nil. -select_expr_list -> select_expr : '$1'. +select_expr_list -> select_expr : {fields, '$1'}. +select_expr -> select_expr comma select_expr : {'$1', '$3'}. +select_expr -> all: {extract_token('$1')}. select_expr -> expr : '$1'. table_references -> table_reference : {from, '$1'}. @@ -37,5 +40,3 @@ Erlang code. extract_value({_Token, _Line, Value}) -> Value. extract_token({Token, _Line}) -> Token. -remove_line({Token, _Line, Value}) -> {Token, Value}. -remove_quotes({_Token, _Line, Value}) -> list_to_binary(sub_string(Value, 2, len(Value)-1)). diff --git a/test/query_builder/query_builder_test.exs b/test/query_builder/query_builder_test.exs new file mode 100644 index 0000000..bd04abf --- /dev/null +++ b/test/query_builder/query_builder_test.exs @@ -0,0 +1,15 @@ +defmodule KinoEcto.QueryBuilderTest do + use ExUnit.Case + + import Ecto.Query + + alias KinoEcto.QueryBuilder + + test "parses simple query" do + query = "SELECT name, age FROM customers" + result = QueryBuilder.call(query) + + dbg() + IO.inspect(result) + end +end diff --git a/test/query_builder_test.exs b/test/query_builder_test.exs deleted file mode 100644 index c13c280..0000000 --- a/test/query_builder_test.exs +++ /dev/null @@ -1,18 +0,0 @@ -defmodule KinoEcto.QueryBuilderTest do - use ExUnit.Case - - import Ecto.Query - - alias KinoEcto.QueryBuilder - - test "parses simple query" do - query = "SELECT * FROM persons WHERE name = 'John'" - - IO.inspect(QueryBuilder.call(query)) - IO.inspect(QueryBuilder.test(query)) - end - - test "parses simple with where" do - query = "SELECT name FROM persons WHERE name = 'John'" - end -end From b9856194bb12b44e0ec86d7f3499c220f738aaae Mon Sep 17 00:00:00 2001 From: Thiago Ramos Date: Thu, 1 Dec 2022 22:22:29 -0300 Subject: [PATCH 6/6] adding join support --- lib/query_builder.ex | 15 +- lib/query_builder/domain/customer.ex | 9 + lib/query_builder/domain/sale.ex | 8 + src/build_query_lexer.erl | 1869 +++++++++++---------- src/build_query_lexer.xrl | 1 + src/build_query_parser.erl | 268 ++- src/build_query_parser.yrl | 10 +- test/query_builder/query_builder_test.exs | 31 +- 8 files changed, 1199 insertions(+), 1012 deletions(-) create mode 100644 lib/query_builder/domain/customer.ex create mode 100644 lib/query_builder/domain/sale.ex diff --git a/lib/query_builder.ex b/lib/query_builder.ex index 27702f6..1fa4d06 100644 --- a/lib/query_builder.ex +++ b/lib/query_builder.ex @@ -3,17 +3,6 @@ defmodule KinoEcto.QueryBuilder do import Ecto.Query alias KinoEcto.QueryBuilder.Renderer - defmodule Customer do - use Ecto.Schema - - import Ecto.Query - - schema "customers" do - field(:name, :string) - field(:age, :string) - end - end - # def call(%__MODULE__{sql_query: query}) do # query = String.downcase(query) # {:ok, tokens, _} = :build_query_lexer.string(query) @@ -53,6 +42,8 @@ defmodule KinoEcto.QueryBuilder do defp cleanup(ast), do: ast defp build_query(ast) do + dbg() + ast |> Enum.reduce(%Ecto.Query{}, fn item, acc -> acc = do_build_query(item, acc) @@ -62,6 +53,8 @@ defmodule KinoEcto.QueryBuilder do defp do_build_query(:select, query), do: query + defp do_build_query([:fields, [:all]], query), do: query + defp do_build_query([:fields, fields], query) do flatten_fields = List.flatten(fields) |> Enum.map(&String.to_atom/1) diff --git a/lib/query_builder/domain/customer.ex b/lib/query_builder/domain/customer.ex new file mode 100644 index 0000000..147cbd2 --- /dev/null +++ b/lib/query_builder/domain/customer.ex @@ -0,0 +1,9 @@ +defmodule KinoEcto.QueryBuilder.Domain.Customer do + use Ecto.Schema + + schema "customers" do + field(:name, :string) + field(:age, :string) + has_many(:sales, KinoEcto.QueryBuilder.Domain.Sale) + end +end diff --git a/lib/query_builder/domain/sale.ex b/lib/query_builder/domain/sale.ex new file mode 100644 index 0000000..cd2513b --- /dev/null +++ b/lib/query_builder/domain/sale.ex @@ -0,0 +1,8 @@ +defmodule KinoEcto.QueryBuilder.Domain.Sale do + use Ecto.Schema + + schema "sales" do + field(:total, :string) + belongs_to(:customer, KinoEcto.QueryBuilder.Domain.Customer) + end +end diff --git a/src/build_query_lexer.erl b/src/build_query_lexer.erl index f5ac7bd..03d3057 100644 --- a/src/build_query_lexer.erl +++ b/src/build_query_lexer.erl @@ -12,7 +12,7 @@ -export([format_error/1]). %% User code. This is placed here to allow extra attributes. --file("src/build_query_lexer.xrl", 64). +-file("src/build_query_lexer.xrl", 65). oid(Oid) -> S = tl(lists:droplast(Oid)), @@ -311,1128 +311,1142 @@ adjust_line(T, A, [_|Cs], L) -> %% input. -file("src/build_query_lexer.erl", 312). -yystate() -> 100. - -yystate(103, [110|Ics], Line, Tlen, _, _) -> - yystate(101, Ics, Line, Tlen+1, 8, Tlen); -yystate(103, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 8, Tlen); -yystate(103, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 8, Tlen); -yystate(103, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 8, Tlen); -yystate(103, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(76, Ics, Line, Tlen+1, 8, Tlen); -yystate(103, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 8, Tlen); +yystate() -> 101. + +yystate(104, [110|Ics], Line, Tlen, _, _) -> + yystate(100, Ics, Line, Tlen+1, 8, Tlen); +yystate(104, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 8, Tlen); +yystate(104, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 8, Tlen); +yystate(104, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 8, Tlen); +yystate(104, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(77, Ics, Line, Tlen+1, 8, Tlen); +yystate(104, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 8, Tlen); +yystate(104, Ics, Line, Tlen, _, _) -> + {8,Tlen,Ics,Line,104}; +yystate(103, [32|Ics], Line, Tlen, _, _) -> + yystate(103, Ics, Line, Tlen+1, 36, Tlen); +yystate(103, [13|Ics], Line, Tlen, _, _) -> + yystate(103, Ics, Line, Tlen+1, 36, Tlen); +yystate(103, [9|Ics], Line, Tlen, _, _) -> + yystate(103, Ics, Line, Tlen+1, 36, Tlen); +yystate(103, [10|Ics], Line, Tlen, _, _) -> + yystate(103, Ics, Line+1, Tlen+1, 36, Tlen); yystate(103, Ics, Line, Tlen, _, _) -> - {8,Tlen,Ics,Line,103}; -yystate(102, [32|Ics], Line, Tlen, _, _) -> - yystate(102, Ics, Line, Tlen+1, 35, Tlen); -yystate(102, [13|Ics], Line, Tlen, _, _) -> - yystate(102, Ics, Line, Tlen+1, 35, Tlen); -yystate(102, [9|Ics], Line, Tlen, _, _) -> - yystate(102, Ics, Line, Tlen+1, 35, Tlen); -yystate(102, [10|Ics], Line, Tlen, _, _) -> - yystate(102, Ics, Line+1, Tlen+1, 35, Tlen); + {36,Tlen,Ics,Line,103}; +yystate(102, [110|Ics], Line, Tlen, _, _) -> + yystate(104, Ics, Line, Tlen+1, 33, Tlen); +yystate(102, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(102, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(102, Ics, Line, Tlen, _, _) -> - {35,Tlen,Ics,Line,102}; -yystate(101, [101|Ics], Line, Tlen, _, _) -> - yystate(97, Ics, Line, Tlen+1, 32, Tlen); -yystate(101, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(101, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(101, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(101, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(101, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(101, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,101}; -yystate(100, [119|Ics], Line, Tlen, Action, Alen) -> - yystate(96, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [117|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [118|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [116|Ics], Line, Tlen, Action, Alen) -> - yystate(72, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [115|Ics], Line, Tlen, Action, Alen) -> - yystate(56, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [114|Ics], Line, Tlen, Action, Alen) -> - yystate(24, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [112|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [113|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(15, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(23, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [109|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [108|Ics], Line, Tlen, Action, Alen) -> - yystate(35, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [107|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(83, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(99, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [103|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [104|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [102|Ics], Line, Tlen, Action, Alen) -> - yystate(69, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [100|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [101|Ics], Line, Tlen, Action, Alen) -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [99|Ics], Line, Tlen, Action, Alen) -> - yystate(37, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [98|Ics], Line, Tlen, Action, Alen) -> - yystate(17, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [97|Ics], Line, Tlen, Action, Alen) -> - yystate(10, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [93|Ics], Line, Tlen, Action, Alen) -> + {33,Tlen,Ics,Line,102}; +yystate(101, [119|Ics], Line, Tlen, Action, Alen) -> + yystate(97, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [117|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [118|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [116|Ics], Line, Tlen, Action, Alen) -> + yystate(73, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [115|Ics], Line, Tlen, Action, Alen) -> + yystate(57, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [114|Ics], Line, Tlen, Action, Alen) -> + yystate(25, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [112|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [113|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(14, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [110|Ics], Line, Tlen, Action, Alen) -> yystate(26, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [91|Ics], Line, Tlen, Action, Alen) -> - yystate(30, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [62|Ics], Line, Tlen, Action, Alen) -> - yystate(34, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [61|Ics], Line, Tlen, Action, Alen) -> - yystate(42, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [60|Ics], Line, Tlen, Action, Alen) -> - yystate(46, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [46|Ics], Line, Tlen, Action, Alen) -> - yystate(58, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [44|Ics], Line, Tlen, Action, Alen) -> - yystate(62, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [42|Ics], Line, Tlen, Action, Alen) -> - yystate(66, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [41|Ics], Line, Tlen, Action, Alen) -> - yystate(70, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [40|Ics], Line, Tlen, Action, Alen) -> - yystate(74, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [39|Ics], Line, Tlen, Action, Alen) -> - yystate(82, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [34|Ics], Line, Tlen, Action, Alen) -> - yystate(90, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [33|Ics], Line, Tlen, Action, Alen) -> - yystate(94, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [32|Ics], Line, Tlen, Action, Alen) -> - yystate(102, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [13|Ics], Line, Tlen, Action, Alen) -> - yystate(102, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [9|Ics], Line, Tlen, Action, Alen) -> +yystate(101, [109|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [108|Ics], Line, Tlen, Action, Alen) -> + yystate(38, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [107|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(86, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [105|Ics], Line, Tlen, Action, Alen) -> yystate(102, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(102, Ics, Line+1, Tlen+1, Action, Alen); -yystate(100, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> - yystate(54, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [C|Ics], Line, Tlen, Action, Alen) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, [C|Ics], Line, Tlen, Action, Alen) when C >= 120, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, Action, Alen); -yystate(100, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,100}; -yystate(99, [110|Ics], Line, Tlen, _, _) -> - yystate(103, Ics, Line, Tlen+1, 32, Tlen); -yystate(99, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(99, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(99, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(99, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(99, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); +yystate(101, [103|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [104|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [102|Ics], Line, Tlen, Action, Alen) -> + yystate(68, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [100|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [101|Ics], Line, Tlen, Action, Alen) -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [99|Ics], Line, Tlen, Action, Alen) -> + yystate(36, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [98|Ics], Line, Tlen, Action, Alen) -> + yystate(16, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [97|Ics], Line, Tlen, Action, Alen) -> + yystate(11, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [93|Ics], Line, Tlen, Action, Alen) -> + yystate(27, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [91|Ics], Line, Tlen, Action, Alen) -> + yystate(31, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [62|Ics], Line, Tlen, Action, Alen) -> + yystate(35, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(43, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [60|Ics], Line, Tlen, Action, Alen) -> + yystate(47, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [46|Ics], Line, Tlen, Action, Alen) -> + yystate(59, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [44|Ics], Line, Tlen, Action, Alen) -> + yystate(63, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [42|Ics], Line, Tlen, Action, Alen) -> + yystate(67, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [41|Ics], Line, Tlen, Action, Alen) -> + yystate(71, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [40|Ics], Line, Tlen, Action, Alen) -> + yystate(75, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [39|Ics], Line, Tlen, Action, Alen) -> + yystate(83, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [34|Ics], Line, Tlen, Action, Alen) -> + yystate(91, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [33|Ics], Line, Tlen, Action, Alen) -> + yystate(95, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [32|Ics], Line, Tlen, Action, Alen) -> + yystate(103, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [13|Ics], Line, Tlen, Action, Alen) -> + yystate(103, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [9|Ics], Line, Tlen, Action, Alen) -> + yystate(103, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(103, Ics, Line+1, Tlen+1, Action, Alen); +yystate(101, [C|Ics], Line, Tlen, Action, Alen) when C >= 48, C =< 57 -> + yystate(55, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [C|Ics], Line, Tlen, Action, Alen) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, [C|Ics], Line, Tlen, Action, Alen) when C >= 120, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, Action, Alen); +yystate(101, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,101}; +yystate(100, [101|Ics], Line, Tlen, _, _) -> + yystate(96, Ics, Line, Tlen+1, 33, Tlen); +yystate(100, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(100, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(100, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,100}; yystate(99, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,99}; -yystate(98, Ics, Line, Tlen, _, _) -> {2,Tlen,Ics,Line}; -yystate(97, [114|Ics], Line, Tlen, _, _) -> - yystate(93, Ics, Line, Tlen+1, 32, Tlen); +yystate(98, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 28, Tlen); +yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 28, Tlen); +yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 28, Tlen); +yystate(98, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 28, Tlen); +yystate(98, Ics, Line, Tlen, _, _) -> + {28,Tlen,Ics,Line,98}; +yystate(97, [104|Ics], Line, Tlen, _, _) -> + yystate(93, Ics, Line, Tlen+1, 33, Tlen); yystate(97, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(97, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(97, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,97}; -yystate(96, [104|Ics], Line, Tlen, _, _) -> - yystate(92, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,97}; +yystate(96, [114|Ics], Line, Tlen, _, _) -> + yystate(92, Ics, Line, Tlen+1, 33, Tlen); yystate(96, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(96, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(96, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,96}; -yystate(95, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 28, Tlen); -yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 28, Tlen); -yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 28, Tlen); -yystate(95, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 28, Tlen); -yystate(95, Ics, Line, Tlen, _, _) -> - {28,Tlen,Ics,Line,95}; -yystate(94, [61|Ics], Line, Tlen, Action, Alen) -> - yystate(98, Ics, Line, Tlen+1, Action, Alen); -yystate(94, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,94}; + {33,Tlen,Ics,Line,96}; +yystate(95, [61|Ics], Line, Tlen, Action, Alen) -> + yystate(99, Ics, Line, Tlen+1, Action, Alen); +yystate(95, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,95}; +yystate(94, [110|Ics], Line, Tlen, _, _) -> + yystate(98, Ics, Line, Tlen+1, 33, Tlen); +yystate(94, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(94, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(94, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,94}; +yystate(93, [101|Ics], Line, Tlen, _, _) -> + yystate(89, Ics, Line, Tlen+1, 33, Tlen); yystate(93, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(93, [32|Ics], Line, Tlen, _, _) -> - yystate(89, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(93, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(93, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,93}; -yystate(92, [101|Ics], Line, Tlen, _, _) -> - yystate(88, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,93}; yystate(92, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(92, [32|Ics], Line, Tlen, _, _) -> + yystate(88, Ics, Line, Tlen+1, 33, Tlen); yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(92, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(92, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,92}; -yystate(91, [110|Ics], Line, Tlen, _, _) -> - yystate(95, Ics, Line, Tlen+1, 32, Tlen); -yystate(91, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(91, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(91, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,91}; -yystate(90, [34|Ics], Line, Tlen, Action, Alen) -> - yystate(86, Ics, Line, Tlen+1, Action, Alen); -yystate(90, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(90, Ics, Line+1, Tlen+1, Action, Alen); -yystate(90, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> - yystate(90, Ics, Line, Tlen+1, Action, Alen); -yystate(90, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 33 -> - yystate(90, Ics, Line, Tlen+1, Action, Alen); -yystate(90, [C|Ics], Line, Tlen, Action, Alen) when C >= 35 -> - yystate(90, Ics, Line, Tlen+1, Action, Alen); -yystate(90, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,90}; -yystate(89, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(85, Ics, Line, Tlen+1, Action, Alen); -yystate(89, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,89}; -yystate(88, [114|Ics], Line, Tlen, _, _) -> - yystate(84, Ics, Line, Tlen+1, 32, Tlen); -yystate(88, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(88, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(88, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,88}; -yystate(87, [105|Ics], Line, Tlen, _, _) -> - yystate(91, Ics, Line, Tlen+1, 32, Tlen); -yystate(87, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(87, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,92}; +yystate(91, [34|Ics], Line, Tlen, Action, Alen) -> + yystate(87, Ics, Line, Tlen+1, Action, Alen); +yystate(91, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(91, Ics, Line+1, Tlen+1, Action, Alen); +yystate(91, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> + yystate(91, Ics, Line, Tlen+1, Action, Alen); +yystate(91, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 33 -> + yystate(91, Ics, Line, Tlen+1, Action, Alen); +yystate(91, [C|Ics], Line, Tlen, Action, Alen) when C >= 35 -> + yystate(91, Ics, Line, Tlen+1, Action, Alen); +yystate(91, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,91}; +yystate(90, [105|Ics], Line, Tlen, _, _) -> + yystate(94, Ics, Line, Tlen+1, 33, Tlen); +yystate(90, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(90, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(90, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,90}; +yystate(89, [114|Ics], Line, Tlen, _, _) -> + yystate(85, Ics, Line, Tlen+1, 33, Tlen); +yystate(89, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(89, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(89, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,89}; +yystate(88, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(84, Ics, Line, Tlen+1, Action, Alen); +yystate(88, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,88}; yystate(87, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,87}; + {35,Tlen,Ics,Line}; +yystate(86, [111|Ics], Line, Tlen, _, _) -> + yystate(90, Ics, Line, Tlen+1, 33, Tlen); +yystate(86, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(86, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(86, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,86}; +yystate(85, [101|Ics], Line, Tlen, _, _) -> + yystate(81, Ics, Line, Tlen+1, 33, Tlen); +yystate(85, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(85, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(85, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,85}; +yystate(84, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(80, Ics, Line, Tlen+1, Action, Alen); +yystate(84, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,84}; +yystate(83, [39|Ics], Line, Tlen, Action, Alen) -> + yystate(79, Ics, Line, Tlen+1, Action, Alen); +yystate(83, [10|Ics], Line, Tlen, Action, Alen) -> + yystate(83, Ics, Line+1, Tlen+1, Action, Alen); +yystate(83, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> + yystate(83, Ics, Line, Tlen+1, Action, Alen); +yystate(83, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 38 -> + yystate(83, Ics, Line, Tlen+1, Action, Alen); +yystate(83, [C|Ics], Line, Tlen, Action, Alen) when C >= 40 -> + yystate(83, Ics, Line, Tlen+1, Action, Alen); +yystate(83, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,83}; +yystate(82, Ics, Line, Tlen, _, _) -> + {30,Tlen,Ics,Line}; +yystate(81, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 22, Tlen); +yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 22, Tlen); +yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 22, Tlen); +yystate(81, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 22, Tlen); +yystate(81, Ics, Line, Tlen, _, _) -> + {22,Tlen,Ics,Line,81}; +yystate(80, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(76, Ics, Line, Tlen+1, Action, Alen); +yystate(80, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,80}; +yystate(79, Ics, Line, Tlen, _, _) -> {34,Tlen,Ics,Line}; -yystate(85, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(81, Ics, Line, Tlen+1, Action, Alen); -yystate(85, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,85}; -yystate(84, [101|Ics], Line, Tlen, _, _) -> - yystate(80, Ics, Line, Tlen+1, 32, Tlen); -yystate(84, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(84, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(84, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,84}; -yystate(83, [111|Ics], Line, Tlen, _, _) -> - yystate(87, Ics, Line, Tlen+1, 32, Tlen); -yystate(83, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(83, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(83, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,83}; -yystate(82, [39|Ics], Line, Tlen, Action, Alen) -> - yystate(78, Ics, Line, Tlen+1, Action, Alen); -yystate(82, [10|Ics], Line, Tlen, Action, Alen) -> - yystate(82, Ics, Line+1, Tlen+1, Action, Alen); -yystate(82, [C|Ics], Line, Tlen, Action, Alen) when C >= 0, C =< 9 -> +yystate(78, [110|Ics], Line, Tlen, Action, Alen) -> yystate(82, Ics, Line, Tlen+1, Action, Alen); -yystate(82, [C|Ics], Line, Tlen, Action, Alen) when C >= 11, C =< 38 -> - yystate(82, Ics, Line, Tlen+1, Action, Alen); -yystate(82, [C|Ics], Line, Tlen, Action, Alen) when C >= 40 -> - yystate(82, Ics, Line, Tlen+1, Action, Alen); -yystate(82, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,82}; -yystate(81, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(77, Ics, Line, Tlen+1, Action, Alen); -yystate(81, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,81}; -yystate(80, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 22, Tlen); -yystate(80, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 22, Tlen); -yystate(80, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 22, Tlen); -yystate(80, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 22, Tlen); -yystate(80, Ics, Line, Tlen, _, _) -> - {22,Tlen,Ics,Line,80}; -yystate(79, Ics, Line, Tlen, _, _) -> - {30,Tlen,Ics,Line}; -yystate(78, Ics, Line, Tlen, _, _) -> - {33,Tlen,Ics,Line}; -yystate(77, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(73, Ics, Line, Tlen+1, Action, Alen); -yystate(77, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,77}; -yystate(76, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(76, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(76, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(76, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(76, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,76}; -yystate(75, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(79, Ics, Line, Tlen+1, Action, Alen); -yystate(75, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,75}; -yystate(74, Ics, Line, Tlen, _, _) -> +yystate(78, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,78}; +yystate(77, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(77, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(77, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,77}; +yystate(76, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(72, Ics, Line, Tlen+1, Action, Alen); +yystate(76, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,76}; +yystate(75, Ics, Line, Tlen, _, _) -> {11,Tlen,Ics,Line}; +yystate(74, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(78, Ics, Line, Tlen+1, Action, Alen); +yystate(74, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,74}; +yystate(73, [114|Ics], Line, Tlen, _, _) -> + yystate(69, Ics, Line, Tlen+1, 33, Tlen); +yystate(73, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(73, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(73, Ics, Line, Tlen, _, _) -> - {29,Tlen,Ics,Line}; -yystate(72, [114|Ics], Line, Tlen, _, _) -> - yystate(68, Ics, Line, Tlen+1, 32, Tlen); -yystate(72, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(72, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(72, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(72, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(72, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,73}; yystate(72, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,72}; -yystate(71, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(75, Ics, Line, Tlen+1, Action, Alen); -yystate(71, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,71}; -yystate(70, Ics, Line, Tlen, _, _) -> + {29,Tlen,Ics,Line}; +yystate(71, Ics, Line, Tlen, _, _) -> {12,Tlen,Ics,Line}; -yystate(69, [114|Ics], Line, Tlen, _, _) -> - yystate(65, Ics, Line, Tlen+1, 32, Tlen); -yystate(69, [97|Ics], Line, Tlen, _, _) -> - yystate(53, Ics, Line, Tlen+1, 32, Tlen); +yystate(70, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(74, Ics, Line, Tlen+1, Action, Alen); +yystate(70, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,70}; +yystate(69, [117|Ics], Line, Tlen, _, _) -> + yystate(65, Ics, Line, Tlen+1, 33, Tlen); yystate(69, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 98, C =< 113 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(69, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(69, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,69}; -yystate(68, [117|Ics], Line, Tlen, _, _) -> - yystate(64, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,69}; +yystate(68, [114|Ics], Line, Tlen, _, _) -> + yystate(64, Ics, Line, Tlen+1, 33, Tlen); +yystate(68, [97|Ics], Line, Tlen, _, _) -> + yystate(52, Ics, Line, Tlen+1, 33, Tlen); yystate(68, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 98, C =< 113 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(68, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(68, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,68}; -yystate(67, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(71, Ics, Line, Tlen+1, Action, Alen); -yystate(67, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,67}; -yystate(66, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,68}; +yystate(67, Ics, Line, Tlen, _, _) -> {17,Tlen,Ics,Line}; -yystate(65, [111|Ics], Line, Tlen, _, _) -> - yystate(61, Ics, Line, Tlen+1, 32, Tlen); +yystate(66, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(70, Ics, Line, Tlen+1, Action, Alen); +yystate(66, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,66}; +yystate(65, [101|Ics], Line, Tlen, _, _) -> + yystate(61, Ics, Line, Tlen+1, 33, Tlen); yystate(65, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(65, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(65, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,65}; -yystate(64, [101|Ics], Line, Tlen, _, _) -> - yystate(60, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,65}; +yystate(64, [111|Ics], Line, Tlen, _, _) -> + yystate(60, Ics, Line, Tlen+1, 33, Tlen); yystate(64, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(64, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(64, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,64}; -yystate(63, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(67, Ics, Line, Tlen+1, Action, Alen); -yystate(63, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,63}; -yystate(62, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,64}; +yystate(63, Ics, Line, Tlen, _, _) -> {16,Tlen,Ics,Line}; -yystate(61, [109|Ics], Line, Tlen, _, _) -> - yystate(57, Ics, Line, Tlen+1, 32, Tlen); +yystate(62, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(62, [32|Ics], Line, Tlen, _, _) -> + yystate(66, Ics, Line, Tlen+1, 33, Tlen); +yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(62, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(62, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,62}; yystate(61, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 23, Tlen); yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 23, Tlen); yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 23, Tlen); +yystate(61, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 23, Tlen); yystate(61, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,61}; + {23,Tlen,Ics,Line,61}; +yystate(60, [109|Ics], Line, Tlen, _, _) -> + yystate(56, Ics, Line, Tlen+1, 33, Tlen); yystate(60, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 23, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 23, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 23, Tlen); -yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 23, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(60, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(60, Ics, Line, Tlen, _, _) -> - {23,Tlen,Ics,Line,60}; -yystate(59, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(59, [32|Ics], Line, Tlen, _, _) -> - yystate(63, Ics, Line, Tlen+1, 32, Tlen); -yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(59, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,60}; yystate(59, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,59}; -yystate(58, Ics, Line, Tlen, _, _) -> {15,Tlen,Ics,Line}; +yystate(58, [116|Ics], Line, Tlen, _, _) -> + yystate(62, Ics, Line, Tlen+1, 33, Tlen); +yystate(58, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(58, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(58, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,58}; +yystate(57, [117|Ics], Line, Tlen, _, _) -> + yystate(53, Ics, Line, Tlen+1, 33, Tlen); +yystate(57, [101|Ics], Line, Tlen, _, _) -> + yystate(45, Ics, Line, Tlen+1, 33, Tlen); yystate(57, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 27, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 27, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 27, Tlen); -yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 27, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 116 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(57, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(57, Ics, Line, Tlen, _, _) -> - {27,Tlen,Ics,Line,57}; -yystate(56, [117|Ics], Line, Tlen, _, _) -> - yystate(52, Ics, Line, Tlen+1, 32, Tlen); -yystate(56, [101|Ics], Line, Tlen, _, _) -> - yystate(44, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,57}; yystate(56, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 27, Tlen); yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 27, Tlen); yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 116 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 27, Tlen); +yystate(56, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 27, Tlen); yystate(56, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,56}; -yystate(55, [116|Ics], Line, Tlen, _, _) -> - yystate(59, Ics, Line, Tlen+1, 32, Tlen); -yystate(55, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {27,Tlen,Ics,Line,56}; yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(55, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(55, Ics, Line, Tlen+1, 0, Tlen); yystate(55, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,55}; + {0,Tlen,Ics,Line,55}; +yystate(54, [102|Ics], Line, Tlen, _, _) -> + yystate(58, Ics, Line, Tlen+1, 33, Tlen); +yystate(54, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(54, Ics, Line, Tlen+1, 0, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 101 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(54, [C|Ics], Line, Tlen, _, _) when C >= 103, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(54, Ics, Line, Tlen, _, _) -> - {0,Tlen,Ics,Line,54}; -yystate(53, [108|Ics], Line, Tlen, _, _) -> - yystate(49, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,54}; +yystate(53, [109|Ics], Line, Tlen, _, _) -> + yystate(49, Ics, Line, Tlen+1, 33, Tlen); yystate(53, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(53, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(53, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,53}; -yystate(52, [109|Ics], Line, Tlen, _, _) -> - yystate(48, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,53}; +yystate(52, [108|Ics], Line, Tlen, _, _) -> + yystate(48, Ics, Line, Tlen+1, 33, Tlen); yystate(52, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 108 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 110, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(52, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(52, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,52}; -yystate(51, [102|Ics], Line, Tlen, _, _) -> - yystate(55, Ics, Line, Tlen+1, 32, Tlen); -yystate(51, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 101 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(51, [C|Ics], Line, Tlen, _, _) when C >= 103, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,52}; yystate(51, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,51}; -yystate(50, Ics, Line, Tlen, _, _) -> {5,Tlen,Ics,Line}; -yystate(49, [115|Ics], Line, Tlen, _, _) -> - yystate(45, Ics, Line, Tlen+1, 32, Tlen); +yystate(50, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 7, Tlen); +yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 7, Tlen); +yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 7, Tlen); +yystate(50, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 7, Tlen); +yystate(50, Ics, Line, Tlen, _, _) -> + {7,Tlen,Ics,Line,50}; yystate(49, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 10, Tlen); yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 10, Tlen); yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 114 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 10, Tlen); +yystate(49, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 10, Tlen); yystate(49, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,49}; + {10,Tlen,Ics,Line,49}; +yystate(48, [115|Ics], Line, Tlen, _, _) -> + yystate(44, Ics, Line, Tlen+1, 33, Tlen); yystate(48, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 10, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 10, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 10, Tlen); -yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 10, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 114 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(48, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(48, Ics, Line, Tlen, _, _) -> - {10,Tlen,Ics,Line,48}; -yystate(47, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 7, Tlen); -yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 7, Tlen); -yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 7, Tlen); -yystate(47, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 7, Tlen); + {33,Tlen,Ics,Line,48}; +yystate(47, [61|Ics], Line, Tlen, _, _) -> + yystate(51, Ics, Line, Tlen+1, 3, Tlen); yystate(47, Ics, Line, Tlen, _, _) -> - {7,Tlen,Ics,Line,47}; -yystate(46, [61|Ics], Line, Tlen, _, _) -> - yystate(50, Ics, Line, Tlen+1, 3, Tlen); + {3,Tlen,Ics,Line,47}; +yystate(46, [101|Ics], Line, Tlen, _, _) -> + yystate(50, Ics, Line, Tlen+1, 33, Tlen); +yystate(46, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(46, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(46, Ics, Line, Tlen, _, _) -> - {3,Tlen,Ics,Line,46}; -yystate(45, [101|Ics], Line, Tlen, _, _) -> - yystate(41, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,46}; +yystate(45, [108|Ics], Line, Tlen, _, _) -> + yystate(41, Ics, Line, Tlen+1, 33, Tlen); yystate(45, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(45, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(45, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,45}; -yystate(44, [108|Ics], Line, Tlen, _, _) -> - yystate(40, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,45}; +yystate(44, [101|Ics], Line, Tlen, _, _) -> + yystate(40, Ics, Line, Tlen+1, 33, Tlen); yystate(44, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 107 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 109, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(44, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(44, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,44}; -yystate(43, [101|Ics], Line, Tlen, _, _) -> - yystate(47, Ics, Line, Tlen+1, 32, Tlen); -yystate(43, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(43, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,44}; yystate(43, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,43}; -yystate(42, Ics, Line, Tlen, _, _) -> {1,Tlen,Ics,Line}; +yystate(42, [107|Ics], Line, Tlen, _, _) -> + yystate(46, Ics, Line, Tlen+1, 33, Tlen); +yystate(42, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 106 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(42, [C|Ics], Line, Tlen, _, _) when C >= 108, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(42, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,42}; +yystate(41, [101|Ics], Line, Tlen, _, _) -> + yystate(37, Ics, Line, Tlen+1, 33, Tlen); yystate(41, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 24, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 24, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 24, Tlen); -yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 24, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(41, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(41, Ics, Line, Tlen, _, _) -> - {24,Tlen,Ics,Line,41}; -yystate(40, [101|Ics], Line, Tlen, _, _) -> - yystate(36, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,41}; yystate(40, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 24, Tlen); yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 24, Tlen); yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 24, Tlen); +yystate(40, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 24, Tlen); yystate(40, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,40}; -yystate(39, [107|Ics], Line, Tlen, _, _) -> - yystate(43, Ics, Line, Tlen+1, 32, Tlen); -yystate(39, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 106 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(39, [C|Ics], Line, Tlen, _, _) when C >= 108, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {24,Tlen,Ics,Line,40}; yystate(39, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,39}; -yystate(38, Ics, Line, Tlen, _, _) -> {6,Tlen,Ics,Line}; -yystate(37, [111|Ics], Line, Tlen, _, _) -> - yystate(33, Ics, Line, Tlen+1, 32, Tlen); +yystate(38, [105|Ics], Line, Tlen, _, _) -> + yystate(42, Ics, Line, Tlen+1, 33, Tlen); +yystate(38, [101|Ics], Line, Tlen, _, _) -> + yystate(54, Ics, Line, Tlen+1, 33, Tlen); +yystate(38, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 104 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(38, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(38, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,38}; +yystate(37, [99|Ics], Line, Tlen, _, _) -> + yystate(33, Ics, Line, Tlen+1, 33, Tlen); +yystate(37, [97|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(37, [98|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(37, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(37, [C|Ics], Line, Tlen, _, _) when C >= 100, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(37, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,37}; -yystate(36, [99|Ics], Line, Tlen, _, _) -> - yystate(32, Ics, Line, Tlen+1, 32, Tlen); -yystate(36, [97|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(36, [98|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,37}; +yystate(36, [111|Ics], Line, Tlen, _, _) -> + yystate(32, Ics, Line, Tlen+1, 33, Tlen); yystate(36, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 100, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(36, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(36, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,36}; -yystate(35, [105|Ics], Line, Tlen, _, _) -> - yystate(39, Ics, Line, Tlen+1, 32, Tlen); -yystate(35, [101|Ics], Line, Tlen, _, _) -> - yystate(51, Ics, Line, Tlen+1, 32, Tlen); -yystate(35, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 104 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(35, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,36}; +yystate(35, [61|Ics], Line, Tlen, _, _) -> + yystate(39, Ics, Line, Tlen+1, 4, Tlen); yystate(35, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,35}; -yystate(34, [61|Ics], Line, Tlen, _, _) -> - yystate(38, Ics, Line, Tlen+1, 4, Tlen); + {4,Tlen,Ics,Line,35}; +yystate(34, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 21, Tlen); +yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 21, Tlen); +yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 21, Tlen); +yystate(34, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 21, Tlen); yystate(34, Ics, Line, Tlen, _, _) -> - {4,Tlen,Ics,Line,34}; -yystate(33, [117|Ics], Line, Tlen, _, _) -> - yystate(29, Ics, Line, Tlen+1, 32, Tlen); + {21,Tlen,Ics,Line,34}; +yystate(33, [116|Ics], Line, Tlen, _, _) -> + yystate(29, Ics, Line, Tlen+1, 33, Tlen); yystate(33, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(33, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(33, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,33}; -yystate(32, [116|Ics], Line, Tlen, _, _) -> - yystate(28, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,33}; +yystate(32, [117|Ics], Line, Tlen, _, _) -> + yystate(28, Ics, Line, Tlen+1, 33, Tlen); yystate(32, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 116 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(32, [C|Ics], Line, Tlen, _, _) when C >= 118, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(32, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,32}; -yystate(31, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 21, Tlen); -yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 21, Tlen); -yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 21, Tlen); -yystate(31, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 21, Tlen); + {33,Tlen,Ics,Line,32}; yystate(31, Ics, Line, Tlen, _, _) -> - {21,Tlen,Ics,Line,31}; -yystate(30, Ics, Line, Tlen, _, _) -> {13,Tlen,Ics,Line}; -yystate(29, [110|Ics], Line, Tlen, _, _) -> - yystate(25, Ics, Line, Tlen+1, 32, Tlen); +yystate(30, [116|Ics], Line, Tlen, _, _) -> + yystate(34, Ics, Line, Tlen+1, 33, Tlen); +yystate(30, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(30, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(30, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,30}; yystate(29, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 26, Tlen); yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 26, Tlen); yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 26, Tlen); +yystate(29, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 26, Tlen); yystate(29, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,29}; + {26,Tlen,Ics,Line,29}; +yystate(28, [110|Ics], Line, Tlen, _, _) -> + yystate(24, Ics, Line, Tlen+1, 33, Tlen); yystate(28, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 26, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 26, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 26, Tlen); -yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 26, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(28, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(28, Ics, Line, Tlen, _, _) -> - {26,Tlen,Ics,Line,28}; -yystate(27, [116|Ics], Line, Tlen, _, _) -> - yystate(31, Ics, Line, Tlen+1, 32, Tlen); -yystate(27, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(27, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,28}; yystate(27, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,27}; -yystate(26, Ics, Line, Tlen, _, _) -> {14,Tlen,Ics,Line}; -yystate(25, [116|Ics], Line, Tlen, _, _) -> - yystate(21, Ics, Line, Tlen+1, 32, Tlen); +yystate(26, [111|Ics], Line, Tlen, _, _) -> + yystate(30, Ics, Line, Tlen+1, 33, Tlen); +yystate(26, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(26, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(26, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,26}; +yystate(25, [105|Ics], Line, Tlen, _, _) -> + yystate(21, Ics, Line, Tlen+1, 33, Tlen); yystate(25, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(25, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(25, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,25}; -yystate(24, [105|Ics], Line, Tlen, _, _) -> - yystate(20, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,25}; +yystate(24, [116|Ics], Line, Tlen, _, _) -> + yystate(20, Ics, Line, Tlen+1, 33, Tlen); yystate(24, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 104 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 106, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(24, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(24, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,24}; -yystate(23, [111|Ics], Line, Tlen, _, _) -> - yystate(27, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,24}; yystate(23, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 19, Tlen); yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 19, Tlen); yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 110 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 112, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 19, Tlen); +yystate(23, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 19, Tlen); yystate(23, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,23}; + {19,Tlen,Ics,Line,23}; yystate(22, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 19, Tlen); + yystate(77, Ics, Line, Tlen+1, 32, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 19, Tlen); + yystate(77, Ics, Line, Tlen+1, 32, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 19, Tlen); + yystate(77, Ics, Line, Tlen+1, 32, Tlen); yystate(22, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 19, Tlen); + yystate(77, Ics, Line, Tlen+1, 32, Tlen); yystate(22, Ics, Line, Tlen, _, _) -> - {19,Tlen,Ics,Line,22}; + {32,Tlen,Ics,Line,22}; +yystate(21, [103|Ics], Line, Tlen, _, _) -> + yystate(17, Ics, Line, Tlen+1, 33, Tlen); yystate(21, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 9, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 9, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 9, Tlen); -yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 9, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 102 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(21, [C|Ics], Line, Tlen, _, _) when C >= 104, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(21, Ics, Line, Tlen, _, _) -> - {9,Tlen,Ics,Line,21}; -yystate(20, [103|Ics], Line, Tlen, _, _) -> - yystate(16, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,21}; yystate(20, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 9, Tlen); yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 9, Tlen); yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 102 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 104, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 9, Tlen); +yystate(20, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 9, Tlen); yystate(20, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,20}; + {9,Tlen,Ics,Line,20}; +yystate(19, [100|Ics], Line, Tlen, _, _) -> + yystate(23, Ics, Line, Tlen+1, 33, Tlen); yystate(19, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 20, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 20, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 20, Tlen); -yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 20, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 99 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(19, [C|Ics], Line, Tlen, _, _) when C >= 101, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(19, Ics, Line, Tlen, _, _) -> - {20,Tlen,Ics,Line,19}; -yystate(18, [100|Ics], Line, Tlen, _, _) -> - yystate(22, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,19}; yystate(18, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 20, Tlen); yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 20, Tlen); yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 99 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 101, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 20, Tlen); +yystate(18, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 20, Tlen); yystate(18, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,18}; -yystate(17, [101|Ics], Line, Tlen, _, _) -> - yystate(13, Ics, Line, Tlen+1, 32, Tlen); + {20,Tlen,Ics,Line,18}; +yystate(17, [104|Ics], Line, Tlen, _, _) -> + yystate(13, Ics, Line, Tlen+1, 33, Tlen); yystate(17, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(17, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(17, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,17}; -yystate(16, [104|Ics], Line, Tlen, _, _) -> - yystate(12, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,17}; +yystate(16, [101|Ics], Line, Tlen, _, _) -> + yystate(12, Ics, Line, Tlen+1, 33, Tlen); yystate(16, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 103 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 105, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(16, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(16, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,16}; -yystate(15, [114|Ics], Line, Tlen, _, _) -> - yystate(19, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,16}; yystate(15, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 18, Tlen); yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 18, Tlen); yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 113 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 18, Tlen); +yystate(15, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 18, Tlen); yystate(15, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,15}; + {18,Tlen,Ics,Line,15}; +yystate(14, [114|Ics], Line, Tlen, _, _) -> + yystate(18, Ics, Line, Tlen+1, 33, Tlen); +yystate(14, [110|Ics], Line, Tlen, _, _) -> + yystate(22, Ics, Line, Tlen+1, 33, Tlen); yystate(14, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 18, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 18, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 18, Tlen); -yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 18, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 113 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(14, [C|Ics], Line, Tlen, _, _) when C >= 115, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(14, Ics, Line, Tlen, _, _) -> - {18,Tlen,Ics,Line,14}; + {33,Tlen,Ics,Line,14}; yystate(13, [116|Ics], Line, Tlen, _, _) -> - yystate(9, Ics, Line, Tlen+1, 32, Tlen); + yystate(9, Ics, Line, Tlen+1, 33, Tlen); yystate(13, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(13, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(13, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,13}; + {33,Tlen,Ics,Line,13}; yystate(12, [116|Ics], Line, Tlen, _, _) -> - yystate(8, Ics, Line, Tlen+1, 32, Tlen); + yystate(8, Ics, Line, Tlen+1, 33, Tlen); yystate(12, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 115 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(12, [C|Ics], Line, Tlen, _, _) when C >= 117, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(12, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,12}; + {33,Tlen,Ics,Line,12}; +yystate(11, [115|Ics], Line, Tlen, _, _) -> + yystate(15, Ics, Line, Tlen+1, 33, Tlen); +yystate(11, [110|Ics], Line, Tlen, _, _) -> + yystate(19, Ics, Line, Tlen+1, 33, Tlen); +yystate(11, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 114 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(11, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(11, Ics, Line, Tlen, _, _) -> - {31,Tlen,Ics,Line}; -yystate(10, [115|Ics], Line, Tlen, _, _) -> - yystate(14, Ics, Line, Tlen+1, 32, Tlen); -yystate(10, [110|Ics], Line, Tlen, _, _) -> - yystate(18, Ics, Line, Tlen+1, 32, Tlen); -yystate(10, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 114 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(10, [C|Ics], Line, Tlen, _, _) when C >= 116, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + {33,Tlen,Ics,Line,11}; yystate(10, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,10}; -yystate(9, [119|Ics], Line, Tlen, _, _) -> - yystate(5, Ics, Line, Tlen+1, 32, Tlen); + {31,Tlen,Ics,Line}; yystate(9, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(9, [32|Ics], Line, Tlen, _, _) -> + yystate(5, Ics, Line, Tlen+1, 33, Tlen); yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 118 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 120, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(9, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(9, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,9}; + {33,Tlen,Ics,Line,9}; +yystate(8, [119|Ics], Line, Tlen, _, _) -> + yystate(4, Ics, Line, Tlen+1, 33, Tlen); yystate(8, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(8, [32|Ics], Line, Tlen, _, _) -> - yystate(4, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 118 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(8, [C|Ics], Line, Tlen, _, _) when C >= 120, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); yystate(8, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,8}; -yystate(7, [110|Ics], Line, Tlen, Action, Alen) -> - yystate(11, Ics, Line, Tlen+1, Action, Alen); -yystate(7, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,7}; -yystate(6, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 25, Tlen); -yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 25, Tlen); -yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 25, Tlen); -yystate(6, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 25, Tlen); -yystate(6, Ics, Line, Tlen, _, _) -> - {25,Tlen,Ics,Line,6}; -yystate(5, [101|Ics], Line, Tlen, _, _) -> - yystate(1, Ics, Line, Tlen+1, 32, Tlen); -yystate(5, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(5, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(5, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,5}; -yystate(4, [106|Ics], Line, Tlen, Action, Alen) -> - yystate(0, Ics, Line, Tlen+1, Action, Alen); -yystate(4, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,4}; -yystate(3, [105|Ics], Line, Tlen, Action, Alen) -> - yystate(7, Ics, Line, Tlen+1, Action, Alen); -yystate(3, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,3}; -yystate(2, [110|Ics], Line, Tlen, _, _) -> - yystate(6, Ics, Line, Tlen+1, 32, Tlen); -yystate(2, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(2, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(2, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,2}; -yystate(1, [101|Ics], Line, Tlen, _, _) -> - yystate(2, Ics, Line, Tlen+1, 32, Tlen); -yystate(1, [95|Ics], Line, Tlen, _, _) -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(1, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> - yystate(76, Ics, Line, Tlen+1, 32, Tlen); -yystate(1, Ics, Line, Tlen, _, _) -> - {32,Tlen,Ics,Line,1}; -yystate(0, [111|Ics], Line, Tlen, Action, Alen) -> - yystate(3, Ics, Line, Tlen+1, Action, Alen); -yystate(0, Ics, Line, Tlen, Action, Alen) -> - {Action,Alen,Tlen,Ics,Line,0}; + {33,Tlen,Ics,Line,8}; +yystate(7, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 25, Tlen); +yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 25, Tlen); +yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 25, Tlen); +yystate(7, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 25, Tlen); +yystate(7, Ics, Line, Tlen, _, _) -> + {25,Tlen,Ics,Line,7}; +yystate(6, [110|Ics], Line, Tlen, Action, Alen) -> + yystate(10, Ics, Line, Tlen+1, Action, Alen); +yystate(6, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,6}; +yystate(5, [106|Ics], Line, Tlen, Action, Alen) -> + yystate(1, Ics, Line, Tlen+1, Action, Alen); +yystate(5, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,5}; +yystate(4, [101|Ics], Line, Tlen, _, _) -> + yystate(0, Ics, Line, Tlen+1, 33, Tlen); +yystate(4, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(4, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(4, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,4}; +yystate(3, [110|Ics], Line, Tlen, _, _) -> + yystate(7, Ics, Line, Tlen+1, 33, Tlen); +yystate(3, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 109 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(3, [C|Ics], Line, Tlen, _, _) when C >= 111, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(3, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,3}; +yystate(2, [105|Ics], Line, Tlen, Action, Alen) -> + yystate(6, Ics, Line, Tlen+1, Action, Alen); +yystate(2, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,2}; +yystate(1, [111|Ics], Line, Tlen, Action, Alen) -> + yystate(2, Ics, Line, Tlen+1, Action, Alen); +yystate(1, Ics, Line, Tlen, Action, Alen) -> + {Action,Alen,Tlen,Ics,Line,1}; +yystate(0, [101|Ics], Line, Tlen, _, _) -> + yystate(3, Ics, Line, Tlen+1, 33, Tlen); +yystate(0, [95|Ics], Line, Tlen, _, _) -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 48, C =< 57 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 65, C =< 90 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 97, C =< 100 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(0, [C|Ics], Line, Tlen, _, _) when C >= 102, C =< 122 -> + yystate(77, Ics, Line, Tlen+1, 33, Tlen); +yystate(0, Ics, Line, Tlen, _, _) -> + {33,Tlen,Ics,Line,0}; yystate(S, Ics, Line, Tlen, Action, Alen) -> {Action,Alen,Tlen,Ics,Line,S}. @@ -1505,17 +1519,19 @@ yyaction(30, _, _, TokenLine) -> yyaction_30(TokenLine); yyaction(31, _, _, TokenLine) -> yyaction_31(TokenLine); -yyaction(32, TokenLen, YYtcs, TokenLine) -> - TokenChars = yypre(YYtcs, TokenLen), - yyaction_32(TokenChars, TokenLine); +yyaction(32, _, _, TokenLine) -> + yyaction_32(TokenLine); yyaction(33, TokenLen, YYtcs, TokenLine) -> TokenChars = yypre(YYtcs, TokenLen), yyaction_33(TokenChars, TokenLine); yyaction(34, TokenLen, YYtcs, TokenLine) -> TokenChars = yypre(YYtcs, TokenLen), yyaction_34(TokenChars, TokenLine); -yyaction(35, _, _, _) -> - yyaction_35(); +yyaction(35, TokenLen, YYtcs, TokenLine) -> + TokenChars = yypre(YYtcs, TokenLen), + yyaction_35(TokenChars, TokenLine); +yyaction(36, _, _, _) -> + yyaction_36(); yyaction(_, _, _, _) -> error. -compile({inline,yyaction_0/2}). @@ -1678,24 +1694,29 @@ yyaction_30(TokenLine) -> yyaction_31(TokenLine) -> { token, { right_join, TokenLine } } . --compile({inline,yyaction_32/2}). --file("src/build_query_lexer.xrl", 54). -yyaction_32(TokenChars, TokenLine) -> - { token, { identifier, TokenLine, TokenChars } } . +-compile({inline,yyaction_32/1}). +-file("src/build_query_lexer.xrl", 52). +yyaction_32(TokenLine) -> + { token, { on, TokenLine } } . -compile({inline,yyaction_33/2}). --file("src/build_query_lexer.xrl", 56). +-file("src/build_query_lexer.xrl", 55). yyaction_33(TokenChars, TokenLine) -> - { token, { quoted, TokenLine, TokenChars } } . + { token, { identifier, TokenLine, TokenChars } } . -compile({inline,yyaction_34/2}). -file("src/build_query_lexer.xrl", 57). yyaction_34(TokenChars, TokenLine) -> { token, { quoted, TokenLine, TokenChars } } . --compile({inline,yyaction_35/0}). --file("src/build_query_lexer.xrl", 60). -yyaction_35() -> +-compile({inline,yyaction_35/2}). +-file("src/build_query_lexer.xrl", 58). +yyaction_35(TokenChars, TokenLine) -> + { token, { quoted, TokenLine, TokenChars } } . + +-compile({inline,yyaction_36/0}). +-file("src/build_query_lexer.xrl", 61). +yyaction_36() -> skip_token . -file("/Users/thiago/.asdf/installs/erlang/25.0.3/lib/parsetools-2.4/include/leexinc.hrl", 313). diff --git a/src/build_query_lexer.xrl b/src/build_query_lexer.xrl index 2a54ae0..ab9734e 100644 --- a/src/build_query_lexer.xrl +++ b/src/build_query_lexer.xrl @@ -51,6 +51,7 @@ join : {token, {join, TokenLine}}. inner\sjoin : {token, {join, TokenLine}}. left\sjoin : {token, {left_join, TokenLine}}. right\sjoin : {token, {right_join, TokenLine}}. +on : {token, {on, TokenLine}}. %% Identifiers {IDENTIFIER} : {token, {identifier, TokenLine, TokenChars}}. diff --git a/src/build_query_parser.erl b/src/build_query_parser.erl index 427c195..e1a7d2b 100644 --- a/src/build_query_parser.erl +++ b/src/build_query_parser.erl @@ -1,6 +1,6 @@ -module(build_query_parser). -export([parse/1, parse_and_scan/1, format_error/1]). --file("src/build_query_parser.yrl", 37). +-file("src/build_query_parser.yrl", 43). -import(string,[len/1, sub_string/3]). @@ -252,16 +252,30 @@ yeccpars2(25=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_29(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(30=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_30(S, Cat, Ss, Stack, T, Ts, Tzr); -yeccpars2(31=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2(31=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_31(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(32=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); -%% yeccpars2(32=S, Cat, Ss, Stack, T, Ts, Tzr) -> -%% yeccpars2_32(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(33=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_33(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(34=S, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); %% yeccpars2(35=S, Cat, Ss, Stack, T, Ts, Tzr) -> %% yeccpars2_35(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(36=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_36(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(37=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_37(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(38=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(39=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_39(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(40=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_40(S, Cat, Ss, Stack, T, Ts, Tzr); +yeccpars2(41=S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_10(S, Cat, Ss, Stack, T, Ts, Tzr); +%% yeccpars2(42=S, Cat, Ss, Stack, T, Ts, Tzr) -> +%% yeccpars2_42(S, Cat, Ss, Stack, T, Ts, Tzr); yeccpars2(Other, _, _, _, _, _, _) -> erlang:error({yecc_bug,"1.4",{missing_state_in_action_table, Other}}). @@ -475,13 +489,15 @@ yeccpars2_24(_S, Cat, Ss, Stack, T, Ts, Tzr) -> -dialyzer({nowarn_function, yeccpars2_26/7}). -compile({nowarn_unused_function, yeccpars2_26/7}). yeccpars2_26(S, 'where', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr); + yeccpars1(S, 41, Ss, Stack, T, Ts, Tzr); yeccpars2_26(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_26_(Stack), - yeccpars2_33(_S, Cat, [26 | Ss], NewStack, T, Ts, Tzr). + yeccpars2_40(_S, Cat, [26 | Ss], NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_27/7}). -compile({nowarn_unused_function, yeccpars2_27/7}). +yeccpars2_27(S, 'join', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 34, Ss, Stack, T, Ts, Tzr); yeccpars2_27(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_27_(Stack), yeccgoto_table_references(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). @@ -494,60 +510,103 @@ yeccpars2_28(_S, Cat, Ss, Stack, T, Ts, Tzr) -> -dialyzer({nowarn_function, yeccpars2_29/7}). -compile({nowarn_unused_function, yeccpars2_29/7}). -yeccpars2_29(S, 'as', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 31, Ss, Stack, T, Ts, Tzr); -yeccpars2_29(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); -yeccpars2_29(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); -yeccpars2_29(S, 'operator', Ss, Stack, T, Ts, Tzr) -> - yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr) -> NewStack = yeccpars2_29_(Stack), - yeccpars2_30(_S, Cat, [29 | Ss], NewStack, T, Ts, Tzr). + yeccgoto_table_reference(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccpars2_30/7}). -compile({nowarn_unused_function, yeccpars2_30/7}). +yeccpars2_30(S, 'as', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 32, Ss, Stack, T, Ts, Tzr); +yeccpars2_30(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_30(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); +yeccpars2_30(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_|Nss] = Ss, NewStack = yeccpars2_30_(Stack), + yeccpars2_31(_S, Cat, [30 | Ss], NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_31/7}). +-compile({nowarn_unused_function, yeccpars2_31/7}). +yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_31_(Stack), yeccgoto_table_factor(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -%% yeccpars2_31: see yeccpars2_10 +%% yeccpars2_32: see yeccpars2_10 --dialyzer({nowarn_function, yeccpars2_32/7}). --compile({nowarn_unused_function, yeccpars2_32/7}). -yeccpars2_32(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> +-dialyzer({nowarn_function, yeccpars2_33/7}). +-compile({nowarn_unused_function, yeccpars2_33/7}). +yeccpars2_33(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); -yeccpars2_32(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_33(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); -yeccpars2_32(S, 'operator', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_33(S, 'operator', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); -yeccpars2_32(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_|Nss] = Ss, - NewStack = yeccpars2_32_(Stack), - yeccgoto_opt_as_alias(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). - --dialyzer({nowarn_function, yeccpars2_33/7}). --compile({nowarn_unused_function, yeccpars2_33/7}). yeccpars2_33(_S, Cat, Ss, Stack, T, Ts, Tzr) -> - [_,_,_,_,_|Nss] = Ss, + [_|Nss] = Ss, NewStack = yeccpars2_33_(Stack), - yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + yeccgoto_opt_as_alias(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). %% yeccpars2_34: see yeccpars2_10 -dialyzer({nowarn_function, yeccpars2_35/7}). -compile({nowarn_unused_function, yeccpars2_35/7}). -yeccpars2_35(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_35(S, 'on', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 38, Ss, Stack, T, Ts, Tzr); +yeccpars2_35(_, _, _, _, T, _, _) -> + yeccerror(T). + +-dialyzer({nowarn_function, yeccpars2_36/7}). +-compile({nowarn_unused_function, yeccpars2_36/7}). +yeccpars2_36(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_,_|Nss] = Ss, + NewStack = yeccpars2_36_(Stack), + yeccgoto_join_table(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_37/7}). +-compile({nowarn_unused_function, yeccpars2_37/7}). +yeccpars2_37(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + NewStack = yeccpars2_37_(Stack), + yeccgoto_opt_join_condition(hd(Ss), Cat, Ss, NewStack, T, Ts, Tzr). + +%% yeccpars2_38: see yeccpars2_10 + +-dialyzer({nowarn_function, yeccpars2_39/7}). +-compile({nowarn_unused_function, yeccpars2_39/7}). +yeccpars2_39(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); -yeccpars2_35(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_39(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); -yeccpars2_35(S, 'operator', Ss, Stack, T, Ts, Tzr) -> +yeccpars2_39(S, 'operator', Ss, Stack, T, Ts, Tzr) -> yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); -yeccpars2_35(_S, Cat, Ss, Stack, T, Ts, Tzr) -> +yeccpars2_39(_S, Cat, Ss, Stack, T, Ts, Tzr) -> [_|Nss] = Ss, - NewStack = yeccpars2_35_(Stack), + NewStack = yeccpars2_39_(Stack), + yeccgoto_join_condition(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccpars2_40/7}). +-compile({nowarn_unused_function, yeccpars2_40/7}). +yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_,_,_,_,_|Nss] = Ss, + NewStack = yeccpars2_40_(Stack), + yeccgoto_select_stmt(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). + +%% yeccpars2_41: see yeccpars2_10 + +-dialyzer({nowarn_function, yeccpars2_42/7}). +-compile({nowarn_unused_function, yeccpars2_42/7}). +yeccpars2_42(S, 'boolean_add', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 14, Ss, Stack, T, Ts, Tzr); +yeccpars2_42(S, 'boolean_mult', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 15, Ss, Stack, T, Ts, Tzr); +yeccpars2_42(S, 'operator', Ss, Stack, T, Ts, Tzr) -> + yeccpars1(S, 16, Ss, Stack, T, Ts, Tzr); +yeccpars2_42(_S, Cat, Ss, Stack, T, Ts, Tzr) -> + [_|Nss] = Ss, + NewStack = yeccpars2_42_(Stack), yeccgoto_opt_where(hd(Nss), Cat, Nss, NewStack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_expr/7}). @@ -565,21 +624,40 @@ yeccgoto_expr(16, Cat, Ss, Stack, T, Ts, Tzr) -> yeccgoto_expr(23, Cat, Ss, Stack, T, Ts, Tzr) -> yeccpars2_7(7, Cat, Ss, Stack, T, Ts, Tzr); yeccgoto_expr(25, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_29(29, Cat, Ss, Stack, T, Ts, Tzr); -yeccgoto_expr(31, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_32(32, Cat, Ss, Stack, T, Ts, Tzr); + yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(32, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_33(33, Cat, Ss, Stack, T, Ts, Tzr); yeccgoto_expr(34, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr). + yeccpars2_30(30, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(38, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_39(39, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_expr(41, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_42(42, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_join_condition/7}). +-compile({nowarn_unused_function, yeccgoto_join_condition/7}). +yeccgoto_join_condition(35=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_37(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_join_table/7}). +-compile({nowarn_unused_function, yeccgoto_join_table/7}). +yeccgoto_join_table(25=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_29(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_opt_as_alias/7}). -compile({nowarn_unused_function, yeccgoto_opt_as_alias/7}). -yeccgoto_opt_as_alias(29=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_30(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_opt_as_alias(30=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_31(_S, Cat, Ss, Stack, T, Ts, Tzr). + +-dialyzer({nowarn_function, yeccgoto_opt_join_condition/7}). +-compile({nowarn_unused_function, yeccgoto_opt_join_condition/7}). +yeccgoto_opt_join_condition(35=_S, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_36(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_opt_where/7}). -compile({nowarn_unused_function, yeccgoto_opt_where/7}). yeccgoto_opt_where(26=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_33(_S, Cat, Ss, Stack, T, Ts, Tzr). + yeccpars2_40(_S, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_select_expr/7}). -compile({nowarn_unused_function, yeccgoto_select_expr/7}). @@ -606,12 +684,14 @@ yeccgoto_select_stmt(0, Cat, Ss, Stack, T, Ts, Tzr) -> -dialyzer({nowarn_function, yeccgoto_table_factor/7}). -compile({nowarn_unused_function, yeccgoto_table_factor/7}). yeccgoto_table_factor(25=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_28(_S, Cat, Ss, Stack, T, Ts, Tzr). + yeccpars2_28(_S, Cat, Ss, Stack, T, Ts, Tzr); +yeccgoto_table_factor(34, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_35(35, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_table_reference/7}). -compile({nowarn_unused_function, yeccgoto_table_reference/7}). -yeccgoto_table_reference(25=_S, Cat, Ss, Stack, T, Ts, Tzr) -> - yeccpars2_27(_S, Cat, Ss, Stack, T, Ts, Tzr). +yeccgoto_table_reference(25, Cat, Ss, Stack, T, Ts, Tzr) -> + yeccpars2_27(27, Cat, Ss, Stack, T, Ts, Tzr). -dialyzer({nowarn_function, yeccgoto_table_references/7}). -compile({nowarn_unused_function, yeccgoto_table_references/7}). @@ -689,7 +769,7 @@ yeccpars2_8_(__Stack0) -> -compile({inline,yeccpars2_9_/1}). -dialyzer({nowarn_function, yeccpars2_9_/1}). -compile({nowarn_unused_function, yeccpars2_9_/1}). --file("src/build_query_parser.yrl", 30). +-file("src/build_query_parser.yrl", 36). yeccpars2_9_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin @@ -699,7 +779,7 @@ yeccpars2_9_(__Stack0) -> -compile({inline,yeccpars2_11_/1}). -dialyzer({nowarn_function, yeccpars2_11_/1}). -compile({nowarn_unused_function, yeccpars2_11_/1}). --file("src/build_query_parser.yrl", 31). +-file("src/build_query_parser.yrl", 37). yeccpars2_11_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin @@ -709,7 +789,7 @@ yeccpars2_11_(__Stack0) -> -compile({inline,yeccpars2_12_/1}). -dialyzer({nowarn_function, yeccpars2_12_/1}). -compile({nowarn_unused_function, yeccpars2_12_/1}). --file("src/build_query_parser.yrl", 29). +-file("src/build_query_parser.yrl", 35). yeccpars2_12_(__Stack0) -> [___1 | __Stack] = __Stack0, [begin @@ -719,7 +799,7 @@ yeccpars2_12_(__Stack0) -> -compile({inline,yeccpars2_17_/1}). -dialyzer({nowarn_function, yeccpars2_17_/1}). -compile({nowarn_unused_function, yeccpars2_17_/1}). --file("src/build_query_parser.yrl", 24). +-file("src/build_query_parser.yrl", 30). yeccpars2_17_(__Stack0) -> [___3,___2,___1 | __Stack] = __Stack0, [begin @@ -729,7 +809,7 @@ yeccpars2_17_(__Stack0) -> -compile({inline,yeccpars2_18_/1}). -dialyzer({nowarn_function, yeccpars2_18_/1}). -compile({nowarn_unused_function, yeccpars2_18_/1}). --file("src/build_query_parser.yrl", 27). +-file("src/build_query_parser.yrl", 33). yeccpars2_18_(__Stack0) -> [___3,___2,___1 | __Stack] = __Stack0, [begin @@ -739,7 +819,7 @@ yeccpars2_18_(__Stack0) -> -compile({inline,yeccpars2_19_/1}). -dialyzer({nowarn_function, yeccpars2_19_/1}). -compile({nowarn_unused_function, yeccpars2_19_/1}). --file("src/build_query_parser.yrl", 25). +-file("src/build_query_parser.yrl", 31). yeccpars2_19_(__Stack0) -> [___3,___2,___1 | __Stack] = __Stack0, [begin @@ -749,7 +829,7 @@ yeccpars2_19_(__Stack0) -> -compile({inline,yeccpars2_20_/1}). -dialyzer({nowarn_function, yeccpars2_20_/1}). -compile({nowarn_unused_function, yeccpars2_20_/1}). --file("src/build_query_parser.yrl", 26). +-file("src/build_query_parser.yrl", 32). yeccpars2_20_(__Stack0) -> [___3,___2,___1 | __Stack] = __Stack0, [begin @@ -759,7 +839,7 @@ yeccpars2_20_(__Stack0) -> -compile({inline,yeccpars2_22_/1}). -dialyzer({nowarn_function, yeccpars2_22_/1}). -compile({nowarn_unused_function, yeccpars2_22_/1}). --file("src/build_query_parser.yrl", 28). +-file("src/build_query_parser.yrl", 34). yeccpars2_22_(__Stack0) -> [___3,___2,___1 | __Stack] = __Stack0, [begin @@ -779,7 +859,7 @@ yeccpars2_24_(__Stack0) -> -compile({inline,yeccpars2_26_/1}). -dialyzer({nowarn_function, yeccpars2_26_/1}). -compile({nowarn_unused_function, yeccpars2_26_/1}). --file("src/build_query_parser.yrl", 18). +-file("src/build_query_parser.yrl", 24). yeccpars2_26_(__Stack0) -> [begin nil @@ -808,51 +888,91 @@ yeccpars2_28_(__Stack0) -> -compile({inline,yeccpars2_29_/1}). -dialyzer({nowarn_function, yeccpars2_29_/1}). -compile({nowarn_unused_function, yeccpars2_29_/1}). --file("src/build_query_parser.yrl", 21). +-file("src/build_query_parser.yrl", 16). yeccpars2_29_(__Stack0) -> + [___1 | __Stack] = __Stack0, [begin - nil - end | __Stack0]. + ___1 + end | __Stack]. -compile({inline,yeccpars2_30_/1}). -dialyzer({nowarn_function, yeccpars2_30_/1}). -compile({nowarn_unused_function, yeccpars2_30_/1}). --file("src/build_query_parser.yrl", 16). +-file("src/build_query_parser.yrl", 27). yeccpars2_30_(__Stack0) -> - [___2,___1 | __Stack] = __Stack0, [begin - {___1, ___2} - end | __Stack]. + nil + end | __Stack0]. --compile({inline,yeccpars2_32_/1}). --dialyzer({nowarn_function, yeccpars2_32_/1}). --compile({nowarn_unused_function, yeccpars2_32_/1}). +-compile({inline,yeccpars2_31_/1}). +-dialyzer({nowarn_function, yeccpars2_31_/1}). +-compile({nowarn_unused_function, yeccpars2_31_/1}). -file("src/build_query_parser.yrl", 22). -yeccpars2_32_(__Stack0) -> +yeccpars2_31_(__Stack0) -> [___2,___1 | __Stack] = __Stack0, [begin - {alias, ___2} + {___1, ___2} end | __Stack]. -compile({inline,yeccpars2_33_/1}). -dialyzer({nowarn_function, yeccpars2_33_/1}). -compile({nowarn_unused_function, yeccpars2_33_/1}). --file("src/build_query_parser.yrl", 4). +-file("src/build_query_parser.yrl", 28). yeccpars2_33_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + {alias, ___2} + end | __Stack]. + +-compile({inline,yeccpars2_36_/1}). +-dialyzer({nowarn_function, yeccpars2_36_/1}). +-compile({nowarn_unused_function, yeccpars2_36_/1}). +-file("src/build_query_parser.yrl", 18). +yeccpars2_36_(__Stack0) -> + [___4,___3,___2,___1 | __Stack] = __Stack0, + [begin + {join, ___1, ___3, ___4} + end | __Stack]. + +-compile({inline,yeccpars2_37_/1}). +-dialyzer({nowarn_function, yeccpars2_37_/1}). +-compile({nowarn_unused_function, yeccpars2_37_/1}). +-file("src/build_query_parser.yrl", 19). +yeccpars2_37_(__Stack0) -> + [___1 | __Stack] = __Stack0, + [begin + ___1 + end | __Stack]. + +-compile({inline,yeccpars2_39_/1}). +-dialyzer({nowarn_function, yeccpars2_39_/1}). +-compile({nowarn_unused_function, yeccpars2_39_/1}). +-file("src/build_query_parser.yrl", 20). +yeccpars2_39_(__Stack0) -> + [___2,___1 | __Stack] = __Stack0, + [begin + {on, ___2} + end | __Stack]. + +-compile({inline,yeccpars2_40_/1}). +-dialyzer({nowarn_function, yeccpars2_40_/1}). +-compile({nowarn_unused_function, yeccpars2_40_/1}). +-file("src/build_query_parser.yrl", 4). +yeccpars2_40_(__Stack0) -> [___6,___5,___4,___3,___2,___1 | __Stack] = __Stack0, [begin {select, ___2, ___3, ___5, ___6} end | __Stack]. --compile({inline,yeccpars2_35_/1}). --dialyzer({nowarn_function, yeccpars2_35_/1}). --compile({nowarn_unused_function, yeccpars2_35_/1}). --file("src/build_query_parser.yrl", 19). -yeccpars2_35_(__Stack0) -> +-compile({inline,yeccpars2_42_/1}). +-dialyzer({nowarn_function, yeccpars2_42_/1}). +-compile({nowarn_unused_function, yeccpars2_42_/1}). +-file("src/build_query_parser.yrl", 25). +yeccpars2_42_(__Stack0) -> [___2,___1 | __Stack] = __Stack0, [begin {where, ___2} end | __Stack]. --file("src/build_query_parser.yrl", 43). +-file("src/build_query_parser.yrl", 49). diff --git a/src/build_query_parser.yrl b/src/build_query_parser.yrl index 9c80410..7cfadfb 100644 --- a/src/build_query_parser.yrl +++ b/src/build_query_parser.yrl @@ -1,6 +1,6 @@ Nonterminals select_stmt select_opts select_expr_list select_expr table_references table_reference - table_factor opt_where expr opt_as_alias. -Terminals identifier select from where operator number as quoted boolean_mult boolean_add + table_factor opt_where opt_as_alias join_table opt_join_condition join_condition expr. +Terminals identifier select from where operator number as quoted boolean_mult boolean_add join on left_paren right_paren fieldname grouping dot comma distinct all all_fields. Rootsymbol select_stmt. @@ -17,6 +17,12 @@ select_expr -> expr : '$1'. table_references -> table_reference : {from, '$1'}. table_reference -> table_factor : '$1'. +table_reference -> join_table : '$1'. + +join_table -> table_reference join table_factor opt_join_condition : {join, '$1', '$3', '$4'}. +opt_join_condition -> join_condition : '$1'. +join_condition -> on expr : {on, '$2'}. + table_factor -> expr opt_as_alias: {'$1', '$2'}. opt_where -> '$empty' : nil. diff --git a/test/query_builder/query_builder_test.exs b/test/query_builder/query_builder_test.exs index bd04abf..fe21ea6 100644 --- a/test/query_builder/query_builder_test.exs +++ b/test/query_builder/query_builder_test.exs @@ -9,7 +9,36 @@ defmodule KinoEcto.QueryBuilderTest do query = "SELECT name, age FROM customers" result = QueryBuilder.call(query) - dbg() + expected_query = from(c in KinoEcto.QueryBuilder.Domain.Customer, select: [:name, :age]) + + assert result.from.source == expected_query.from.source + assert result.select.take == expected_query.select.take + end + + test "parses simple query with all fields" do + query = "SELECT * FROM customers" + result = QueryBuilder.call(query) + + expected_query = from(c in KinoEcto.QueryBuilder.Domain.Customer) + + assert result.from.source == expected_query.from.source + assert is_nil(result.select) + assert is_nil(expected_query.select) + end + + test "parses query with join" do + query = "SELECT * FROM sales JOIN customers ON sales.customer_id = customers.id" + result = QueryBuilder.call(query) + + expected_query = + from(s in KinoEcto.QueryBuilder.Domain.Sale, + join: c in KinoEcto.QueryBuilder.Domain.Customer, + on: s.customer_id == c.id + ) + IO.inspect(result) + # assert result.from.source == expected_query.from.source + # assert is_nil(result.select) + # assert is_nil(expected_query.select) end end