모든 특성(*.prp) 파일에서 단순한 반복 종속 구문 분석기에 LL1 구문을 사용합니다. 현재 구문 분석기서는 오류를 복구하지 않고 첫 번째 오류가 발생하면 효과적으로 중지합니다. 중괄호 {} 내에 표함된 토큰은 선택적입니다. 꺾쇠괄호 <> 내에 포함된 토큰은 자체 BNF(Backus Naur Form) 설명에 따라 세부적으로 분해됩니다.
*.prp 파일에 대한 BNF는 다음과 같습니다.
<file> ::= {"Subject" <subject>} "end"
예를 들어, factory.prp 파일은 주제에 대한 선택적 목록으로 시작되고, 각각 키워드 "Subject"로 시작하고 필수 키워드인 "end"로 끝납니다.
Subject General
Subject Statechart
Subject ObjectModelGe
.
.
.
end
<subject> ::= <name> {"Metaclass" <metaclass>} "end"
또 다른 예로, 주제 General은 이름으로 시작되고 그 다음에 메타클래스 목록과 키워드 "end"가 차례로 옵니다.
Subject General
Metaclass Graphics
Metaclass Model
end
<metaclass> ::= <name> {"Property" <property>} "end"
파일에 다음 유형 선언이 포함되어 있습니다.
TRUE 또는 FALSE와 같은 두 개의 가능한 값으로 유형을 나타내는 문자열입니다.
열거형 값 문자열은 적절한 열거 값에 대한 쉼표로 구분된 목록입니다. 두 번째 인용 문자열은 기본값을 나타냅니다. 예를 들어, 인용 문자열 "on,off"에 열거 값이 포함됩니다.
위와 같은 값입니다. 예를 들어, 특성 값이 인용 문자열 "Arial 10 NoBold NoItalic"입니다.
인용 문자열은 큰따옴표로 시작하고 끝나는 문자열이며 줄 바꾸기가 포함될 수 있습니다. 백슬래시는 문자열 내에서 리터럴 큰따옴표 또는 백슬래시 문자 앞에 와야 합니다. 예를 들어 "FALSE"는 인용 문자열입니다.