-module(caffeine_lang@frontend@token). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/caffeine_lang/frontend/token.gleam"). -export([to_string/1]). -export_type([positioned_token/0, token/0]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. -type positioned_token() :: {positioned_token, token(), integer(), integer()}. -type token() :: keyword_success_rate | keyword_time_slice | keyword_assumes | keyword_guarantees | keyword_over | keyword_window | keyword_as | keyword_measured | keyword_by | keyword_with | keyword_below | keyword_hard | keyword_soft | keyword_dependency | keyword_on | keyword_extends | keyword_requires | keyword_provides | keyword_in | keyword_x | keyword_string | keyword_integer | keyword_float | keyword_boolean | keyword_list | keyword_dict | keyword_optional | keyword_defaulted | keyword_type | keyword_u_r_l | keyword_percentage | keyword_from | keyword_where | keyword_and | {literal_string, binary()} | {literal_integer, integer()} | {literal_float, float()} | {literal_percentage, float()} | {literal_duration, float(), binary()} | literal_true | literal_false | symbol_left_brace | symbol_right_brace | symbol_left_paren | symbol_right_paren | symbol_left_bracket | symbol_right_bracket | symbol_colon | symbol_comma | symbol_star | symbol_pipe | symbol_equals | symbol_dot_dot | whitespace_newline | {whitespace_indent, integer()} | {comment_line, binary()} | {comment_section, binary()} | {comment_doc, binary()} | {identifier, binary()} | e_o_f. -file("src/caffeine_lang/frontend/token.gleam", 75). ?DOC(false). -spec to_string(token()) -> binary(). to_string(Tok) -> case Tok of keyword_success_rate -> <<"success_rate"/utf8>>; keyword_time_slice -> <<"time_slice"/utf8>>; keyword_assumes -> <<"Assumes"/utf8>>; keyword_guarantees -> <<"Guarantees"/utf8>>; keyword_over -> <<"over"/utf8>>; keyword_window -> <<"window"/utf8>>; keyword_as -> <<"as"/utf8>>; keyword_measured -> <<"measured"/utf8>>; keyword_by -> <<"by"/utf8>>; keyword_with -> <<"with"/utf8>>; keyword_below -> <<"below"/utf8>>; keyword_hard -> <<"hard"/utf8>>; keyword_soft -> <<"soft"/utf8>>; keyword_dependency -> <<"dependency"/utf8>>; keyword_on -> <<"on"/utf8>>; keyword_extends -> <<"extends"/utf8>>; keyword_requires -> <<"Requires"/utf8>>; keyword_provides -> <<"Provides"/utf8>>; keyword_in -> <<"in"/utf8>>; keyword_x -> <<"x"/utf8>>; keyword_string -> <<"String"/utf8>>; keyword_integer -> <<"Integer"/utf8>>; keyword_float -> <<"Float"/utf8>>; keyword_boolean -> <<"Boolean"/utf8>>; keyword_list -> <<"List"/utf8>>; keyword_dict -> <<"Dict"/utf8>>; keyword_optional -> <<"Optional"/utf8>>; keyword_defaulted -> <<"Defaulted"/utf8>>; keyword_type -> <<"Type"/utf8>>; keyword_u_r_l -> <<"URL"/utf8>>; keyword_percentage -> <<"Percentage"/utf8>>; keyword_from -> <<"from"/utf8>>; keyword_where -> <<"where"/utf8>>; keyword_and -> <<"and"/utf8>>; {literal_string, S} -> <<<<"\""/utf8, S/binary>>/binary, "\""/utf8>>; {literal_integer, _} -> <<"integer"/utf8>>; {literal_float, _} -> <<"float"/utf8>>; {literal_percentage, _} -> <<"percentage"/utf8>>; {literal_duration, _, _} -> <<"duration"/utf8>>; literal_true -> <<"true"/utf8>>; literal_false -> <<"false"/utf8>>; symbol_left_brace -> <<"{"/utf8>>; symbol_right_brace -> <<"}"/utf8>>; symbol_left_paren -> <<"("/utf8>>; symbol_right_paren -> <<")"/utf8>>; symbol_left_bracket -> <<"["/utf8>>; symbol_right_bracket -> <<"]"/utf8>>; symbol_colon -> <<":"/utf8>>; symbol_comma -> <<","/utf8>>; symbol_star -> <<"*"/utf8>>; symbol_pipe -> <<"|"/utf8>>; symbol_equals -> <<"="/utf8>>; symbol_dot_dot -> <<".."/utf8>>; whitespace_newline -> <<"newline"/utf8>>; {whitespace_indent, _} -> <<"indent"/utf8>>; {comment_line, _} -> <<"comment"/utf8>>; {comment_section, _} -> <<"section comment"/utf8>>; {comment_doc, _} -> <<"doc comment"/utf8>>; {identifier, Name} -> Name; e_o_f -> <<"end of file"/utf8>> end.