diff options
Diffstat (limited to 'Rakefile')
| -rw-r--r-- | Rakefile | 45 |
1 files changed, 6 insertions, 39 deletions
@@ -38,47 +38,14 @@ end desc 'Convert previous stage language into the current stage language' task :convert do - File.open('boot/stage19/cl.elna', 'w') do |current_stage| - File.readlines('boot/stage18/cl.elna').each do |line| - current_stage << "\tf();\n" if line.include? "if _compile() then" + File.open('boot/stage20/cl.elna', 'w') do |current_stage| + File.readlines('boot/stage19/cl.elna').each do |line| + if line.include? "_assign_at(@classification, 1, ElnaLexerClass.eof)" + current_stage << "\tclassification[1] := ElnaLexerClass.eof;\n" + else current_stage << line - if line == "type\n" - current_stage << <<-RECORD - Pair = record - first: Word; - second: Word - end; - R1 = record - field1: Word; - field2: [4]Word; - field3: Word - end; - R2 = record - field1: Word; - field3: Word; - field4: Word; - field5: Word; - field6: Word; - field2: Word - end; - - RECORD - end + end end - current_stage << <<~EPILOGUE - - proc f(); - var - v1: Word; - r: ^R1; - begin - r := malloc(#size(R1)); - - v1 := r^.field2[2]; - - printf("# %i\\n\\0", v1) - end; - EPILOGUE end end |
