나는 상당한 도전에 직면하게 될 것이라고 생각합니다. 가능한 한 많이 여러 언어로 식별자의 이름을 알파로 바꿀 수 있기를 바랍니다. 이를 위해서는 각 언어에 대한 특별한 배려가 필요하며, 코드를 공유하여 수행해야하는 작업량을 최소화하는 방법에 대한 조언을 요청합니다. 이미 여러 언어를 지원하는 통합 구문 분석 또는 추상 구문 프레임 워크와 같은 것이 좋습니다.Alpha는 여러 언어로 이름을 바꿉니다.
가def foo(x):
def bar(y):
return x+y
return bar
y
-x
알파 리 네이밍이 x
y
A를 의미하고 는 보존 변경 :
예를 들어, 몇 가지 파이썬 코드이다. 그래서 될 것이다 :
def foo(y):
def bar(y1):
return y+y1
return bar
우리가 코드를 깨는에서 유지하기 위해 y1
에 y
의 이름을 변경하는 데 필요한 방법을 참조하십시오? 그래서 이것이 어려운 문제입니다. 예를 들어, 문자열 검색을 수행하고 바꾸는 것보다 프로그램이 범위를 구성하는 요소에 대해 꽤 잘 알고 있어야합니다.
가능한 한 많은 형식 (주석, 간격, 들여 쓰기)을 유지하고자합니다. 그러나 그것은 100 % 필요하지 않습니다, 그것은 단지 좋을 것입니다.
팁이 있습니까?
기본적으로 당신은 본격적인 다국어 파서를 찾고 있습니까? –
가능합니다.나는 이름의 의도와 그들이 말한 것에 대한 정보 만 필요로한다. 언어의 다른 의미는 부적합합니다. 하지만 AFAICT에는 파싱이 필요합니다. – luqui
파서만으로는조차 할 수 없습니다. 각 언어에 대해 익명으로 가져온 범위를 고려해야하는 각 식별자에 대해 범위 분석을 에뮬레이트해야합니다. 어떤 언어가 지원되어야하는지에 제약이 없다면 이것은 사실상 불가능한 작업처럼 들립니다. –