私の会社では、構文的に Excel の数式言語に似たドメイン固有の言語を維持しています。新しいビルトインを言語に追加することを検討しています。これを行う 1 つの方法は、コードベースで繰り返し使用される冗長コマンドを特定することです。たとえば、人々が常に同じ 100 文字のコマンドを記述して、文字列の先頭と末尾から空白を削除するのを見た場合、trim
関数を追加する必要があることを示唆しています。
コードベースで頻繁に使用される部分文字列のリストを確認することから始めるとよいでしょう (ただし、使用される変数名が異なるため、頻繁に使用されるコマンドが数文字異なる場合があります)。
これを行うための十分に確立されたアルゴリズムがあることは知っていますが、最初に、車輪の再発明を回避できるかどうかを確認したいと思います. たとえば、この概念が多くの圧縮アルゴリズムの基礎になっていることは知っていますが、頻繁に使用される部分文字列の辞書を取得できる圧縮モジュールはありますか? 他のアイデアをいただければ幸いです。