어픽스 문법

Affix grammar

어픽스 문법형식적인 문법의 일종이다; 그것은 주로 컴퓨터 언어인 언어의 구문을 어떻게 자연 언어가 전형적으로 묘사되는지에 기초한 접근법을 사용하여 기술하는데 사용된다.[1]

첨부 문법의 문법적 규칙은 논단어(첨부문법)의 특정 부분이 논거로 사용되는 것을 제외하고는 문맥이 없는 문법이다.한 규칙에서 동일한 첨부 파일이 여러 번 발생하는 경우, 그 값은 일치해야 한다. 즉, 어디에서나 동일해야 한다.어떤 유형의 어패치 문법에서는 어패치 값 사이의 더 복잡한 관계가 가능하다.

우리는 극히 간단한 영어의 파편을 다음과 같은 방법으로 설명할 수 있다.

문장제목 술어
제목명사
술어동사 객체
객체명사
명사 → 존
명사 → 메리
명사 → 아이
명사 → 부모
동사 → like
동사 → 좋아하다
동사 → 도움말
동사 → 도움

이 문맥 없는 문법은 다음과 같은 간단한 문장들을 설명한다.

존은 아이들을 좋아한다.
메리는 존을 돕는다.
아이들이 부모를 돕다
존 같은 부모

더 많은 명사와 동사, 그리고 언어의 다른 부분을 도입하는 더 많은 규칙들로 인해, 많은 범위의 영어 문장들이 기술될 수 있다; 그러므로 이것은 영어의 구문을 기술하는데 있어서 유망한 접근법이다.

그러나 주어진 문법은 또한 다음과 같은 문장들을 기술한다.

존은 아이들을 좋아한다.
아이들이 부모를 돕다

이 문장들은 틀렸다: 영어에서, 과목과 동사는 문법적인 숫자를 가지고 있는데, 이것은 동의해야 한다.

첨부 문법은 이것을 직접적으로 표현할 수 있다.

문장제목 + 숫자 술어 + 숫자
제목 + 번호명사 + 번호
술어 + 숫자동사 + 숫자 객체
객체명사 + 숫자
명사 + 단수 → 존
명사 + 단수 → 메리
명사 + 복수 → 어린이
명사 + 복수 → 부모
동사 + 단수 → likes
동사 + 복수 → like
동사 + 단수 → 도움
동사 + 복수 → 도움말

이 문법은 정확한 영어문장만을 기술할 뿐, 비록 논증할 수 있다.

존은 존을 좋아한다.

여전히 틀리고 대신 읽어야 한다.

존은 자신을 좋아한다.

다른 부착물 값들 사이의 관계를 설명하는 수단이 충분히 강력하다면, 이것 역시 부착물을 사용하여 통합될 수 있다.위에서 언급한 바와 같이, 이러한 수단은 선택한 붙임 문법의 유형에 따라 달라진다.

종류들

가장 단순한 유형의 첨부 문법에서 첨부파일은 한정된 영역의 값만 취할 수 있으며, 첨부파일은 예시와 같이 합치를 통해서만 관련될 수 있다.이렇게 응용하면 글래머의 콤팩트함을 증가시키지만 표현력을 더하지 않는다.

또 다른 접근법은 부착물이 임의의 문자열을 값으로 가져갈 수 있도록 하고 부착물의 결합을 규칙에 사용할 수 있도록 하는 것이다.첨부파일에 허용되는 값의 범위는 문맥이 없는 문법 규칙으로 설명할 수 있다.이것은 Van Wijngaarden Grammar 또는 2VW Grammar라고도 알려진 2단계 그래머의 형식주의를 생산한다.이것들은 복잡한 언어, 특히 알골 68 프로그래밍 언어의 구문을 설명하는 데 성공적으로 사용되어 왔다.그러나, 붙임수치는 끈 연결만으로 조작할 수 있지만, 이러한 형식주의는 튜링완료인 것으로 판명되었다. 따라서 임의의 2VW 문법에 의해 기술된 언어에 대한 가장 기본적인 질문도 일반적으로 이해할 수 없는 것이다.

1980년대에 개발된 확장형 아픽스 그래머는 같은 생각의 더 제한적인 버전이다.그들은 주로 자연 언어의 문법을 묘사하기 위해 적용되었다. 예를 들면 영어.

또 다른 가능성은 첨부파일의 값이 일부 프로그래밍 언어로 작성된 코드로 계산되도록 허용하는 것이다.다음과 같은 두 가지 기본 접근법이 사용되었다.

  • 계수형 그래머에서 어패픽스(속성이라고 함)는 임의 도메인(예: 정수 또는 실수, 복잡한 데이터 구조)의 값을 취할 수 있으며, 임의 함수는 선택 언어로 명시하여 규칙의 어패픽스 값이 서로 어떻게 도출되는지를 설명할 수 있다.
  • 1970년대에 개발된 CDL(Compiler Description Language)과 그 후속 CDL2에서는 소스코드의 파편(일반적으로 어셈블리 언어로 된)을 일반 우측 대신 규칙에 사용할 수 있어 입력 스캐닝에 대한 원시성과 첨부의 값 계산이 직접 표현될 수 있다.실용적인 컴파일러 구조의 기초로 설계된 이 접근법은 컴파일러와 텍스트 편집기 같은 기타 소프트웨어 작성에 사용되었다.

참조

  1. ^ 코스터, 코넬리스 HA. "자연어용 악어"속성 그래머, 애플리케이션 및 시스템.1991년 베를린 하이델베르크 스프링거