나는 간단한 예/아니오 fsm을 구현하기 위해 Ragel을 사용하려고합니다. 유감스럽게도 언어 사양은 약 1,000 개의 정규 표현식으로 구성되며 대다수에 * 연산자가 한 번 이상 표시됩니다. 따라서 가능한 국가의 수가 폭발하고 내 언어에 대한 fsm을 생성하는 것이 Ragel을 사용하는 것이 불가능 해 보입니다. 거기에 내가 필요로 할 수있는 도구가 있습니까? 아니면 접근 방식을 바꿔야합니까? 각 정규 표현식에 대해 입력 문자열을 차례로 검사하는 것보다 나은 것이 필요합니다. 나는 수천 개의 정규 표현식을 ~ 50 개의 덩어리로 자르고 각각에 대해 fsm을 생성하고 모든 기계에 대해 모든 입력 문자열을 실행할 수 있지만 그러한 종류의 해킹없이이 종류의 작업을 처리 할 수있는 도구가 있다면 그것의 듣기를 기뻐했다.악용 ragel, 아마도 새로운 접근/도구가 필요합니다
감사합니다.
ragel을 'goto and switch'기반 컴퓨터로 생성하고 C++로 작성하여 Java에서 호출 한 경우 RAM 사용량이 적을 수 있습니다. goto 기반 머신은 큰 테이블을 사용하지 않습니다. 하지만 그것을 깨는 것은 아마도 좋은 움직임이다. :) – matiu