⭐ gleaming brainfuck

move all lib code into internal

olexsmir.xyz 10e14d9d e9c84a09

verified
+1 -1
README.md
··· 23 23 24 24 ### As CLI tool 25 25 ```bash 26 - gleam run -m run ./examples/helloworld.bf 26 + gleam run -m gbf/run ./examples/helloworld.bf 27 27 #> Hello World! 28 28 ```
+4 -4
src/gbf.gleam
··· 1 1 import ascii 2 - import gbf/eval 3 - import gbf/lexer 4 - import gbf/parser 5 - import gbf/vm.{type VirtualMachine} 2 + import gbf/internal/eval 3 + import gbf/internal/lexer 4 + import gbf/internal/parser 5 + import gbf/internal/vm.{type VirtualMachine} 6 6 import gleam/list 7 7 import gleam/result 8 8 import gleam/string
+4 -4
src/gbf/eval.gleam src/gbf/internal/eval.gleam
··· 1 - import gbf/lexer 2 - import gbf/parser.{type AST, type Block, type Command} 3 - import gbf/token 4 - import gbf/vm.{type VirtualMachine} 1 + import gbf/internal/lexer 2 + import gbf/internal/parser.{type AST, type Block, type Command} 3 + import gbf/internal/token 4 + import gbf/internal/vm.{type VirtualMachine} 5 5 import gleam/int 6 6 import gleam/list 7 7 import gleam/result
+1 -1
src/gbf/lexer.gleam src/gbf/internal/lexer.gleam
··· 1 - import gbf/token.{type Token} 1 + import gbf/internal/token.{type Token} 2 2 import gleam/list 3 3 import gleam/string 4 4 import splitter
+2 -2
src/gbf/parser.gleam src/gbf/internal/parser.gleam
··· 1 - import gbf/lexer.{type Position, Position} 2 - import gbf/token.{type Token} 1 + import gbf/internal/lexer.{type Position, Position} 2 + import gbf/internal/token.{type Token} 3 3 import gleam/list 4 4 import gleam/pair 5 5 import gleam/result
src/gbf/token.gleam src/gbf/internal/token.gleam
src/gbf/vm.gleam src/gbf/internal/vm.gleam
src/run.gleam src/gbf/run.gleam
+2 -2
test/gbf_lexer_test.gleam
··· 1 - import gbf/lexer 2 - import gbf/token 1 + import gbf/internal/lexer 2 + import gbf/internal/token 3 3 import gleeunit/should 4 4 5 5 pub fn can_lex_test() {
+3 -3
test/gbf_parser_test.gleam
··· 1 - import gbf/lexer.{Position} 2 - import gbf/parser.{Block, Leaf, Node} 3 - import gbf/token.{DecrementByte, IncrementByte, IncrementPointer} 1 + import gbf/internal/lexer.{Position} 2 + import gbf/internal/parser.{Block, Leaf, Node} 3 + import gbf/internal/token.{DecrementByte, IncrementByte, IncrementPointer} 4 4 import gleeunit/should 5 5 6 6 pub fn should_parse_test() {
+1 -2
test/gbf_test.gleam
··· 1 1 import gbf 2 - import gbf/vm 3 2 import gleeunit 4 3 import gleeunit/should 5 4 ··· 14 13 let assert Ok(bvm) = gbf.run(input) 15 14 16 15 bvm 17 - |> vm.output 16 + |> gbf.output 18 17 |> should.equal("Hello World!\n") 19 18 }
+1 -1
test/gbf_vm_test.gleam
··· 1 1 import ascii 2 - import gbf/vm.{type VirtualMachine} 2 + import gbf/internal/vm.{type VirtualMachine} 3 3 import gleam/result 4 4 import gleeunit/should 5 5