Skip to content

Instantly share code, notes, and snippets.

@coret
Last active October 17, 2019 13:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coret/2f13c1e62d6a2abb538c553ffa1d34ef to your computer and use it in GitHub Desktop.
Save coret/2f13c1e62d6a2abb538c553ffa1d34ef to your computer and use it in GitHub Desktop.
Grammar extracted from the GEDCOM 5.5.5 Specification (2019-10-05) published at https://www.gedcom.org
GEDCOM_FILE:=
0 <<GEDCOM_HEADER>> {1:1}
+1 <<GEDCOM_FORM_HEADER_EXTENSION>> {1:1}
0 <<FORM_RECORDS>> {1:1}
0 <<GEDCOM_TRAILER>> {1:1}
CHARACTER_ENCODING:= {Size=5|7}
[ UTF-8 | UNICODE | ANSEL | ASCII ]
GEDCOM_VERSION_NUMBER:= {Size=3:11}
MMM + dot + mmm [ + dot + rrr ]
GEDCOM_HEADER:=
U+FEFF (Byte Order Mark)
n HEAD {1:1}
+1 GEDC {1:1}
+2 VERS <GEDCOM_VERSION_NUMBER> {1:1}
+2 FORM <GEDCOM_FORM> {1:1}
+3 VERS <GEDCOM_VERSION_NUMBER> {1:1}
+1 CHAR <CHARACTER_ENCODING> {1:1}
GEDCOM_TRAILER:=
0 TRLR {1:1}
GEDCOM_FORM:= {Size=14:20}
[ LINEAGE-LINKED ]
GEDCOM_FORM_HEADER_EXTENSION:= {1:1}
n <<LINEAGE_LINKED_HEADER_EXTENSION>> {1:1}
FORM_RECORDS:=
0 <<SUBMITTER_RECORD>> {1:1}
0 <<LINEAGE_LINKED_RECORD>> {0:M}
LINEAGE_LINKED_GEDCOM_FILE:=
U+FEFF (Byte Order Mark)
n HEAD {1:1}
+1 GEDC {1:1}
+2 VERS <GEDCOM_VERSION_NUMBER> {1:1}
+2 FORM LINEAGE-LINKED {1:1}
+3 VERS <GEDCOM_VERSION_NUMBER> {1:1}
+1 CHAR <CHARACTER_ENCODING> {1:1}
+1 <<LINEAGE_LINKED_HEADER_EXTENSION>> {1:1}
0 <<SUBMITTER_RECORD>> {1:1}
0 <<LINEAGE_LINKED_RECORD>> {0:M}
0 <<GEDCOM_TRAILER>> {1:1}
LINEAGE_LINKED_HEADER_EXTENSION:=
n DEST <RECEIVING_SYSTEM_NAME> {0:1}
n SOUR <SYSTEM_ID> {1:1}
+1 VERS <PRODUCT_VERSION_NUMBER> {0:1}
+1 NAME <NAME_OF_PRODUCT> {0:1}
+1 CORP <NAME_OF_BUSINESS> {0:1}
+2 <<ADDRESS_STRUCTURE>> {0:1}
+1 DATA <NAME_OF_SOURCE_DATA> {0:1}
+2 DATE <PUBLICATION_DATE> {0:1}
+2 COPR <COPYRIGHT_SOURCE_DATA> {0:1}
n DATE <FILE_CREATION_DATE> {0:1}
+1 TIME <TIME_VALUE> {0:1}
n LANG <LANGUAGE_OF_TEXT> {0:1}
n SUBM <XREF:SUBM> {0:1}
n FILE <GEDCOM_FILE_NAME> {0:1}
n COPR <COPYRIGHT_GEDCOM_FILE> {0:1}
n NOTE <GEDCOM_CONTENT_DESCRIPTION> {0:1}
LINEAGE_LINKED_RECORD:=
[
n <<FAM_GROUP_RECORD>> {1:1}
|
n <<INDIVIDUAL_RECORD>> {1:1}
|
n <<MULTIMEDIA_RECORD>> {1:1}
|
n <<NOTE_RECORD>> {1:1}
|
n <<REPOSITORY_RECORD>> {1:1}
|
n <<SOURCE_RECORD>> {1:1}
]
FAM_GROUP_RECORD:=
n <XREF:FAM> FAM {1:1}
+1 <<FAMILY_EVENT_STRUCTURE>> {0:M}
+1 HUSB <XREF:INDI> {0:1}
+1 WIFE <XREF:INDI> {0:1}
+1 CHIL <XREF:INDI> {0:M}
+1 NCHI <COUNT_OF_CHILDREN> {0:1}
+1 REFN <USER_REFERENCE_NUMBER> {0:M}
+2 TYPE <USER_REFERENCE_TYPE> {0:1}
+1 RIN <AUTOMATED_RECORD_ID> {0:1}
+1 <<CHANGE_DATE>> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
+1 <<SOURCE_CITATION>> {0:M}
+1 <<MULTIMEDIA_LINK>> {0:M}
INDIVIDUAL_RECORD:=
n <XREF:INDI> INDI {1:1}
+1 <<PERSONAL_NAME_STRUCTURE>> {0:M}
+1 SEX <SEX_VALUE> {0:1}
+1 <<INDIVIDUAL_EVENT_STRUCTURE>> {0:M}
+1 <<INDIVIDUAL_ATTRIBUTE_STRUCTURE>> {0:M}
+1 <<CHILD_TO_FAMILY_LINK>> {0:M}
+1 <<SPOUSE_TO_FAMILY_LINK>> {0:M}
+1 <<ASSOCIATION_STRUCTURE>> {0:M}
+1 REFN <USER_REFERENCE_NUMBER> {0:M}
+2 TYPE <USER_REFERENCE_TYPE> {0:1}
+1 RIN <AUTOMATED_RECORD_ID> {0:1}
+1 <<CHANGE_DATE>> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
+1 <<SOURCE_CITATION>> {0:M}
+1 <<MULTIMEDIA_LINK>> {0:M}
MULTIMEDIA_RECORD:=
n <XREF:OBJE> OBJE {1:1}
+1 FILE <MULTIMEDIA_FILE_REFERENCE> {1:1}
+2 FORM <MULTIMEDIA_FORMAT> {1:1}
+3 TYPE <SOURCE_MEDIA_TYPE> {0:1}
+2 TITL <DESCRIPTIVE_TITLE> {0:1}
+1 REFN <USER_REFERENCE_NUMBER> {0:M}
+2 TYPE <USER_REFERENCE_TYPE> {0:1}
+1 RIN <AUTOMATED_RECORD_ID> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
+1 <<SOURCE_CITATION>> {0:M}
+1 <<CHANGE_DATE>> {0:1}
NOTE_RECORD:=
n <XREF:NOTE> NOTE <USER_TEXT> {1:1}
+1 REFN <USER_REFERENCE_NUMBER> {0:M}
+2 TYPE <USER_REFERENCE_TYPE> {0:1}
+1 RIN <AUTOMATED_RECORD_ID> {0:1}
+1 <<SOURCE_CITATION>> {0:M}
+1 <<CHANGE_DATE>> {0:1}
REPOSITORY_RECORD:=
n <XREF:REPO> REPO {1:1}
+1 NAME <NAME_OF_REPOSITORY> {1:1}
+1 <<ADDRESS_STRUCTURE>> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
+1 REFN <USER_REFERENCE_NUMBER> {0:M}
+2 TYPE <USER_REFERENCE_TYPE> {0:1}
+1 RIN <AUTOMATED_RECORD_ID> {0:1}
+1 <<CHANGE_DATE>> {0:1}
SOURCE_RECORD:=
n <XREF:SOUR> SOUR {1:1}
+1 DATA {0:1}
+2 EVEN <EVENTS_RECORDED> {0:M}
+3 DATE <DATE_PERIOD> {0:1}
+3 PLAC <SOURCE_JURISDICTION_PLACE> {0:1}
+2 AGNC <RESPONSIBLE_AGENCY> {0:1}
+2 <<NOTE_STRUCTURE>> {0:M}
+1 AUTH <SOURCE_ORIGINATOR> {0:1}
+1 TITL <SOURCE_DESCRIPTIVE_TITLE> {0:1}
+1 ABBR <SOURCE_FILED_BY_ENTRY> {0:1}
+1 PUBL <SOURCE_PUBLICATION_FACTS> {0:1}
+1 TEXT <TEXT_FROM_SOURCE> {0:1}
+1 <<SOURCE_REPOSITORY_CITATION>> {0:M}
+1 REFN <USER_REFERENCE_NUMBER> {0:M}
+2 TYPE <USER_REFERENCE_TYPE> {0:1}
+1 RIN <AUTOMATED_RECORD_ID> {0:1}
+1 <<CHANGE_DATE>> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
+1 <<MULTIMEDIA_LINK>> {0:M}
SUBMITTER_RECORD:=
n <XREF:SUBM> SUBM {1:1}
+1 NAME <SUBMITTER_NAME> {1:1}
+1 <<ADDRESS_STRUCTURE>> {0:1}
+1 <<MULTIMEDIA_LINK>> {0:M}
+1 RIN <AUTOMATED_RECORD_ID> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
+1 <<CHANGE_DATE>> {0:1}
ADDRESS_STRUCTURE:=
n ADDR {1:1}
+1 ADR1 <ADDRESS_LINE1> {0:1}
+1 ADR2 <ADDRESS_LINE2> {0:1}
+1 ADR3 <ADDRESS_LINE3> {0:1}
+1 CITY <ADDRESS_CITY> {0:1}
+1 STAE <ADDRESS_STATE> {0:1}
+1 POST <ADDRESS_POSTAL_CODE> {0:1}
+1 CTRY <ADDRESS_COUNTRY> {0:1}
n PHON <PHONE_NUMBER> {0:3}
n EMAIL <ADDRESS_EMAIL> {0:3}
n FAX <ADDRESS_FAX> {0:3}
n WWW <ADDRESS_WEB_PAGE> {0:3}
ASSOCIATION_STRUCTURE:=
n ASSO <XREF:INDI> {1:1}
+1 RELA <RELATION_IS_DESCRIPTOR> {1:1}
+1 <<SOURCE_CITATION>> {0:M}
+1 <<NOTE_STRUCTURE>> {0:M}
CHANGE_DATE:=
n CHAN {1:1}
+1 DATE <DATE_EXACT> {1:1}
+2 TIME <TIME_VALUE> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
CHILD_TO_FAMILY_LINK:=
n FAMC <XREF:FAM> {1:1}
+1 PEDI <PEDIGREE_LINKAGE_TYPE> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
EVENT_DETAIL:=
n TYPE <EVENT_OR_FACT_CLASSIFICATION> {0:1}
n DATE <DATE_VALUE> {0:1}
n <<PLACE_STRUCTURE>> {0:1}
n <<ADDRESS_STRUCTURE>> {0:1}
n AGNC <RESPONSIBLE_AGENCY> {0:1}
n RELI <RELIGIOUS_AFFILIATION> {0:1}
n CAUS <CAUSE_OF_EVENT> {0:1}
n <<NOTE_STRUCTURE>> {0:M}
n <<SOURCE_CITATION>> {0:M}
n <<MULTIMEDIA_LINK>> {0:M}
FAMILY_EVENT_DETAIL:=
n HUSB {0:1}
+1 AGE <AGE_AT_EVENT> {1:1}
n WIFE {0:1}
+1 AGE <AGE_AT_EVENT> {1:1}
n <<EVENT_DETAIL>> {0:1}
FAMILY_EVENT_STRUCTURE:=
[
n [ ANUL | CENS | DIV | DIVF ] {1:1}
+1 <<FAMILY_EVENT_DETAIL>> {0:1}
|
n [ ENGA | MARB | MARC ] {1:1}
+1 <<FAMILY_EVENT_DETAIL>> {0:1}
|
n MARR [Y|<NULL>] {1:1}
+1 <<FAMILY_EVENT_DETAIL>> {0:1}
|
n [ MARL | MARS ] {1:1}
+1 <<FAMILY_EVENT_DETAIL>> {0:1}
|
n RESI {1:1}
+1 <<FAMILY_EVENT_DETAIL>> {0:1}
|
n EVEN [<EVENT_DESCRIPTOR> | <NULL>] {1:1}
+1 <<FAMILY_EVENT_DETAIL>> {0:1}
]
INDIVIDUAL_ATTRIBUTE_STRUCTURE:=
[
n CAST <CASTE_NAME> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n DSCR <PHYSICAL_DESCRIPTION> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n EDUC <SCHOLASTIC_ACHIEVEMENT> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n IDNO <ID_NUMBER> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n NATI <NATIONAL_OR_TRIBAL_ORIGIN> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n NCHI <COUNT_OF_CHILDREN> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n NMR <NUMBER_OF_RELATONSHIPS> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n OCCU <OCCUPATION> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n PROP <POSSESSIONS> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n RELI <RELIGIOUS_AFFILIATION> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n RESI {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n TITL <NOBILITY_TYPE_TITLE> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
|
n FACT <ATTRIBUTE_DESCRIPTOR> {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 TYPE <USER_REFERENCE_TYPE> {0:1}
]
INDIVIDUAL_EVENT_DETAIL:=
n <<EVENT_DETAIL>> {1:1}
n AGE <AGE_AT_EVENT> {0:1}
INDIVIDUAL_EVENT_STRUCTURE:=
[
n BIRT {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 FAMC <XREF:FAM> {0:1}
|
n CHR [ Y | <NULL> ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 FAMC <XREF:FAM> {0:1}
|
n DEAT [ Y | <NULL> ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
|
n [ BURI | CREM ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
|
n ADOP {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
+1 FAMC <XREF:FAM> {0:1}
+2 ADOP <ADOPTED_BY_WHICH_PARENT> {0:1}
|
n [ BAPM | BARM | BASM ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
|
n [ CHRA | CONF | FCOM ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
|
n [ NATU | EMIG | IMMI ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
|
n [ CENS | PROB | WILL ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
|
n [ GRAD | RETI ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
|
n EVEN [ <EVENT_DESCRIPTOR> | <NULL> ] {1:1}
+1 <<INDIVIDUAL_EVENT_DETAIL>> {0:1}
]
MULTIMEDIA_LINK:=
n OBJE <XREF:OBJE> {1:1}
NOTE_STRUCTURE:=
[
n NOTE <XREF:NOTE> {1:1}
|
n NOTE <USER_TEXT> {1:1}
]
PERSONAL_NAME_PIECES:=
n NPFX <NAME_PIECE_PREFIX> {0:1}
n GIVN <NAME_PIECE_GIVEN> {0:1}
n NICK <NAME_PIECE_NICKNAME> {0:1}
n SPFX <NAME_PIECE_SURNAME_PREFIX {0:1}
n SURN <NAME_PIECE_SURNAME> {0:1}
n NSFX <NAME_PIECE_SUFFIX> {0:1}
n <<NOTE_STRUCTURE>> {0:M}
n <<SOURCE_CITATION>> {0:M}
PERSONAL_NAME_STRUCTURE:=
n NAME <NAME_PERSONAL> {1:1}
+1 TYPE <NAME_TYPE> {0:1}
+1 <<PERSONAL_NAME_PIECES>> {0:1}
+1 FONE <NAME_PHONETIC> {0:M}
+2 TYPE <PHONETISATION_METHOD> {1:1}
+2 <<PERSONAL_NAME_PIECES>> {0:1}
+1 ROMN <NAME_ROMANISED> {0:M}
+2 TYPE <ROMANISATION_METHOD> {1:1}
+2 <<PERSONAL_NAME_PIECES>> {1:1}
PLACE_STRUCTURE:=
n PLAC <PLACE_NAME> {1:1}
+1 FONE <PLACE_PHONETIC> {0:M}
+2 TYPE <PHONETISATION_METHOD> {0:1}
+1 ROMN <PLACE_ROMANISED> {0:M}
+2 TYPE <ROMANISATION_METHOD> {1:1}
+1 MAP {0:1}
+2 LATI <PLACE_LATITUDE> {1:1}
+2 LONG <PLACE_LONGITUDE> {1:1}
+1 <<NOTE_STRUCTURE>> {0:M}
SOURCE_CITATION:=
n SOUR <XREF:SOUR> {1:1}
+1 PAGE <WHERE_WITHIN_SOURCE> {0:1}
+1 EVEN <EVENT_TYPE_CITED_FROM> {0:1}
+2 ROLE <ROLE_IN_EVENT> {0:1}
+1 DATA {0:1}
+2 DATE <ENTRY_RECORDING_DATE> {0:1}
+2 TEXT <TEXT_FROM_SOURCE> {0:M}
+1 <<MULTIMEDIA_LINK>> {0:M}
+1 <<NOTE_STRUCTURE>> {0:M}
+1 QUAY <CERTAINTY_ASSESSMENT> {0:1}
SOURCE_REPOSITORY_CITATION:=
n REPO <XREF:REPO> {1:1}
+1 CALN <SOURCE_CALL_NUMBER> {0:1}
+2 MEDI <SOURCE_MEDIA_TYPE> {0:1}
SPOUSE_TO_FAMILY_LINK:=
n FAMS <XREF:FAM> {1:1}
+1 <<NOTE_STRUCTURE>> {0:M}
ADDRESS_CITY:= {Size=1:60}
ADDRESS_COUNTRY:= {Size=1:60}
ADDRESS_EMAIL:= {Size=5:120}
ADDRESS_FAX:= {Size=5:60}
ADDRESS_LINE1:= {Size=1:60}
ADDRESS_LINE2:= {Size=1:60}
ADDRESS_LINE3:= {Size=1:60}
ADDRESS_POSTAL_CODE:= {Size=1:10}
ADDRESS_STATE:= {Size=1:60}
ADDRESS_WEB_PAGE:= {Size=4:2047}
ADOPTED_BY_WHICH_PARENT:= {Size=4:4}
[ HUSB | WIFE | BOTH ]
AGE_AT_EVENT:= {Size=2:13}
[ NULL
| < + space
| > + space ]
]
[ YYY + y + space + MM + m + space + DDD + d
| YYY + y
| MM + m
| DDD + d
| YYY + y + space + MM + m
| YYY+ y + space + DDD + d
| MM + m + space + DDD + d
| CHILD
| INFANT
| STILLBORN
]
ATTRIBUTE_DESCRIPTOR:= {Size=1:90}
ATTRIBUTE_TYPE:= {Size=4:4}
[ CAST | EDUC | NATI | OCCU | PROP | RELI | RESI | TITL | FACT ]
AUTOMATED_RECORD_ID:= {Size=1:12}
BEFORE_COMMON_ERA:= {Size=2:4}
[ BCE | BC | B.C. ]
CASTE_NAME:= {Size=1:90}
CAUSE_OF_EVENT:= {Size=1:90}
CERTAINTY_ASSESSMENT:= {Size=1:1}
[0|1|2|3]
COPYRIGHT_GEDCOM_FILE:= {Size=1:248}
COPYRIGHT_SOURCE_DATA:= {Size=1:248}
COUNT_OF_CHILDREN:= {Size=1:3}
DATE:= {Size=4:35}
[
<DATE_CALENDAR>
|
<DATE_CALENDAR_ESCAPE> + space + <DATE_CALENDAR>
]
DATE_APPROXIMATED:= {Size=8:39}
[
ABT + space + <DATE> |
CAL + space + <DATE> |
EST + space + <DATE>
]
DATE_CALENDAR:= {Size=4:35}
[ <DATE_GREG> | <DATE_JULN> | <DATE_HEBR> | <DATE_FREN> ]
DATE_CALENDAR_ESCAPE:= {Size=4:15}
[ @#DHEBREW@ | @#DFRENCH R@ | @#DGREGORIAN@ | @#DJULIAN@ | @#DUNKNOWN@ ]
DATE_EXACT:= {Size=10:11}
<DAY> + space + <MONTH> + space + <YEAR>
DATE_FREN:= {Size=4:35}
[
<YEAR>
|
<MONTH_FREN> + space + <YEAR>
|
<DAY> + space + <MONTH_FREN> + space + <YEAR>
]
DATE_GREG:= {Size=4:35}
[
<YEAR> [ + space + <BEFORE_COMMON_ERA> ]
|
<MONTH> + space + <YEAR>
|
<DAY> + space + <MONTH> + space + <YEAR>
|
<DAY> + space + <MONTH>
|
<MONTH> + space + <DUAL_STYLE_YEAR>
|
<DAY> + space + <MONTH> + space + <DUAL_STYLE_YEAR>
]
DATE_HEBR:= {Size=4:35}
[
<YEAR>
|
<MONTH_HEBR> + space + <YEAR>
|
<DAY> + space + <MONTH_HEBR> + space + <YEAR>
]
DATE_JULN:= {Size=4:35}
[
<YEAR> [ + space + <BEFORE_COMMON_ERA> ]
|
<MONTH> + space + <YEAR>
|
<DAY> + space + <MONTH> + space + <YEAR>
|
<MONTH> + space + <DUAL_STYLE_YEAR>
|
<DAY> + space + <MONTH> + space + <DUAL_STYLE_YEAR> ]
DATE_PERIOD:= {Size=7:35}
[
FROM + space + <DATE>
|
TO + space + <DATE>
|
FROM + space + <DATE> + space + TO + space + <DATE>
]
DATE_PHRASE:= {Size=1:35}
<TEXT>
DATE_RANGE:= {Size=8:35}
[
BEF + space + <DATE>
| AFT + space + <DATE>
| BET + space + <DATE> + space + AND + space + <DATE>
]
DATE_VALUE:= {Size=1:35}
[
<DATE>
|
<DATE_PERIOD>
|
<DATE_RANGE>
|
<DATE_APPROXIMATED>
|
(<DATE_PHRASE>)
|
INT + space + <DATE> + space + (<DATE_PHRASE>)
]
DAY:= {Size=1:2}
dd
DESCRIPTIVE_TITLE:= {Size=1:248}
DIGIT:= {Size=1:1}
DUAL_STYLE_YEAR:= {Size=3:7}
<YEAR> + slash + <DIGIT> + <DIGIT>
ENTRY_RECORDING_DATE:= {Size=1:90}
<DATE_VALUE>
EVENT_ATTRIBUTE_TYPE:= {Size=1:15}
[ <EVENT_TYPE_INDIVIDUAL> | <EVENT_TYPE_FAMILY> | <ATTRIBUTE_TYPE> ]
EVENT_DESCRIPTOR:= {Size=1:90}
EVENT_OR_FACT_CLASSIFICATION:= {Size=1:90}
EVENT_TYPE_CITED_FROM:= {Size=1:15}
[ <EVENT_ATTRIBUTE_TYPE> ]
EVENT_TYPE_FAMILY:= {Size=3:4}
[ ANUL | CENS | DIV | DIVF | ENGA | MARR | MARB | MARC | MARL | MARS | EVEN ]
EVENT_TYPE_INDIVIDUAL:= {Size=3:4}
[ ADOP | BIRT | BAPM | BARM | BASM | BURI | CENS | CHR | CHRA | CONF | CREM | DEAT | EMIG | FCOM | GRAD | IMMI | NATU | RETI | PROB | WILL | EVEN ]
EVENTS_RECORDED:= {Size=1:90}
[<EVENT_ATTRIBUTE_TYPE> | <EVENTS_RECORDED>, <EVENT_ATTRIBUTE_TYPE>]
FILE_CREATION_DATE:= {Size=10:11}
<DATE_EXACT>
GEDCOM_CONTENT_DESCRIPTION:= {Size=1:248}
GEDCOM_FILE_NAME:= {Size=5:248}
ID_NUMBER:= {Size=1:30}
LANGUAGE_ID:= {Size=1:15}
[ Afrikaans | Albanian | Anglo-Saxon | Catalan | Catalan_Spn | Czech | Danish | Dutch | English | Esperanto | Estonian | Faroese | Finnish | French | German | Hawaiian | Hungarian | Icelandic | Indonesian | Italian | Latvian | Lithuanian | Navaho | Norwegian | Polish | Portuguese | Romanian | Serbo_Croa | Slovak | Slovene | Spanish | Swedish | Turkish | Wendic ]
[ Amharic | Arabic | Armenian | Assamese | Belorusian | Bengali | Braj | Bulgarian | Burmese | Cantonese | Church-Slavic | Dogri | Georgian | Greek | Gujarati | Hebrew | Hindi | Japanese | Kannada | Khmer | Konkani | Korean | Lahnda | Lao | Macedonian | Maithili | Malayalam | Mandarin | Manipuri | Marathi | Mewari | Nepali | Oriya | Pahari | Pali | Panjabi | Persian | Prakrit | Pusto | Rajasthani | Russian | Sanskrit | Serb | Tagalog | Tamil | Telugu | Thai | Tibetan | Ukrainian | Urdu | Vietnamese | Yiddish ]
LANGUAGE_OF_TEXT:= {Size=1:15}
[ <LANGUAGE_ID> ]
MONTH:= {Size=3}
[ JAN | FEB | MAR | APR | MAY | JUN | JUL | AUG | SEP | OCT | NOV | DEC ]
MONTH_FREN:= {Size=4}
[ VEND | BRUM | FRIM | NIVO | PLUV | VENT | GERM | FLOR | PRAI | MESS | THER | FRUC | COMP ]
MONTH_HEBR:= {Size=3}
[ TSH | CSH | KSL | TVT | SHV | ADR | ADS | NSN | IYR | SVN | TMZ | AAV | ELL ]
MULTIMEDIA_FILE_REFERENCE:= {Size=1:259}
MULTIMEDIA_FORMAT:= {Size=3:4}
[ AAC | AVI | BMP | ePub | FLAC | GIF | JPEG | JPG | MKV | mobi | MP3 | PCX | PDF | PNG | TIFF | TIF | WAV ]
NAME_OF_BUSINESS:= {Size=1:90}
NAME_OF_PRODUCT:= {Size=1:90}
NAME_OF_REPOSITORY:= {Size=1:90}
NAME_OF_SOURCE_DATA:= {Size=1:90}
NAME_PERSONAL:= {Size=1:120}
[
<NAME_TEXT>
|
/<NAME_TEXT>/
|
<NAME_TEXT> + space + /<NAME_TEXT>/
|
/<NAME_TEXT>/ + space + <NAME_TEXT>
|
<NAME_TEXT> + space + /<NAME_TEXT>/ + space + <NAME_TEXT>
]
NAME_PHONETIC:= {Size=1:120}
NAME_PIECE:= {Size=1:90}
NAME_PIECE_GIVEN:= {Size=1:120}
[ <NAME_PIECE> | <NAME_PIECE_GIVEN>, <NAME_PIECE> ]
NAME_PIECE_NICKNAME:= {Size=1:30}
[ <NAME_PIECE> | <NAME_PIECE_NICKNAME>, <NAME_PIECE> ]
NAME_PIECE_PREFIX:= {Size=1:30}
[ <NAME_PIECE> | <NAME_PIECE_PREFIX>, <NAME_PIECE> ]
NAME_PIECE_SUFFIX:= {Size=1:30}
[ <NAME_PIECE> | <NAME_PIECE_SUFFIX>, <NAME_PIECE> ]
NAME_PIECE_SURNAME:= {Size=1:120}
[ <NAME_PIECE> | <NAME_PIECE_SURNAME>, <NAME_PIECE> ]
NAME_PIECE_SURNAME_PREFIX:= {Size=1:30}
[ <NAME_PIECE> ]
NAME_ROMANISED:= {Size=1:120}
NAME_TEXT:= {Size=1:120}
<TEXT>
NAME_TYPE:= {Size=5:30}
[ aka | birth | immigrant | maiden | married | <user defined>]
NATIONAL_OR_TRIBAL_ORIGIN:= {Size=1:120}
NOBILITY_TYPE_TITLE:= {Size=1:120}
NULL:= {Size=0:0}
NUMBER:= {Size=3:4}
[<DIGIT> | <NUMBER>+<DIGIT>]
NUMBER_OF_RELATIONSHIPS:= {Size=1:3}
OCCUPATION:= {Size=1:90}
PEDIGREE_LINKAGE_TYPE:= {Size=5:7}
[ adopted | birth | foster ]
PHONE_NUMBER:= {Size=1:25}
PHONETISATION_METHOD:= {Size=5:30}
[<user defined> | hangul | kana ]
PHYSICAL_DESCRIPTION:= {Size=1:4095}
PLACE_LATITUDE:= {Size=2:10}
PLACE_LONGITUDE:= {Size=2:11}
PLACE_NAME:= {Size=1:120}
[
<PLACE_TEXT> |
<PLACE_TEXT>, + space + <PLACE_NAME>
]
PLACE_PHONETIC:= {Size=1:120}
PLACE_ROMANISED:= {Size=1:120}
PLACE_TEXT:= {Size=1:120}
POSSESSIONS:= {Size=1:248}
PRODUCT_VERSION_NUMBER:= {Size=3:15}
MMM + dot + mmm [ + dot + rrr [ + dot + bbb ] ]
PUBLICATION_DATE:= {Size=10:11}
<DATE_EXACT>
RECEIVING_SYSTEM_NAME:= {Size=1:20}
RELATION_IS_DESCRIPTOR:= {Size=1:25}
RELIGIOUS_AFFILIATION:= {Size=1:90}
RESPONSIBLE_AGENCY:= {Size=1:120}
ROLE_DESCRIPTOR:= {Size=1:25}
ROLE_IN_EVENT:= {Size=3:27}
[ CHIL | HUSB | WIFE | MOTH | FATH | SPOU | ( <ROLE_DESCRIPTOR> ) ]
ROMANISATION_METHOD:= {Size=5:30}
[<user defined> | pinyin | romaji | wadegiles]
SCHOLASTIC_ACHIEVEMENT:= {Size=1:248}
SEX_VALUE:= {Size=1:1}
SOURCE_CALL_NUMBER:= {Size=1:120}
SOURCE_DESCRIPTIVE_TITLE:= {Size=1:4095}
SOURCE_FILED_BY_ENTRY:= {Size=1:60}
SOURCE_JURISDICTION_PLACE:= {Size=1:120}
<PLACE_NAME>
SOURCE_MEDIA_TYPE:= {Size=1:15}
[ audio | book | card | electronic | fiche | film | magazine | manuscript | map | newspaper | photo | tombstone | video ]
SOURCE_ORIGINATOR:= {Size=1:255}
SOURCE_PUBLICATION_FACTS:= {Size=1:4095}
SUBMITTER_NAME:= {Size=1:60}
SYSTEM_ID:= {Size=1:20}
TEXT:= {Size=1:32767}
TEXT_FROM_SOURCE:= {Size=1:32767}
<TEXT>
TIME_VALUE:= {Size=7:12}
hh:mm[:ss[.fs]]
USER_REFERENCE_NUMBER:= {Size=1:20}
USER_REFERENCE_TYPE:= {Size=1:40}
USER_TEXT:= {Size=1:32767}
WHERE_WITHIN_SOURCE:= {Size=1:248}
XREF:= {Size=3:22}
XREF:FAM:= {Size=3:22}
XREF:INDI:= {Size=3:22}
XREF:NOTE:= {Size=3:22}
XREF:OBJE:= {Size=3:22}
XREF:REPO:= {Size=3:22}
XREF:SOUR:= {Size=3:22}
XREF:SUBM:= {Size=3:22}
YEAR:= {Size=3:4}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment