nilang 0.4.1

A scripting language interpreter for Advent of Code
Documentation
#!/bin/ruby
# this is the V2 of the golden test generator

def generate_test_file
  fixture_filenames = read_fixture_files

  File.open('./src/runtime/tests/fixture_tests.rs', 'w') do |file| 
    file.write(test_file_header())

    fixture_filenames.each do |filename|
      test = create_test(filename)

      file.write(test)
    end
  end
end

def read_fixture_files
  golden_filenames = []

  Dir.entries("./src/runtime/tests/test_programs").each do |filename|
    next if filename == '.' || filename == '..'

    golden_filenames << filename.chomp('.nl')
  end

  golden_filenames
end

def test_file_header
"
/*
  WARNING: DO NOT EDIT THIS FILE
  This file is generated programatically by scripts/fixture_test_generator.rb
*/
"
end

def create_test(filename)
"
#[test]
fn #{filename}() {
  super::fixture_test(\"#{filename}\")
}
"
end

generate_test_file()