TXR에서 재귀 패턴 일치 기능을 작성하는 방법을 이해하는 데 문제가 있습니다. 아래에서는 파일 경로를 인식하기위한 재귀 적 지시문을 정의하려고합니다. 이 경우 정규식 ([a-z]+\/)+[a-z]+
을 사용하여이 문법을 나타낼 수 있지만이 규칙의 이점을 누릴 수있는 실제 코드는 더 복잡한 규칙을 염두에두고 있습니다. 슬래시가있을 때이 지시문의 실패 원인은 무엇입니까?TXR : 재귀 패턴 일치 지시문을 작성하는 중
@(define location)@\
@ (cases)@\
@/[a-z]+/@\
@ (or)@\
@/[a-z]+//@(location)@\
@ (end)@\
@(end)
@(repeat)
@(cases)
@{location (location)}
@ (output)
@location is a valid location.
@ (end)
@(or)
@location
@ (output)
@location is not a valid location.
@ (end)
@(end)
@(end)
예 유효한 입력 :. /[a-z]+(\/[a-z]+)*/
내가 있으리라 믿고있어 :
this/is/valid
this/is/also/valid
this
a/b/c
나는 "곱하기와 항복"을 기억할 것입니다 :) – wdkrnls
"곱하기와 항복"녀석이 바로 여기에 있습니다. 그래서 당신은 그것을 어딘가에 돌릴 수 있습니다 : https://www.math.ubc.ca/~anstee/ – Kaz