all repos

gbf @ 10e14d9

⭐ gleaming brainfuck
12 files changed, 19 insertions(+), 20 deletions(-)
move all lib code into internal
Author: Oleksandr Smirnov olexsmir@gmail.com
Committed at: 2025-10-22 15:34:57 +0300
Change ID: vmztnrnslxxzotlxwlzsytnnvorvrswv
Parent: e9c84a0
M README.md

@@ -23,6 +23,6 @@ ```

### As CLI tool ```bash -gleam run -m run ./examples/helloworld.bf +gleam run -m gbf/run ./examples/helloworld.bf #> Hello World! ```
M src/gbf.gleam

@@ -1,8 +1,8 @@

import ascii -import gbf/eval -import gbf/lexer -import gbf/parser -import gbf/vm.{type VirtualMachine} +import gbf/internal/eval +import gbf/internal/lexer +import gbf/internal/parser +import gbf/internal/vm.{type VirtualMachine} import gleam/list import gleam/result import gleam/string
M src/gbf/internal/eval.gleamsrc/gbf/internal/eval.gleam

@@ -1,7 +1,7 @@

-import gbf/lexer -import gbf/parser.{type AST, type Block, type Command} -import gbf/token -import gbf/vm.{type VirtualMachine} +import gbf/internal/lexer +import gbf/internal/parser.{type AST, type Block, type Command} +import gbf/internal/token +import gbf/internal/vm.{type VirtualMachine} import gleam/int import gleam/list import gleam/result
M src/gbf/internal/lexer.gleamsrc/gbf/internal/lexer.gleam

@@ -1,4 +1,4 @@

-import gbf/token.{type Token} +import gbf/internal/token.{type Token} import gleam/list import gleam/string import splitter
M src/gbf/internal/parser.gleamsrc/gbf/internal/parser.gleam

@@ -1,5 +1,5 @@

-import gbf/lexer.{type Position, Position} -import gbf/token.{type Token} +import gbf/internal/lexer.{type Position, Position} +import gbf/internal/token.{type Token} import gleam/list import gleam/pair import gleam/result
M test/gbf_lexer_test.gleam

@@ -1,5 +1,5 @@

-import gbf/lexer -import gbf/token +import gbf/internal/lexer +import gbf/internal/token import gleeunit/should pub fn can_lex_test() {
M test/gbf_parser_test.gleam

@@ -1,6 +1,6 @@

-import gbf/lexer.{Position} -import gbf/parser.{Block, Leaf, Node} -import gbf/token.{DecrementByte, IncrementByte, IncrementPointer} +import gbf/internal/lexer.{Position} +import gbf/internal/parser.{Block, Leaf, Node} +import gbf/internal/token.{DecrementByte, IncrementByte, IncrementPointer} import gleeunit/should pub fn should_parse_test() {
M test/gbf_test.gleam

@@ -1,5 +1,4 @@

import gbf -import gbf/vm import gleeunit import gleeunit/should

@@ -14,6 +13,6 @@

let assert Ok(bvm) = gbf.run(input) bvm - |> vm.output + |> gbf.output |> should.equal("Hello World!\n") }
M test/gbf_vm_test.gleam

@@ -1,5 +1,5 @@

import ascii -import gbf/vm.{type VirtualMachine} +import gbf/internal/vm.{type VirtualMachine} import gleam/result import gleeunit/should