docs: add OOP class system with object allocation, field/method lookup, and parser integration
This commit is contained in:
@@ -17,7 +17,8 @@ SOURCES = $(SRC_DIR)/main.c \
|
||||
$(SRC_DIR)/interpreter.c \
|
||||
$(SRC_DIR)/native_functions.c \
|
||||
$(SRC_DIR)/string_utils.c \
|
||||
$(SRC_DIR)/preprocessor.c
|
||||
$(SRC_DIR)/preprocessor.c \
|
||||
$(SRC_DIR)/oop.c
|
||||
|
||||
OBJECTS = $(SOURCES:$(SRC_DIR)/%.c=$(BUILD_DIR)/%.o)
|
||||
|
||||
@@ -39,7 +40,13 @@ TESTS = $(TEST_DIR)/feature_test.rc \
|
||||
$(TEST_DIR)/trig_test.rc \
|
||||
$(TEST_DIR)/file_seek_test.rc \
|
||||
$(TEST_DIR)/include_test.rc \
|
||||
$(TEST_DIR)/nested_include_test.rc
|
||||
$(TEST_DIR)/nested_include_test.rc \
|
||||
$(TEST_DIR)/async_await_test.rc \
|
||||
$(TEST_DIR)/oop_step0.rc \
|
||||
$(TEST_DIR)/oop_step1.rc \
|
||||
$(TEST_DIR)/oop_fields.rc \
|
||||
$(TEST_DIR)/oop_method.rc \
|
||||
$(TEST_DIR)/oop_working.rc
|
||||
|
||||
EXAMPLES = $(EXAMPLE_DIR)/http_simple.rc \
|
||||
$(EXAMPLE_DIR)/http_persistent.rc \
|
||||
@@ -122,6 +129,24 @@ test: $(TARGET)
|
||||
@echo "Running nested include tests..."
|
||||
@$(TARGET) $(TEST_DIR)/nested_include_test.rc 2>&1 | grep -v "Error at token" || true
|
||||
@echo ""
|
||||
@echo "Running async/await tests..."
|
||||
@$(TARGET) $(TEST_DIR)/async_await_test.rc 2>&1 | grep -v "Error at token" || true
|
||||
@echo ""
|
||||
@echo "Running OOP step 0 (class skipping)..."
|
||||
@$(TARGET) $(TEST_DIR)/oop_step0.rc 2>&1 | grep -v "Error at token" || true
|
||||
@echo ""
|
||||
@echo "Running OOP step 1 (object creation)..."
|
||||
@$(TARGET) $(TEST_DIR)/oop_step1.rc 2>&1 | grep -v "Error at token" || true
|
||||
@echo ""
|
||||
@echo "Running OOP field tests..."
|
||||
@$(TARGET) $(TEST_DIR)/oop_fields.rc 2>&1 | grep -v "Error at token" || true
|
||||
@echo ""
|
||||
@echo "Running OOP method tests..."
|
||||
@$(TARGET) $(TEST_DIR)/oop_method.rc 2>&1 | grep -v "Error at token" || true
|
||||
@echo ""
|
||||
@echo "Running OOP working tests..."
|
||||
@$(TARGET) $(TEST_DIR)/oop_working.rc 2>&1 | grep -v "Error at token" || true
|
||||
@echo ""
|
||||
@echo "=== All Tests Completed ==="
|
||||
|
||||
run-feature-test: $(TARGET)
|
||||
@@ -181,6 +206,24 @@ run-include-test: $(TARGET)
|
||||
run-nested-include-test: $(TARGET)
|
||||
$(TARGET) $(TEST_DIR)/nested_include_test.rc
|
||||
|
||||
run-async-await-test: $(TARGET)
|
||||
$(TARGET) $(TEST_DIR)/async_await_test.rc
|
||||
|
||||
run-oop-step0: $(TARGET)
|
||||
$(TARGET) $(TEST_DIR)/oop_step0.rc
|
||||
|
||||
run-oop-step1: $(TARGET)
|
||||
$(TARGET) $(TEST_DIR)/oop_step1.rc
|
||||
|
||||
run-oop-fields: $(TARGET)
|
||||
$(TARGET) $(TEST_DIR)/oop_fields.rc
|
||||
|
||||
run-oop-method: $(TARGET)
|
||||
$(TARGET) $(TEST_DIR)/oop_method.rc
|
||||
|
||||
run-oop-working: $(TARGET)
|
||||
$(TARGET) $(TEST_DIR)/oop_working.rc
|
||||
|
||||
run-http-simple: $(TARGET)
|
||||
$(TARGET) $(EXAMPLE_DIR)/http_simple.rc
|
||||
|
||||
@@ -221,6 +264,12 @@ help:
|
||||
@echo " make run-file-seek-test - Run file_seek_test.rc (fseek, ftell)"
|
||||
@echo " make run-include-test - Run include_test.rc (#include directive)"
|
||||
@echo " make run-nested-include-test - Run nested_include_test.rc (nested includes)"
|
||||
@echo " make run-async-await-test - Run async_await_test.rc (async/await syntax)"
|
||||
@echo " make run-oop-step0 - Run oop_step0.rc (class skipping)"
|
||||
@echo " make run-oop-step1 - Run oop_step1.rc (object creation)"
|
||||
@echo " make run-oop-fields - Run oop_fields.rc (field initialization)"
|
||||
@echo " make run-oop-method - Run oop_method.rc (method calls)"
|
||||
@echo " make run-oop-working - Run oop_working.rc (full OOP test)"
|
||||
@echo ""
|
||||
@echo "Examples:"
|
||||
@echo " make run-http-simple - Run http_simple.rc (single connection HTTP server)"
|
||||
|
||||
Reference in New Issue
Block a user