summaryrefslogtreecommitdiff
path: root/Rakefile
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-05-27 14:05:17 +0200
committerEugen Wissner <belka@caraus.de>2026-05-27 14:05:17 +0200
commitb09ddfcbbedce37910daa6a1488a6e16a1be7c69 (patch)
tree3ce000aa5b4190318047c4a9d3927adb8e3b223b /Rakefile
parente814ebae835aedf6b11155c8ac88fab210e103ea (diff)
downloadelna-b09ddfcbbedce37910daa6a1488a6e16a1be7c69.tar.gz
Remove need for trailing semicolons
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile37
1 files changed, 13 insertions, 24 deletions
diff --git a/Rakefile b/Rakefile
index 4cb08d0..db9b0fa 100644
--- a/Rakefile
+++ b/Rakefile
@@ -36,30 +36,19 @@ end
desc 'Convert previous stage language into the current stage language'
task :convert do
- File.open('boot/stage22/cl.elna', 'w') do |current_stage|
- seen_proc = false
- seen_global_var = false
- File.readlines('boot/stage21/cl.elna').each do |line|
- seen_proc = true if line.start_with? 'proc'
- seen_proc = false if line.start_with? 'end'
- if line.start_with?('begin') && !seen_proc
- current_stage << <<~FUN
- proc f();
- var
- x: ElnaRtlObjectInfo;
- begin
- x.allocated := true
- end;
-
- begin
- f();
- FUN
- elsif line.start_with?('var') && !seen_global_var
- current_stage << <<~FUN
- var
- FUN
- elsif line.end_with?("allocated: Word\n")
- current_stage << "\t\tallocated: Bool\n"
+ File.open('boot/stage23/cl.elna', 'w') do |current_stage|
+ seen_var = false
+
+ File.readlines('boot/stage22/cl.elna').each do |line|
+ if line.start_with? 'var'
+ seen_var = true
+ current_stage << "var\n"
+ elsif line.start_with? 'begin'
+ seen_var = false
+ current_stage << "begin\n"
+ elsif seen_var && line.end_with?(";\n")
+ current_stage << line[0..-3]
+ current_stage << "\n"
else
current_stage << line
end