reorganization for easier testing

This commit is contained in:
wires 2025-03-11 22:59:16 -04:00
parent c36f1a348c
commit e7a7a40251
Signed by: wires
SSH key fingerprint: SHA256:9GtP+M3O2IivPDlw1UY872UPUuJH2gI0yG6ExBxaaiM

View file

@ -1,14 +1,17 @@
-module(akhamoth).
-export([compile/1, collect/2]).
-export([compile_file/1, compile_binary/1, collect/2]).
compile(Path) ->
{ok, Src} = file:read_file(Path),
Lexer = akh_lexer:new(Src),
collect(Lexer, []).
compile_file(Path) ->
{ok, Source} = file:read_file(Path),
compile_binary(Source).
collect(Lexer, Acc) ->
case akh_lexer:next(Lexer) of
compile_binary(Source) ->
Lx = akh_lexer:new(Source),
collect(Lx, []).
collect(Lx, Acc) ->
case akh_lexer:next(Lx) of
none -> Acc;
{ok, T, L} -> collect(L, [T | Acc])
end.