Skip to content

Commit

Permalink
Bump Zig version: 0.8.0 => 0.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
sonota88 committed Jul 16, 2022
1 parent 32ff4df commit 71d7066
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 22 deletions.
2 changes: 1 addition & 1 deletion Dockerfile
Expand Up @@ -19,7 +19,7 @@ USER ${USER}

WORKDIR /home/${USER}

ARG version="0.8.0"
ARG version="0.9.0"
ARG archive_file="zig-linux-x86_64-${version}.tar.xz"

RUN wget -q \
Expand Down
8 changes: 4 additions & 4 deletions README.md
Expand Up @@ -10,14 +10,14 @@ cd vm2gol-v2-zig

```sh
./docker_run.sh zig version
# 0.8.0
# 0.9.0

LANG=C wc -l vg{lexer,parser,codegen}.zig lib/{types,utils,json}.zig
# 189 vglexer.zig
# 630 vgparser.zig
# 556 vgcodegen.zig
# 552 vgcodegen.zig
# 209 lib/types.zig
# 269 lib/utils.zig
# 244 lib/utils.zig
# 144 lib/json.zig
# 1997 total
# 1968 total
```
2 changes: 1 addition & 1 deletion docker_build.sh
Expand Up @@ -3,4 +3,4 @@
docker build \
--build-arg USER=$USER \
--build-arg GROUP=$(id -gn) \
-t vm2gol-v2-zig:2 .
-t vm2gol-v2-zig:3 .
2 changes: 1 addition & 1 deletion docker_run.sh
Expand Up @@ -2,4 +2,4 @@

docker run --rm -it \
-v"$(pwd):/home/${USER}/work" \
vm2gol-v2-zig:2 "$@"
vm2gol-v2-zig:3 "$@"
6 changes: 3 additions & 3 deletions lib/types.zig
Expand Up @@ -21,7 +21,7 @@ pub const Node = struct {
const Self = @This();

pub fn init() *Self {
var obj = allocator.create(Self) catch |err| {
var obj = allocator.create(Self) catch {
panic("Failed to allocate", .{});
};
obj.int = undefined;
Expand Down Expand Up @@ -149,7 +149,7 @@ const Name = struct {
const Self = @This();

pub fn init() *Self {
var obj = allocator.create(Self) catch |err| {
var obj = allocator.create(Self) catch {
panic("Failed to allocate", .{});
};
return obj;
Expand All @@ -174,7 +174,7 @@ pub const Names = struct {
const Self = @This();

pub fn init() *Self {
var obj = allocator.create(Self) catch |err| {
var obj = allocator.create(Self) catch {
panic("Failed to allocate", .{});
};
obj.len = 0;
Expand Down
5 changes: 1 addition & 4 deletions lib/utils.zig
Expand Up @@ -204,9 +204,6 @@ pub fn strEq(s1: []const u8, s2: []const u8) bool {

test "strEq" {
const assert = std.debug.assert;
const testing = std.testing;
const expect = testing.expect;
const expectEqual = testing.expectEqual;

const str: [5]u8 = [_]u8{ 'f', 'o', 'o', 0, 'x' };

Expand Down Expand Up @@ -235,7 +232,7 @@ pub fn indexOfNonNumeric(str: []const u8, start_index: usize) usize {
}

pub fn parseInt(str: []const u8) i32 {
return std.fmt.parseInt(i32, str, 10) catch |err| {
return std.fmt.parseInt(i32, str, 10) catch {
panic("Failed to parse ({s})", .{str});
};
}
Expand Down
12 changes: 4 additions & 8 deletions vgcodegen.zig
Expand Up @@ -68,7 +68,7 @@ fn fnArgDisp(names: *Names, name: []const u8) i32 {
return i + 2;
}

fn lvarDisp(dest: []u8, names: *Names, name: []const u8) i32 {
fn lvarDisp(names: *Names, name: []const u8) i32 {
const i = names.indexOf(name);
if (i == -1) {
panic("lvar not found", .{});
Expand Down Expand Up @@ -176,17 +176,15 @@ fn genExpr(
switch (expr.kind) {
.INT => {
if (expr.int) |intval| {
var buf1: [16]u8 = undefined;
puts_fmt(" cp {} reg_a", .{ intval });
} else {
panic("must not happen", .{});
}
},
.STR => {
var buf2: [16]u8 = undefined;
const str = expr.getStr();
if (0 <= lvar_names.indexOf(str)) {
const disp = lvarDisp(buf2[0..], lvar_names, str);
const disp = lvarDisp(lvar_names, str);
puts_fmt(" cp [bp:{}] reg_a", .{ disp });
} else if (0 <= fn_arg_names.indexOf(str)) {
const disp = fnArgDisp(fn_arg_names, str);
Expand Down Expand Up @@ -254,8 +252,7 @@ fn genCallSet(

_genFuncall(fn_arg_names, lvar_names, funcall);

var buf: [8]u8 = undefined;
const disp = lvarDisp(buf[0..], lvar_names, lvar_name);
const disp = lvarDisp(lvar_names, lvar_name);
puts_fmt(" cp reg_a [bp:{}]", .{ disp });
}

Expand All @@ -269,10 +266,9 @@ fn _genSet(

switch (dest.kind) {
.STR => {
var buf2: [16]u8 = undefined;
const str = dest.getStr();
if (0 <= lvar_names.indexOf(str)) {
const disp = lvarDisp(buf2[0..], lvar_names, str);
const disp = lvarDisp(lvar_names, str);
puts_fmt(" cp reg_a [bp:{}]", .{ disp });
} else {
panic("must not happen", .{});
Expand Down

0 comments on commit 71d7066

Please sign in to comment.