chore: remove trailing whitespace and fix indentation across multiple files

This commit is contained in:
2025-12-09 18:41:05 +00:00
parent f30f58044c
commit 758399397a
15 changed files with 191 additions and 453 deletions
+120 -2
View File
@@ -5,7 +5,7 @@ LDFLAGS = -ldl -lm
LEXER_SOURCES = lexer/lexer_tokenizer.c lexer/lexer_keywords.c lexer/lexer_literals.c
LEXER_OBJECTS = $(LEXER_SOURCES:.c=.o)
PARSER_SOURCES = parser/parser.c parser/parser_expressions.c parser/parser_statements.c parser/parser_declarations.c parser/parser_printer.c
PARSER_SOURCES = parser/parser.c parser/parser_expressions.c parser/parser_statements.c parser/parser_declarations.c
PARSER_OBJECTS = $(PARSER_SOURCES:.c=.o)
TYPES_SOURCES = types/types.c
@@ -391,7 +391,125 @@ clean:
test_lexer test_parser test_semantic test_ir test_runtime test_strings test_arrays test_objects test_instance_methods test_fileio test_dowhile test_switch test_math test_string_methods test_static test_interfaces test_exceptions test_ternary test_bitwise test_enhanced_for test_array_init test_instanceof test_shortcircuit test_multidim_arrays test_static_init test_negative test_enums test_collections test_super test_inheritance test_break test_elseif test_forloop test_println test_loader test_object_methods test_autobox test_sockets test_method_ref test_gc test_benchmark \
test_nanbox test_fastframe test_labeltable test_methodcache test_benchmark_pgo test_unittest_demo rava rava.o *.gcda */*.gcda
.PHONY: all clean benchmark test_phase0 pgo test_benchmark_pgo_gen pgo_run test_benchmark_pgo test test_repl examples
.PHONY: all clean benchmark test_phase0 pgo test_benchmark_pgo_gen pgo_run test_benchmark_pgo test test_repl examples coverage coverage-clean coverage-report
COVERAGE_CFLAGS = -Wall -Wextra -Werror -std=gnu99 -O0 -g --coverage -I.
COVERAGE_LDFLAGS = -ldl -lm --coverage
coverage-clean:
rm -f *.gcda *.gcno *.gcov
rm -f */*.gcda */*.gcno */*.gcov
rm -f */*/*.gcda */*/*.gcno */*/*.gcov
rm -rf coverage_report
coverage: coverage-clean
@echo "=== Building with coverage instrumentation ==="
$(MAKE) clean
$(MAKE) CC="$(CC)" CFLAGS="$(COVERAGE_CFLAGS)" LDFLAGS="$(COVERAGE_LDFLAGS)" all
$(MAKE) CC="$(CC)" CFLAGS="$(COVERAGE_CFLAGS)" LDFLAGS="$(COVERAGE_LDFLAGS)" test_overloading test_overloading_runtime
@echo ""
@echo "=== Running ALL tests to collect coverage data ==="
-./test_lexer
-./test_parser
-./test_semantic
-./test_ir
-./test_runtime
-./test_strings
-./test_arrays
-./test_objects
-./test_instance_methods
-./test_fileio
-./test_dowhile
-./test_switch
-./test_math
-./test_string_methods
-./test_static
-./test_static_init
-./test_interfaces
-./test_exceptions
-./test_ternary
-./test_bitwise
-./test_enhanced_for
-./test_array_init
-./test_instanceof
-./test_shortcircuit
-./test_multidim_arrays
-./test_negative
-./test_enums
-./test_collections
-./test_super
-./test_inheritance
-./test_break
-./test_elseif
-./test_forloop
-./test_println
-./test_loader
-./test_object_methods
-./test_autobox
-./test_sockets
-./test_method_ref
-./test_gc
-./test_nanbox
-./test_fastframe
-./test_labeltable
-./test_methodcache
-./test_benchmark
-./test_overloading
-./test_overloading_runtime
@echo ""
@echo "=== Running ALL example programs ==="
-./rava examples/01_Fibonacci.java Fibonacci main
-./rava examples/02_PrimeNumbers.java PrimeNumbers main
-./rava examples/03_FactorialVariations.java FactorialVariations main
-./rava examples/04_GCD_LCM.java GCD_LCM main
-./rava examples/05_PowerFunction.java PowerFunction main
-./rava examples/06_ArrayOperations.java ArrayOperations main
-./rava examples/06_BubbleSort.java BubbleSort main
-./rava examples/07_CollatzConjecture.java CollatzConjecture main
-./rava examples/08_PascalTriangle.java PascalTriangle main
-./rava examples/09_TowerOfHanoi.java TowerOfHanoi main
-./rava examples/10_AckermannFunction.java AckermannFunction main
-./rava examples/11_ArrayOperations.java ArrayOperations main
-./rava examples/11_SimpleArray.java SimpleArray main
-./rava examples/11_TowerOfHanoiStatic.java TowerOfHanoiStatic main
-./rava examples/12_StringBasics.java StringBasics main
-./rava examples/13_SimpleObject.java SimpleObject main
-./rava examples/14_InstanceMethods.java InstanceMethods main
-./rava examples/15_FileIO.java FileIO main
-./rava examples/16_ForLoop.java ForLoop main
-./rava examples/17_Inheritance.java Inheritance main
-./rava examples/18_ElseIf.java ElseIf main
-./rava examples/19_BreakContinue.java BreakContinue main
-./rava examples/20_Benchmark.java Benchmark main
-./rava examples/21_DoWhile.java DoWhile main
-./rava examples/HelloWorld.java HelloWorld main
@echo ""
@echo "=== Generating coverage report ==="
$(MAKE) coverage-report
coverage-report:
@echo "=== Coverage Summary ==="
@echo ""
@for dir in lexer parser types semantic ir runtime loader; do \
echo "--- $$dir/ ---"; \
for f in $$dir/*.c; do \
gcov -n "$$f" 2>/dev/null | grep -A1 "^File" | grep -v "^--$$" || true; \
done; \
echo ""; \
done
@echo "=== Detailed .gcov files generated in source directories ==="
@echo "Run 'gcov <file.c>' for detailed line-by-line coverage"
@echo "Run 'make coverage-html' for HTML report (requires lcov)"
coverage-html:
@echo "=== Generating HTML coverage report ==="
@which lcov > /dev/null || (echo "ERROR: lcov not installed. Run: sudo apt-get install lcov" && exit 1)
lcov --capture --directory . --output-file coverage.info --ignore-errors inconsistent,unused
lcov --remove coverage.info '/usr/*' '*/tests/*' --output-file coverage.info --ignore-errors inconsistent,unused
genhtml coverage.info --output-directory coverage_report --ignore-errors inconsistent,unused
@echo ""
@echo "=== HTML report generated in coverage_report/ ==="
@xdg-open coverage_report/index.html 2>/dev/null || open coverage_report/index.html 2>/dev/null || echo "Open coverage_report/index.html in a browser"
test: all
@echo "=== Running All Tests ==="