Мне нужно создать простой синтаксический анализатор для типа ввода, выраженного в виде текста.Java или Scala для FSM Parser?
я реализовал FSM в Java с использованием двух ИНТ массивов:
states[][]
actions[][]
Как я ее отладки я понял, что это может быть проще в использовании Java перечислений в качестве переменной из этих типов должны отображаться как значение в представлении отладки в IntelliJ. Однако, когда я начал этот путь, казалось, что единственный способ использовать Enums - разместить таблицы состояний и действий в HashMap - или есть способ сделать многомерный массив, где размеры - значения Enum? Я бы предпочел не брать создание объекта и удар производительности, связанный с HashMap, если я могу ему помочь.
Я тогда думал, что могу взглянуть на Скала, чтобы посмотреть, может ли это быть лучшим вариантом.
Итак, вопрос в том, будет ли Scala лучшим языком для выражения плотного FSM, или мне лучше не придерживаться Java-массивов?
http://ru.wikipedia.org/wiki/Flying_Spaghetti_Monster <3 –
@Bears съест вас:? – SyntaxT3rr0r
@ Randy Kahle: как для Scala vs Java: Scala может быть более мощным, чтобы выразить ваш FSM, но Java может использоваться более «низкоуровневым» способом, чем Scala, поскольку Java действительно представляет собой OO-гибрид, а не полный язык OO , Scala не позволяет напрямую обращаться к примитивам или примитивным массивам. Вы * можете * получить очень хорошие перфомансы в Scala, но вам действительно нужно знать, что вы делаете, и как/когда ваш код Scala закончится с использованием (очень быстрых) базовых Java-примитивных массивов. Итак, ИМХО за то, что вы хотите делать с Java. – SyntaxT3rr0r