Skip to content

Latest commit

 

History

History
198 lines (155 loc) · 7.67 KB

File metadata and controls

198 lines (155 loc) · 7.67 KB

📁 Структура проекта

🎯 Обзор

1c-help-parser/
├── 📄 README.md              # Главная документация
├── 📄 QUICK_START.md         # Быстрый старт
├── 📄 PROJECT_INFO.md        # Информация о проекте
├── 📄 STRUCTURE.md           # Этот файл
├── 📄 run.py                 # Главный скрипт запуска
├── 📄 requirements.txt       # Зависимости Python
├── 📄 LICENSE                # Лицензия MIT
├── 📄 .gitignore             # Исключения Git
└── 📄 VERSION                # Версия проекта

🔧 Исходный код (src/)

Архитектура

Проект использует модульную архитектуру с базовыми классами:

  • BaseParser - абстрактный базовый класс для всех парсеров
  • BaseConverter - абстрактный базовый класс для всех конвертеров

Основные парсеры

  • base_parser.py - Базовый класс для всех парсеров
  • hbk_parser.py - Анализ структуры .hbk архивов
  • bsl_syntax_extractor.py - Извлечение синтаксиса из HTML

Конвертеры

  • base_converter.py - Базовый класс для всех конвертеров
  • context_converter.py - Конвертация в контекст для LLM
  • optimized_context_converter.py - Оптимизированная конвертация

Демонстрационные скрипты

  • llm_context_demo.py - Демо для основного файла (русский)
  • test_root_demo.py - Демо для файла оглавления (английский)
  • optimized_demo.py - Демо оптимизированного контекста
  • improved_demo.py - Демо улучшенного парсера
  • inspect_hbk.py - Простой инспектор архивов

Функциональность

  • ✅ Парсинг ZIP архивов
  • ✅ Извлечение HTML контента
  • ✅ Поиск синтаксических элементов
  • ✅ Создание поисковых индексов
  • ✅ Экспорт в различные форматы

Ограничения

  • По умолчанию: 500 файлов за раз (настраивается)
  • Полная обработка: Доступна при изменении параметра max_files
  • Производительность: Оптимизирована для больших архивов

📊 Данные (data/)

Исходные файлы

  • *.zip - Восстановленные архивы документации
  • *.hbk - Оригинальные файлы документации

Результаты парсинга

  • bsl_syntax.json - Данные основного файла
  • bsl_syntax_root.json - Данные файла оглавления
  • hbk_analysis.json - Анализ структуры архивов

Контекст для LLM

  • 1c_context.json - Структурированный контекст (content + metadata)
  • 1c_context.txt - Текстовый контекст для LLM
  • 1c_search_index.json - Поисковый индекс
  • 1c_summary.json - Краткое резюме

Структура контекста

{
  "content": "Краткое описание объекта",
  "metadata": {
    "syntax_variants": [],           // Варианты синтаксиса
    "parameters_by_variant": {},     // Параметры по вариантам
    "collection_elements": {},       // Информация о коллекциях
    "methods": [],                   // Методы объекта
    "availability": [],              // Доступность
    "version": ""                    // Версия
  }
}

Разбивка по категориям

  • context_chunks/objects_context.txt - Объекты
  • context_chunks/properties_context.txt - Свойства

Временные файлы

  • extracted/ - Извлеченные HTML файлы

📚 Документация (docs/)

Основная документация

  • README_CONTEXT.md - Инструкции по использованию контекста

Отчеты (REPORTS/)

  • COMPARISON.md - Сравнение результатов парсинга
  • FINAL_REPORT.md - Итоговый отчет проекта

Генерируемые файлы

  • bsl_syntax.md - Документация синтаксиса в Markdown
  • readme.md - Старый README (для справки)

💡 Примеры (examples/)

Код 1С

  • Module.bsl - Пример модуля на языке 1С

🚀 Запуск проекта

Главный скрипт

python run.py [опции]

Опции запуска

  • --file <путь> - Обработать конкретный файл
  • --demo <путь> - Запустить демонстрацию
  • --all - Обработать все файлы
  • --check - Проверить зависимости

Интерактивный режим

python run.py
# Выберите действие из меню

📈 Статистика файлов

Размеры

  • Исходные данные: ~70MB
  • Результаты парсинга: ~1.5MB
  • Контекст для LLM: ~500KB
  • Документация: ~50KB

Количество файлов

  • Python скрипты: 6
  • JSON файлы: 8
  • Текстовые файлы: 3
  • Markdown файлы: 5
  • ZIP архивы: 4
  • HBK файлы: 2

🔍 Поиск и навигация

Поиск по ключевым словам

  • Русский язык: Основной файл
  • Английский язык: Файл оглавления

Индексация

  • Автоматическое создание поисковых индексов
  • Поддержка нечеткого поиска
  • Категоризация результатов

🛠️ Настройка

Конфигурация

  • Изменение лимитов обработки
  • Настройка форматов вывода
  • Выбор парсеров HTML

Расширение

  • Добавление новых типов файлов
  • Создание новых экспортеров
  • Интеграция с внешними системами

📋 Зависимости

Обязательные

  • Python 3.8+
  • beautifulsoup4 - Парсинг HTML

Рекомендуемые

  • lxml - Быстрый XML/HTML парсер

Встроенные

  • zipfile - Работа с архивами
  • json - Обработка JSON
  • re - Регулярные выражения

🎯 Применение

Для разработчиков

  • Изучение синтаксиса 1С
  • Поиск методов и свойств
  • Понимание архитектуры

Для LLM

  • Создание контекста
  • Улучшение ответов
  • Автоматическая документация

Для обучения

  • Структурированные материалы
  • Интерактивные примеры
  • Поиск по ключевым словам