У меня есть вопрос, связанный с реализацией массивов с комбинацией Java + ANTLR. (Я в основном говорю о массивах стилей java/c).
Итак, в основном я спрашиваю, как вы реализуете такую функцию, если такой пример уже доступен или кто-то может указать мне на что-нибудь, что может указать на ее решение.
С другой стороны, я немного искал возможное решение. Основная проблема, которую я вижу, заключается в том, что пользователь может создавать массивы различных размеров, даже сойти с ума, если захочет (например, создать массивы 5 измерений или хуже).
Хотя грамматика для чего-то подобного довольно проста, например
new ID (INT (',' INT)* )
задний конец действительно немного вмешивается. Как я уже сказал, пользователь может вводить любое количество измерений, поэтому измерения массива должны создаваться динамически. (по крайней мере, как я это вижу, может быть, я слишком все усложняю?)
После поиска я нашел то, что в значительной степени решает эту проблему, вот ссылка на вопрос:
Можно ли динамически создавать несколько -мерный массив в Java?
Конечно, мой вопрос в том, является ли этот жизнеспособный пример немного (по крайней мере) сложным? Есть ли более элегантное решение?
Имея это в виду, я подумал, может быть, ответ может заключаться в том, чтобы каким-то образом преобразовать многомерность в более линейную структуру? Может ли что-то подобное быть полезным? Простой поиск в stackoverflow указал на множество решений, например:
Алгоритм преобразования многомерного массива в одномерный массив
Стоит ли искать в этом направлении?
Теперь, в конце концов, имея в виду, что массивы действительно являются общей функцией во многих языках, я должен найти удивление, что после поиска в списке рассылки ANTLR нет подобного вопроса, что, как я уже сказал ранее, заставляет меня поверить, что я, возможно, из-за усложнения вещей? (Если я действительно хромаю в поиске?) Я был бы очень признателен за отзывы.