6
Qt의 qmake의 모호한 문법으로 계속 싸우고 있습니다.PEG 문법에서 함수 인수를 설명하는 방법
지금은 괄호를 포함 할 수 있습니다 함수 인자 (예를 들어, 정규식을) 설명하는 방법을 찾을 수 없습니다 :
functionName(arg1, "arg2", ^(arg3)+$)
나는이 같은 함수 호출을 설명하기 위해 시도했다 :
FunctionCall = Identifier space* "(" space* FunctionArgumentList? space* ")" space* eol*
FunctionArgumentList = FunctionArgumentString ((space* "," space* FunctionArgumentString)*/(blank* FunctionArgumentString)*)
FunctionArgumentString = ReplaceFunctionCall/TestFunctionCall/EnquotedString/RegularFunctionArgumentString
RegularFunctionArgumentString = RegularFunctionArgumentStringChar+
RegularFunctionArgumentStringChar = !(")"/blank/","/quote/doublequote) SourceCharacter
SourceCharacter <- [\u0000-\uFFFC]
그런 문법에 따옴표/큰 따옴표없이 삽입 된 괄호에 대한 지원을 어떻게 추가합니까? 함수 인수 내부의 괄호와 함수 인수를 닫는 함수를 구별하는 방법은 무엇입니까?
유효한 함수 호출 예 :
contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*)
'^ (/ usr)/lib (64)?. *'란 무엇입니까? –
JS와 비슷한 정규식 – eraxillan