2014-02-21 3 views
1

정규식 입력을 허용하는 작은 언어를 만들고 싶습니다. 나는 (f) 렉스로 스캔 할 것이다.정규식에 대한 (f) 렉스 규칙은 무엇입니까?

따라서 일반 표현식에는 Lex 규칙이 필요합니다. 누구든지 전에 이것을 했습니까?

+1

흥미로운 질문입니다. 모든 문자는 정규식의 일부가 될 수 있으므로'. *'보다 표현력이 풍부한 무언가를 찾고있을 것입니다. 정규 표현식의 요소는 임의의 깊이에 더 많이 또는 덜 중첩 될 수 있기 때문에 yacc와 같은 도구를 사용하여 구문 분석하면 프로젝트에 도움이 될 것으로 판단됩니다. 정규 표현식은 약간의 언어로 내장되어 있기 때문에 렉싱 목적을 위해 Perl이나 JavaScript의 백 슬래시와 같은 특수 구분자를 사용하여 정규 표현식을 설정하는 것이 좋습니다. –

+1

"정규식을위한 렉스 규칙"이란 무엇입니까? 그건 말이 안돼. 정규 표현식 (당신의 언어로)은 렉스가 단순한 문자열 리터럴 상수 이상으로 인식 할 수있는 것이 아닙니다. 그것을위한 렉스 규칙을 정의하는 것은 불가능합니다. _surrounding_ stuff (마커 등)는 Perl의's # regex # replace # flags'와 같이 토큰 화 가능합니다. –

+0

@DavidGorsline 재미있는 의견, 감사합니다! 실제로 정규 표현식은 렉서 규칙에 의해 지정 될 수 없습니다. –

답변

1

"정규식을위한 렉스 규칙"이란 무엇입니까? 그건 말이 안돼. 정규 표현식 (당신의 언어로)은 렉스가 단순한 문자열 리터럴 상수 이상으로 인식 할 수있는 것이 아닙니다. 그것을위한 렉스 규칙을 정의하는 것은 불가능합니다. 주변 물건 (마커 등)은 Perl의 # regex # replace # 플래그와 같이 토큰 화 가능합니다.

+0

당신은 절대적으로 맞습니다. 당신의 대답은 제 깊은 코딩에서 한 발 뒤로 물러났습니다. 그 때 나는 명백한 것을 보았다. 감사. –

+0

정말 환영합니다. 감사합니다. –