Skip to content

Conversation

@sangkilc
Copy link
Member

@sangkilc sangkilc commented Sep 19, 2025

@sangkilc sangkilc linked an issue Sep 19, 2025 that may be closed by this pull request
@sangkilc sangkilc requested a review from Copilot September 20, 2025 01:02
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces BiHexLang, a new specialized language for arithmetic operations on binary/hexadecimal data, and significantly refactors the BinExplorer architecture to use a more modular command system.

  • Adds BiHexLang library with parser and evaluator for arithmetic expressions
  • Refactors BinExplorer command system from inheritance-based to interface-based
  • Reorganizes code structure with separate modules for interactive and batch modes

Reviewed Changes

Copilot reviewed 41 out of 41 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/RearEnd/RearEnd.sln Adds BiHexLang projects and additional platform configurations
src/RearEnd/BiHexLang/* New BiHexLang library implementation with parser, evaluator, and expression types
src/RearEnd/BinExplorer/Commands/* Refactored command implementations using ICmd interface
src/RearEnd/BinExplorer/CmdStore.fs New command storage and management system
src/RearEnd/BinExplorer/Arbiter.fs New arbiter implementation replacing Protocol system
src/RearEnd/BinExplorer/Program.fs Simplified main entry point using separate mode modules

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

- Introduce new projects for BiHexLang and its tests.
- Implement syntax and evaluation tests in AST.Tests.fs,
  Evaluator.Tests.fs, and Number.Tests.fs.
- Update BinExplorer with BiHexLang evaluation and parsing features.
- Remove old SimpleArith files in favor of new BiHexLang
  implementation.
- Update RearEnd.sln with BiHexLang project settings.
Remove `MSTestSettings.fs` from the project and eliminate
the usage of the `MSTestSettings` module.
Remove unused imports and consolidate the main entry point
to support both interactive and batch modes for better
user experience and maintainability.
@sangkilc sangkilc force-pushed the 253-rearend-introducing-bihexlang branch from 5b714e5 to 1a20a2c Compare September 20, 2025 01:09
@sangkilc sangkilc merged commit c91d7ab into main Sep 20, 2025
7 checks passed
@sangkilc sangkilc deleted the 253-rearend-introducing-bihexlang branch September 20, 2025 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[RearEnd] Introducing BiHexLang

2 participants