저는 Elixir를위한 jinja2와 같은 템플릿 언어를 구현하는 초기 설계 단계에 있습니다. 필자는 렉서를 손으로 쓴 적이 있었지만, 최근에는 얼랭 (Erlang)을위한 lex 모듈을 보았습니다. 그것은 유망 해 보이지만 초기 연구가 끝나면 내 목적에 적합한 도구인지 확신 할 수 없습니다.leex는 템플릿 엔진 렉서 작성에 좋은 선택입니까?
필자의 주저는 템플리트 언어가 본질적으로 문자열 임베디드 언어이기 때문에이 경우 leex를 사용하여 tokenize를 사용하는 방법이 명확하지 않습니다. 사소한 예를 들어,이 템플릿 토큰 화 상상 :
-
:이 예에서
<p>Here is some text for inclusion in the template.</p>
{% for x in some_variable %}
The value for the variable: {{ x }}.
{% endfor %}
을, 나는 kewords '에 대한 '와 '에 는'다르게에 따라 토큰 화되어 있는지 확인해야합니다
토큰 화 단계에서 두 번의 패스가 필요하거나 필자 자신의 렉서를 롤백해야 할 것처럼 보입니다.
어휘 분석, 특히 leex 나 템플릿 엔진 작성 경험이있는 사람이라면 앞으로 가장 좋은 방법에 대한 통찰력을 제공 할 수 있을까요?
좋은 점은 토큰 화 단계가 아니라 구문 분석 단계에 속합니다. 해명 해줘서 고마워. 나는 네가 옳다고 생각한다. 렉서는 토큰 중 무엇을 의미하거나 세우는 지에 대해 불가지론 자이어야합니다. – suprafly