jqは広く使用されるツールですが、その言語仕様は実装によって定義されているため、その動作を理解するのが難しい。本稿では、jq言語の大部分をカバーする正式な構文と変性意味論を提供し、特に更新操作の新しい解釈方法を示すことで、より予測可能で効率的な実行を可能にする。