3

일반적인 응답은 "왜이 정규식이 html로 작동하지 않습니까!?!" 질문은 "HTML이 정규 언어가 아니기 때문에"입니다.일반적인 프로그래밍 언어는 무엇입니까?

일반 언어로 된 일반적인 프로그래밍 언어 목록을 가진 사람이 누구인지 궁금해서 궁금한 점은 정규식 일치에 적합하다는 것입니다. 언어가 규칙적인지 (사례별로) 결정할 수있는 방법이 있지만 복잡한 언어의 경우 증명이 복잡 할 수도 있습니다. 아마도 언어의 빠른 체크리스트가 유용 할 수 있다고 생각했습니다.

비정규 언어로 정규 표현식을 사용할 수 있다는 것을 알고 있지만 항상 신뢰할만한 것은 아닙니다 (html 예).

+0

"실제"프로그래밍 (즉, Turing-complete)을 수행 할만큼 충분히 표현력이있는 프로그래밍 언어는 비정규입니다. –

+4

이것이 좋은 질문인지는 잘 모르겠지만 X의 목록에 나와 있습니다.하지만 어떻게 건설적이지는 않은지 모르겠습니다. 언어가 규칙적인지 여부는 매우 잘 정의 된 속성이므로이 질문이 토론, 주장, 투표 또는 확장 된 토론을 유도 할 수있는 방법을 상상할 수 없습니다. – delnan

+0

프로그래밍 언어 또는 마크 업 언어를 찾으십니까? – Bergi

답변

6

중첩 또는 프로그래밍 길이에 대한 임의의 제한을 무시하고 일반적인 프로그래밍 언어가 규칙 적인지 의심 스럽습니다. 간단한 (중위) 산술 표현식조차도 비정규 언어를 형성하며,이를 지원하지 않는 비정상적인 프로그래밍 언어입니다. 보다 일반적으로 언어가 깊이를 제한하지 않고 모든 구문을 중첩 할 수있는 경우 일반 언어가 아닙니다.

+0

삽입 연산자는 어떻게 비정규입니까? '\ d + ([*/+ -] \ d +) *'는 정규 언어입니다, 그렇죠? – Bergi

+0

나는 괄호를 생각하고 있었다. 엄격하게 요구되는 것은 아니지만 일반적으로 인정됩니다. 괄호 균형을 필요로하는 언어는 비정규입니다. – ibid

관련 문제