2 Commits

Author SHA1 Message Date
msyds 6450642be3 lad: case-insensitivity
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
2026-06-21 20:25:56 -06:00
msyds a787aeb2a9 lad: init
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (push) Has been cancelled
Build and populate cache / tests (sydpkgs, nixpkgs=https://github.com/NixOS/nixpkgs/archive/refs/heads/nixpkgs-unstable.tar.gz, sydpkgs) (pull_request) Has been cancelled
2026-06-21 19:27:23 -06:00
2 changed files with 77 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
diff --git a/5.1/assembler.lua b/5.1/assembler.lua
index fb89b18df2..e5f0b2753b 100644
--- a/5.1/assembler.lua
+++ b/5.1/assembler.lua
@@ -100,7 +100,7 @@
label <- <name> ":"
string <- '"' ('\\' / '\"' / !'"' .)* '"'
instruction <- ( <s> ( {<label>} / <number>)? <s> <ln>? <s> {<op>} ( <s> {<param>} )+ <s> ( %nl )+ ) -> {}
- op <- [A-Z]+
+ op <- [A-Za-z]+
param <- <register> / <number> / <name> / <string>
register <- ( "R[" <number> "]" )
s <- ( !%nl %s )*
@@ -310,10 +310,10 @@
local b = 3
local c = 4
if check_label(table[1]) == nil then
- op = table[1]
+ op = string.upper (table[1])
else
set_label(table[1], parsed, n)
- op = table[2]
+ op = string.upper (table[2])
a = 3
b = 4
c = 5
+51
View File
@@ -0,0 +1,51 @@
{ lua5_2
, lua5_1
, stdenv
, makeWrapper
, fetchFromGitHub
, lib
, wantLad5_1 ? true
, wantLad5_2 ? true
, wantCaseInsensitivity ? false
}:
let
our-lua52 = lua5_2.withPackages (ps: with ps; [
lpeg
]);
our-lua51 = lua5_1.withPackages (ps: with ps; [
lpeg
]);
in stdenv.mkDerivation {
pname = "lad";
version = "5d2eafb";
nativeBuildInputs = [
makeWrapper
];
src = fetchFromGitHub {
owner = "andremm";
repo = "lad";
rev = "5d2eafb8790d7a1030aca0dbb75201073aacd1d9";
hash = "sha256-oIKayAUuRDqiHmAD37A5RYcMTh1RtpNl0jLcc5h3718=";
};
LUA51 = lib.getExe our-lua51;
LUA52 = lib.getExe our-lua52;
patches = lib.optional wantCaseInsensitivity ./case-insensitivity.patch;
installPhase = ''
mkdir -p $out/bin $out/opt/{5.1,5.2}
cp 5.1/*.lua $out/opt/5.1/
cp 5.2/*.lua $out/opt/5.2/
${lib.optionalString wantLad5_1 ''
makeWrapper $LUA51 $out/bin/luaa-5.1 \
--add-flags $out/opt/5.1/assembler.lua
makeWrapper $LUA51 $out/bin/luad-5.1 \
--add-flags $out/opt/5.1/disassembler.lua
''}
${lib.optionalString wantLad5_2 ''
makeWrapper $LUA52 $out/bin/luaa-5.2 \
--add-flags $out/opt/5.2/luaa.lua
makeWrapper $LUA52 $out/bin/luad-5.2 \
--add-flags $out/opt/5.2/luad.lua
''}
'';
}