Я думаю, вы можете столкнуться с проблемой, если VALUE может содержать знак равенства. Я думаю, что было бы лучше, если это возможно, сделать знак равенства зарезервированным символом или переключиться на другой зарезервированный символ для обозначения '='.
Я не уверен, что это сработает в контексте вашего большего парсера, но вы можете разделить пространство, предоставив вам массив (или любую структуру данных, которую использует ваш язык) пар 'NAME = VALUE'. Затем переберите массив и снова разделите зарезервированный символ, который вы используете для '='. Если вы не можете изменить или зарезервировать '=', вы можете использовать регулярное выражение, чтобы просто соответствовать первому экземпляру '='. Надеюсь, я не далеко от базы!