私が解決しようとしている問題は、ユーザーが適切な詳細なタイトルの代わりにプロパティの一意の識別子を入力する必要があるカスタム SQL のような DSL のエディターです。人間が読める「firstName」の代わりに、/obj/12075f8459499 のようなものを考えてください。問題のアプリケーションは Web 上にあり、一意の URI を持つオブジェクトの実装の詳細を非表示にする優れたエディターをユーザーに提供したいと考えています。
私はそれをコンテンツ編集可能な DIV として想像します。ここで、プロパティ タイトルの開始でもある文字列を入力し始めると、このプロパティが実際にあなたが考えているものであることを確認するドロップダウンが表示されます。アイテムを選択すると、プレースホルダーが挿入され、アプリケーションはこれを DSL 構文にシリアル化する方法を認識します。サイドバーのリストから、編集可能領域に挿入するプロパティを選択することもできます。
私の質問は、ユーザー入力を解析して、結果のインターフェイスが適切に応答するようにする方法です。文法を定義することから始めて、入力を解析する必要がありますか、それとも他の場所を探す必要がありますか? このような問題は多くのアプリケーションで解決されているように見えるので、これが通常どのように実装されているかについての指針を探しています。
注: 言語の構文の強調表示も行う必要があるため、いずれにせよ何らかの文法が必要になるでしょう。