Last active
October 2, 2025 08:10
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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} |
Author
This grammar is a custom, human-readable grammar notation defined by FamilySearch specifically for the GEDCOM specification. It is not in Backus–Naur Form (BNF), Extended BNF, nor any other formal parser-generator syntax such as ANTLR or PEG.
This formal grammar describes the data structure specification for the GEDCOM genealogical data format, genealogy programs and servers are able to read and write GEDCOM files.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello,
What application program is this grammar defined for ?
That is to say, what program understands this grammar ?
Thx!