From 0756bf12d10cf1b7f78c571de0a9ad69cbaeb7ca Mon Sep 17 00:00:00 2001
From: curtis <curtis@i-mps.com>
Date: 星期一, 30 三月 2026 14:24:17 +0800
Subject: [PATCH] fix: 更新內部引用方法參照
---
scripts/scanimpl_annalysis_extract_methods.js | 40 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 40 insertions(+), 0 deletions(-)
diff --git a/scripts/scanimpl_annalysis_extract_methods.js b/scripts/scanimpl_annalysis_extract_methods.js
new file mode 100644
index 0000000..83aea3e
--- /dev/null
+++ b/scripts/scanimpl_annalysis_extract_methods.js
@@ -0,0 +1,40 @@
+const fs = require('fs');
+const path = require('path');
+
+const sourceFile = 'CB_IMGPSScanImp.pas.bk';
+const base_path = 'doc/curtis/prompt/scanimpl_analysis';
+const outputFile = path.join(base_path, 'step1_raw_methods.json');
+
+function extract() {
+ const lines = fs.readFileSync(sourceFile, 'utf8').split('\n');
+ const totalLines = lines.length;
+ const methods = [];
+ const regex = /^(procedure|function)\s+TCB_IMGPSScanX\./i;
+
+ for (let i = 0; i < totalLines; i++) {
+ const line = lines[i];
+ if (regex.test(line)) {
+ methods.push({
+ matcher: line.trim(),
+ lIndex: i + 1,
+ rIndex: -1 // To be filled
+ });
+ }
+ }
+
+ for (let i = 0; i < methods.length; i++) {
+ if (i < methods.length - 1) {
+ methods[i].rIndex = methods[i + 1].lIndex - 1;
+ } else {
+ methods[i].rIndex = totalLines;
+ }
+ }
+
+ if (!fs.existsSync(base_path)) {
+ fs.mkdirSync(base_path, {recursive: true});
+ }
+ fs.writeFileSync(outputFile, JSON.stringify(methods, null, 2), 'utf8');
+ console.log(`Extracted ${methods.length} methods to ${outputFile}`);
+}
+
+extract();
--
Gitblit v1.8.0