feat: restructure compiler to bottom-up order removing forward declarations
Eliminate all forward declarations and reorder functions so each is defined before its first use, making recursion points explicit. Add semicolon counting to metrics script and include boolean equality test file.
This commit is contained in:
@@ -11,11 +11,13 @@ num_docs = 0
|
||||
num_code = 0
|
||||
num_empty = 0
|
||||
num_todos = 0
|
||||
num_semicolons = 0
|
||||
|
||||
for source_path in glob.iglob("src/*.[ch]"):
|
||||
num_files += 1
|
||||
with open(source_path, "r") as input:
|
||||
for line in input:
|
||||
num_semicolons += line.count(';')
|
||||
match = TODO_PATTERN.match(line)
|
||||
if match:
|
||||
num_todos += 1
|
||||
@@ -37,3 +39,4 @@ print num_todos, "TODOs"
|
||||
print num_docs, "comment lines"
|
||||
print num_code, "code lines"
|
||||
print num_empty, "empty lines"
|
||||
print num_semicolons, "semicolons"
|
||||
|
||||
+705
-737
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,23 @@
|
||||
io.write(true == true) // expect: true
|
||||
io.write(true == false) // expect: false
|
||||
io.write(false == true) // expect: false
|
||||
io.write(false == false) // expect: true
|
||||
|
||||
// Not equal to other types.
|
||||
io.write(true == 1) // expect: false
|
||||
io.write(false == 0) // expect: false
|
||||
io.write(true == "true") // expect: false
|
||||
io.write(false == "false") // expect: false
|
||||
io.write(false == "") // expect: false
|
||||
|
||||
io.write(true != true) // expect: false
|
||||
io.write(true != false) // expect: true
|
||||
io.write(false != true) // expect: true
|
||||
io.write(false != false) // expect: false
|
||||
|
||||
// Not equal to other types.
|
||||
io.write(true != 1) // expect: true
|
||||
io.write(false != 0) // expect: true
|
||||
io.write(true != "true") // expect: true
|
||||
io.write(false != "false") // expect: true
|
||||
io.write(false != "") // expect: true
|
||||
Reference in New Issue
Block a user