diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-05-27 14:05:17 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-05-27 14:05:17 +0200 |
| commit | b09ddfcbbedce37910daa6a1488a6e16a1be7c69 (patch) | |
| tree | 3ce000aa5b4190318047c4a9d3927adb8e3b223b /Rakefile | |
| parent | e814ebae835aedf6b11155c8ac88fab210e103ea (diff) | |
| download | elna-b09ddfcbbedce37910daa6a1488a6e16a1be7c69.tar.gz | |
Remove need for trailing semicolons
Diffstat (limited to 'Rakefile')
| -rw-r--r-- | Rakefile | 37 |
1 files changed, 13 insertions, 24 deletions
@@ -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 |
