From 5c2e5af0f2a3124b75f95125824beb020b3593d4 Mon Sep 17 00:00:00 2001 From: moculus Date: Tue, 26 Jun 2007 19:35:17 +0000 Subject: [PATCH] --HG-- branch : pmacs2 --- code_examples/components.xml | 998 +++++++++++++++++++++++++++++++++++ mode_bds.py | 71 +++ 2 files changed, 1069 insertions(+) create mode 100644 code_examples/components.xml create mode 100644 mode_bds.py diff --git a/code_examples/components.xml b/code_examples/components.xml new file mode 100644 index 0000000..0e7c35d --- /dev/null +++ b/code_examples/components.xml @@ -0,0 +1,998 @@ + + +
+
+ GQ000-000-002:MQ000-000-005 eq 'self' + + GQ000-001-155:MQ000-001-253 == 1 + + GQ000-005-700:MQ000-006-882 eq 'y' + FM000-000-060 >= 18 + + 'GQ000-000-002:MQ000-000-005' ne 'self' + 'GQ000-000-008:MQ000-000-011' eq 'y' + GQ000-000-008:MQ000-000-011 eq 'y' || (CD000-010-933 && NOT(IS_NULL(GQ000-000-009:MQ000-000-012))) + CD000-010-933 && NOT(IS_NULL(GQ000-000-009:MQ000-000-012)) + GQ000-000-008:MQ000-000-011 eq 'n' + GQ000-000-007:MQ000-000-010 eq 'f' + GQ000-000-007:MQ000-000-010 eq 'm' + GQ000-000-013:MQ000-000-021 eq 'y' + FM000-000-060 == 17 + FM000-000-060 >= 17 + 'GQ000-000-016:MQ000-000-023' eq 'y' + GQ000-000-016:MQ000-000-023 eq 'n' + 'GQ000-000-012:MQ000-000-019' eq 'pa' + 'GQ000-000-004:MQ000-000-007' eq 'divorced' + 'GQ000-000-004:MQ000-000-007' eq 'widowed' + 'GQ000-000-004:MQ000-000-007' eq 'married living separately' + 'GQ000-000-004:MQ000-000-007' eq 'legally separated' + FM000-000-060 <= 24 + HAS_MEMBERS(FS000-000-144) + HAS_MEMBERS(FS000-000-143) + HAS_MEMBERS(FS000-000-060) + HAS_MEMBERS(FS000-000-142) + HAS_MEMBERS(FS000-000-050) + HAS_MEMBERS(FS000-000-140) + HAS_MEMBERS(FS000-000-141) + GQ000-000-185:MQ000-000-121 eq 'other child' + HAS_MEMBERS(FS000-000-145) + 'GQ000-000-211:MQ000-000-150' eq 'y' + GQ000-000-225:MQ000-000-227 eq 'check' + INSTANCE(GQ000-000-225:MQ000-000-227) eq 'check' + (CD000-000-227 || CD000-000-228 || CD000-000-229) + HAS_MEMBERS(FS000-000-171) + NOT(HAS_MEMBERS(FS000-000-171)) + GQ000-000-211:MQ000-000-150 eq 'y' && GQ000-000-002:MQ000-000-005 eq 'spouse' + + 'GQ000-000-002:MQ000-000-005' eq 'self' + 'GQ000-000-002:MQ000-000-005' eq 'spouse' + (CD000-000-225 || 'GQ000-000-002:MQ000-000-005' eq 'child') && NOT('GQ000-000-002:MQ000-000-005' eq 'self') && NOT('GQ000-000-002:MQ000-000-005' eq 'spouse') + HAS_MEMBERS(FS000-000-512) + + 'GQ000-001-147:MQ000-001-244' eq 'y' + + IS_NULL(GQ000-001-147:MQ000-001-244) + 'GQ000-000-012:MQ000-000-019' eq 'pa' + 'GQ000-000-012:MQ000-000-019' eq 'fl' + 'GQ000-000-012:MQ000-000-019' eq 'ks' + 'GQ000-000-012:MQ000-000-019' eq 'oh' + 'GQ000-000-012:MQ000-000-019' eq 'ms' + 'GQ000-000-012:MQ000-000-019' eq 'dc' + NOT(CD000-005-519) && NOT(CD000-002-060) && NOT(CD000-002-061) && NOT(CD000-002-062) + + (CD000-000-235) && ('GQ000-000-002:MQ000-000-005' ne 'self') + + IS_NULL(GQ000-000-184:MQ000-000-120) && CD000-010-016 + + GQ000-000-002:MQ000-000-005 eq 'other' + GQ000-000-002:MQ000-000-005 eq 'unrelated' + 'GQ000-000-002:MQ000-000-005' eq 'grandmother' || 'GQ000-000-002:MQ000-000-005' eq 'grandfather' + 'GQ000-000-002:MQ000-000-005' eq 'mother' || 'GQ000-000-002:MQ000-000-005' eq 'father' + 'GQ000-000-002:MQ000-000-005' eq 'brother' + 'GQ000-000-002:MQ000-000-005' eq 'sister' + 'GQ000-000-002:MQ000-000-005' eq 'aunt' + 'GQ000-000-002:MQ000-000-005' eq 'uncle' + 'GQ000-000-002:MQ000-000-005' eq 'nephew' + 'GQ000-000-002:MQ000-000-005' eq 'niece' + 'GQ000-000-002:MQ000-000-005' eq 'grandchild' + 'GQ000-000-002:MQ000-000-005' eq 'unrelated' + 'GQ000-000-002:MQ000-000-005' eq 'cousin' || GQ000-000-002:MQ000-000-005 eq 'other' + 'self:GQ000-000-008:MQ000-000-011' eq 'y' + + 'GQ000-000-008:MQ000-000-011' eq 'y' && NOT(IS_NULL(GQ000-000-009:MQ000-000-012)) + + GQ000-000-004:MQ000-000-007 eq 'married' + 'GQ000-001-075:MQ000-001-171' eq 'add' + 'GQ000-001-075:MQ000-001-171' eq 'edit' + 'GQ000-001-075:MQ000-001-171' eq 'delete' + + HAS_MEMBERS(FS000-000-147) + 'GQ000-000-013:MQ000-000-021' eq 'n' + + self:FM000-000-001 >= 183 + IS_NULL(GQ000-000-014:MQ000-000-016) || IS_NULL(GQ000-000-012:MQ000-000-016) + + ('GQ000-000-012:MQ000-000-019' eq 'ct') || ('GQ000-000-012:MQ000-000-019' eq 'de') || ('GQ000-000-012:MQ000-000-019' eq 'dc') || ('GQ000-000-012:MQ000-000-019' eq 'fl') || ('GQ000-000-012:MQ000-000-019' eq 'in') || ('GQ000-000-012:MQ000-000-019' eq 'ky') || ('GQ000-000-012:MQ000-000-019' eq 'me') || ('GQ000-000-012:MQ000-000-019' eq 'md') || ('GQ000-000-012:MQ000-000-019' eq 'ma') || ('GQ000-000-012:MQ000-000-019' eq 'mi') || ('GQ000-000-012:MQ000-000-019' eq 'nh') || ('GQ000-000-012:MQ000-000-019' eq 'nj') || ('GQ000-000-012:MQ000-000-019' eq 'oh') || ('GQ000-000-012:MQ000-000-019' eq 'pa') || ('GQ000-000-012:MQ000-000-019' eq 'ny') || ('GQ000-000-012:MQ000-000-019' eq 'ri') || ('GQ000-000-012:MQ000-000-019' eq 'wv') || ('GQ000-000-012:MQ000-000-019' eq 'sc') + ('GQ000-000-012:MQ000-000-019' eq 'al') || ('GQ000-000-012:MQ000-000-019' eq 'ak') || ('GQ000-000-012:MQ000-000-019' eq 'az') || ('GQ000-000-012:MQ000-000-019' eq 'ar') || ('GQ000-000-012:MQ000-000-019' eq 'ca') || ('GQ000-000-012:MQ000-000-019' eq 'co') || ('GQ000-000-012:MQ000-000-019' eq 'ga') || ('GQ000-000-012:MQ000-000-019' eq 'hi') || ('GQ000-000-012:MQ000-000-019' eq 'id') || ('GQ000-000-012:MQ000-000-019' eq 'il') || ('GQ000-000-012:MQ000-000-019' eq 'ia') || ('GQ000-000-012:MQ000-000-019' eq 'ks') || ('GQ000-000-012:MQ000-000-019' eq 'la') || ('GQ000-000-012:MQ000-000-019' eq 'mn') || ('GQ000-000-012:MQ000-000-019' eq 'ms') || ('GQ000-000-012:MQ000-000-019' eq 'mo') || ('GQ000-000-012:MQ000-000-019' eq 'mt') || ('GQ000-000-012:MQ000-000-019' eq 'ne') || ('GQ000-000-012:MQ000-000-019' eq 'nv') || ('GQ000-000-012:MQ000-000-019' eq 'nm') || ('GQ000-000-012:MQ000-000-019' eq 'nc') || ('GQ000-000-012:MQ000-000-019' eq 'nd') || ('GQ000-000-012:MQ000-000-019' eq 'ok') || ('GQ000-000-012:MQ000-000-019' eq 'or') || ('GQ000-000-012:MQ000-000-019' eq 'sd') || ('GQ000-000-012:MQ000-000-019' eq 'tn') || ('GQ000-000-012:MQ000-000-019' eq 'tx') || ('GQ000-000-012:MQ000-000-019' eq 'ut') || ('GQ000-000-012:MQ000-000-019' eq 'wa') || ('GQ000-000-012:MQ000-000-019' eq 'wi') || ('GQ000-000-012:MQ000-000-019' eq 'wy') + + 'GQ000-001-075:MQ000-001-171' eq 'add' + + CD000-000-235 && CD000-011-335 + 'GQ000-000-018:MQ000-000-025' eq 'withheld deportation' + 'GQ000-000-018:MQ000-000-025' eq 'conditional entrant' + 'GQ000-000-018:MQ000-000-025' eq 'amerasian' + 'GQ000-000-018:MQ000-000-025' eq 'military connection' + IS_ONE_OF(GQ000-000-018:MQ000-000-025, 'battered child', 'battered spouse', 'parent or child of a battered person') + FM000-000-060 < 22 + 'GQ000-000-012:MQ000-000-019' eq 'fl' + + FM000-000-060 > 50 + NOT(CD000-000-394) && NOT(CD000-000-395) + + FM000-000-060 < 18 + NOT(CD000-000-394) + 'GQ000-000-427:MQ000-000-596' eq 'y' + CD000-000-401 && 'GQ000-000-004:MQ000-000-007' eq 'married' + + 'GQ000-000-007:MQ000-000-010' eq 'f' + CD000-000-235 && CD000-000-002 + 'GQ000-000-016:MQ000-000-023' eq 'y' + FM000-000-060 < 2 + 'GQ000-000-427:MQ000-000-596' eq 'y' + 'GQ000-000-018:MQ000-000-112' eq 'y' + NOT(IS_NULL(GQ000-000-018:MQ000-000-024)) + CD000-000-394 || FM000-000-060 == 18 + FM000-001-925 > 50 + HAS_MEMBERS(FS000-000-846) + FM000-001-925>=6 && FM000-001-925<18 + 'GQ000-000-427:MQ000-000-596' eq 'y' + IS_ONE_OF(GQ000-000-018:MQ000-000-025, 'asylee', 'amerasian', 'withheld deportation', 'cuban haitian', 'refugee', 'conditional entrant') + IS_ONE_OF(GQ000-000-018:MQ000-000-025, 'battered child', 'battered spouse', 'parent or child of a battered person', 'parolee', 'lawful permanent resident') + 'GQ000-000-007:MQ000-000-010' eq 'f' + 'GQ000-000-018:MQ000-000-025' eq 'hmong' + CD000-003-577 || FM000-001-925 == 18 + 'GQ000-000-185:MQ000-000-121' eq 'official foster child' + HAS_MEMBERS(FS000-000-835) + 'GQ000-000-018:MQ000-000-025' eq 'human trafficking' + FM000-001-925 < 18 + 'GQ000-000-002:MQ000-000-005' ne 'self' + HAS_MEMBERS(FS000-000-832) + 1 + FM000-001-925<5 && CD000-003-577 + NOT(CD000-003-577) || NOT(CD000-003-381) + 'GQ000-000-018:MQ000-000-025' eq 'american indians' + CD000-000-235 && CD000-003-489 + FM000-001-925 < 18 + + HAS_MEMBERS(FS000-000-893) + 'GQ000-000-427:MQ000-000-596' eq 'y' + 'GQ000-000-185:MQ000-000-121' eq 'official foster child' + HAS_MEMBERS(FS000-000-880) + FM000-000-060 < 18 + HAS_MEMBERS(FS000-000-877) + + + 'GQ000-000-184:MQ000-000-120' eq 'palm beach' + FM000-000-060 < 21 + 'GQ000-000-007:MQ000-000-010' eq 'm' && FM000-000-060 > 12 + FM000-000-060 < 60 || FM000-000-060 > 12 + FM000-000-060 < 21 + 'GQ000-000-004:MQ000-000-007' eq 'single' + FM000-000-060 < 19 + FM000-000-060 < 1 + FM000-000-060 < 6 && FM000-000-060 >= 1 + FM000-000-060 < 19 && FM000-000-060 >= 6 + FM000-000-060 < 5 && FM000-000-060 >= 1 + FM000-000-060 <= 18 && FM000-000-060 >= 6 + FM000-000-060 == 5 + FM000-000-060 <= 18 && FM000-000-060 >= 0 + NOT(IS_NULL(GQ000-000-012:MQ000-000-016)) + NOT(IS_NULL(GQ000-000-012:MQ000-000-017)) + NOT(IS_NULL(GQ000-000-014:MQ000-000-016)) + NOT(IS_NULL(GQ000-000-014:MQ000-000-017)) + 'GQ000-000-180:MQ000-000-110' eq 'y' && IS_NULL(GQ000-000-009:MQ000-000-012) + CONTEXT_USER() == GET_ID_USER(self) + NOT(IS_NULL(GQ000-000-061:MQ000-000-115)) + CD000-004-437 && CD000-004-439 + NOT(IS_NULL(GQ000-000-061:MQ000-000-116)) + CD000-004-437 && CD000-004-448 + FM000-000-060 >= 18 + FM000-002-447 >= 3 + 'GQ000-000-012:MQ000-000-019' eq 'ky' + 'GQ000-000-012:MQ000-000-019' eq 'mi' + + GQ000-000-004:MQ000-000-007 eq 'married' || GQ000-000-004:MQ000-000-007 eq 'married living separately' + GQ000-000-004:MQ000-000-007 eq 'single' + GQ000-000-004:MQ000-000-007 eq 'divorced' + GQ000-000-004:MQ000-000-007 eq 'legally separated' + GQ000-000-004:MQ000-000-007 eq 'widowed' + 'GQ000-000-183:MQ000-000-118' eq 'y' + NOT(IS_NULL(GQ000-000-001:MQ000-000-002)) + NOT(CD000-004-348 || CD000-002-207) + GQ000-000-183:MQ000-000-118 eq 'n' + GQ000-000-012:MQ000-000-019 eq 'pa' + COUNT_MEMBERS(FS000-000-147) == 2 + + 'GQ000-000-002:MQ000-000-005' ne 'self' + 'GQ000-000-008:MQ000-000-011' eq 'y' + FM000-004-144 == 17 + FM000-004-144 >= 17 + + 'GQ000-000-012:MQ000-000-019' eq 'pa' + 'GQ000-000-004:MQ000-000-007' eq 'divorced' + (FM000-004-144 <= 24) + HAS_MEMBERS(FS000-001-215) + HAS_MEMBERS(FS000-001-204) + HAS_MEMBERS(FS000-001-211) + + + + CD000-006-017 && NOT('GQ000-000-002:MQ000-000-005' eq 'self') && NOT('GQ000-000-002:MQ000-000-005' eq 'spouse') + HAS_MEMBERS(FS000-001-328) + 'GQ000-000-012:MQ000-000-019' eq 'pa' + 'GQ000-000-012:MQ000-000-019' eq 'fl' + 'GQ000-000-012:MQ000-000-019' eq 'ks' + 'GQ000-000-012:MQ000-000-019' eq 'oh' + 'GQ000-000-012:MQ000-000-019' eq 'ms' + 'GQ000-000-012:MQ000-000-019' eq 'dc' + NOT(CD000-006-716) && NOT(CD000-006-717) && NOT(CD000-006-718) + (CD000-006-027) && ('GQ000-000-002:MQ000-000-005' ne 'self') + 'GQ000-000-002:MQ000-000-005' eq 'grandmother' || 'GQ000-000-002:MQ000-000-005' eq 'grandfather' + 'GQ000-000-002:MQ000-000-005' eq 'mother' || 'GQ000-000-002:MQ000-000-005' eq 'father' + 'GQ000-000-002:MQ000-000-005' eq 'brother' + 'GQ000-000-002:MQ000-000-005' eq 'sister' + 'GQ000-000-002:MQ000-000-005' eq 'aunt' + 'GQ000-000-002:MQ000-000-005' eq 'uncle' + 'GQ000-000-002:MQ000-000-005' eq 'nephew' + 'GQ000-000-002:MQ000-000-005' eq 'niece' + 'GQ000-000-002:MQ000-000-005' eq 'grandchild' + 'GQ000-000-002:MQ000-000-005' eq 'unrelated' + 'GQ000-000-002:MQ000-000-005' eq 'cousin' || GQ000-000-002:MQ000-000-005 eq 'other' + 'self:GQ000-000-008:MQ000-000-011' eq 'y' + + 'GQ000-000-211:MQ000-000-150' eq 'y' + 'GQ000-000-002:MQ000-000-005' eq 'self' + + NOT(CD000-000-007) + + GQ000-000-004:MQ000-000-007 eq 'married' + + 'GQ000-000-008:MQ000-000-011' eq 'y' && NOT(IS_NULL(GQ000-000-009:MQ000-000-012)) + + HAS_MEMBERS(FS000-001-217) + + self:FM000-000-001 >= 183 + IS_NULL(GQ000-000-014:MQ000-000-016) || IS_NULL(GQ000-000-012:MQ000-000-016) + (NOT(CD000-001-307) && CD000-006-221) || (CD000-000-409) + + ('GQ000-000-012:MQ000-000-019' eq 'ct') || ('GQ000-000-012:MQ000-000-019' eq 'de') || ('GQ000-000-012:MQ000-000-019' eq 'dc') || ('GQ000-000-012:MQ000-000-019' eq 'fl') || ('GQ000-000-012:MQ000-000-019' eq 'in') || ('GQ000-000-012:MQ000-000-019' eq 'ky') || ('GQ000-000-012:MQ000-000-019' eq 'me') || ('GQ000-000-012:MQ000-000-019' eq 'md') || ('GQ000-000-012:MQ000-000-019' eq 'ma') || ('GQ000-000-012:MQ000-000-019' eq 'mi') || ('GQ000-000-012:MQ000-000-019' eq 'nh') || ('GQ000-000-012:MQ000-000-019' eq 'nj') || ('GQ000-000-012:MQ000-000-019' eq 'oh') || ('GQ000-000-012:MQ000-000-019' eq 'pa') || ('GQ000-000-012:MQ000-000-019' eq 'ny') || ('GQ000-000-012:MQ000-000-019' eq 'ri') || ('GQ000-000-012:MQ000-000-019' eq 'wv') || ('GQ000-000-012:MQ000-000-019' eq 'sc') + ('GQ000-000-012:MQ000-000-019' eq 'al') || ('GQ000-000-012:MQ000-000-019' eq 'ak') || ('GQ000-000-012:MQ000-000-019' eq 'az') || ('GQ000-000-012:MQ000-000-019' eq 'ar') || ('GQ000-000-012:MQ000-000-019' eq 'ca') || ('GQ000-000-012:MQ000-000-019' eq 'co') || ('GQ000-000-012:MQ000-000-019' eq 'ga') || ('GQ000-000-012:MQ000-000-019' eq 'hi') || ('GQ000-000-012:MQ000-000-019' eq 'id') || ('GQ000-000-012:MQ000-000-019' eq 'il') || ('GQ000-000-012:MQ000-000-019' eq 'ia') || ('GQ000-000-012:MQ000-000-019' eq 'ks') || ('GQ000-000-012:MQ000-000-019' eq 'la') || ('GQ000-000-012:MQ000-000-019' eq 'mn') || ('GQ000-000-012:MQ000-000-019' eq 'ms') || ('GQ000-000-012:MQ000-000-019' eq 'mo') || ('GQ000-000-012:MQ000-000-019' eq 'mt') || ('GQ000-000-012:MQ000-000-019' eq 'ne') || ('GQ000-000-012:MQ000-000-019' eq 'nv') || ('GQ000-000-012:MQ000-000-019' eq 'nm') || ('GQ000-000-012:MQ000-000-019' eq 'nc') || ('GQ000-000-012:MQ000-000-019' eq 'nd') || ('GQ000-000-012:MQ000-000-019' eq 'ok') || ('GQ000-000-012:MQ000-000-019' eq 'or') || ('GQ000-000-012:MQ000-000-019' eq 'sd') || ('GQ000-000-012:MQ000-000-019' eq 'tn') || ('GQ000-000-012:MQ000-000-019' eq 'tx') || ('GQ000-000-012:MQ000-000-019' eq 'ut') || ('GQ000-000-012:MQ000-000-019' eq 'wa') || ('GQ000-000-012:MQ000-000-019' eq 'wi') || ('GQ000-000-012:MQ000-000-019' eq 'wy') + + NOT(CD000-000-122) + + FM000-004-144 <= 18 + 'GQ000-000-012:MQ000-000-019' eq 'fl' + + FM000-004-144 > 50 + FM000-004-144 > 60 + NOT(CD000-006-161) || NOT(CD000-006-162) + + FM000-004-144 < 18 + NOT(CD000-006-161) + FM000-004-144<5 && CD000-006-161 + CD000-000-401 && 'GQ000-000-004:MQ000-000-007' eq 'married' + CD000-006-027 && CD000-005-999 + HAS_MEMBERS(FS000-001-418) + 'GQ000-000-016:MQ000-000-023' eq 'y' + HAS_MEMBERS(FS000-001-402) + CD000-006-161 || FM000-004-144 == 18 + + HAS_MEMBERS(FS000-001-542) + HAS_MEMBERS(FS000-001-467) + HAS_MEMBERS(FS000-001-457) + 'GQ000-000-002:MQ000-000-005' ne 'self' + HAS_MEMBERS(FS000-001-454) + CD000-006-027 && CD000-007-063 + + COUNT_MEMBERS(FS000-001-217) == 1 + HAS_MEMBERS(FS000-001-508) + HAS_MEMBERS(FS000-001-498) + HAS_MEMBERS(FS000-001-495) + FM000-005-181 == COUNT_MEMBERS(FS000-001-217) + + FM000-004-144 < 21 + 'GQ000-000-007:MQ000-000-010' eq 'm' && FM000-004-144 > 12 + FM000-004-144 < 60 || FM000-004-144 > 12 + FM000-004-144 < 19 + FM000-004-144 < 19 && FM000-004-144 >= 6 + NOT(IS_NULL(GQ000-000-012:MQ000-000-016)) + NOT(IS_NULL(GQ000-000-012:MQ000-000-017)) + HAS_MEMBERS(FS000-001-574) + CONTEXT_USER() == GET_ID_USER(self) + CD000-007-307 && CD000-004-439 + CD000-007-307 && CD000-004-448 + + 'GQ000-000-012:MQ000-000-019' eq 'ky' + 'GQ000-000-012:MQ000-000-019' eq 'mi' + CD000-007-480 && NOT(CD000-000-409) + HAS_MEMBERS(FS000-001-626) + + GQ000-000-004:MQ000-000-007 eq 'married' || GQ000-000-004:MQ000-000-007 eq 'married living separately' + GQ000-000-004:MQ000-000-007 eq 'single' + GQ000-000-004:MQ000-000-007 eq 'divorced' + GQ000-000-004:MQ000-000-007 eq 'legally separated' + GQ000-000-004:MQ000-000-007 eq 'widowed' + FM000-005-635 > 7 + + FM000-005-912 > 7 + + 'GQ000-000-002:MQ000-000-005' eq 'unrelated' + HAS_MEMBERS(FS000-001-625) + NOT(CD000-006-268) && IS_ONE_OF(GQ000-000-018:MQ000-000-025, 'lawful permanent resident', 'asylee', 'parolee', 'withheld deportation', 'conditional entrant', 'cuban haitian', 'battered spouse', 'battered child', 'parent or child of a battered person', 'american indians', 'amerasian', 'hmong', 'human trafficking') + NOT(CD000-006-268) && IS_ONE_OF(GQ000-000-018:MQ000-000-025, 'farmworker', 'general amnesty') + NOT(CD000-006-268) && IS_ONE_OF(GQ000-000-018:MQ000-000-025, 'refugee') + GQ000-000-012:MQ000-000-019 eq 'pa' + COUNT_MEMBERS(FS000-001-217) == 2 + (CD000-006-027) && 'GQ000-000-002:MQ000-000-005' eq 'self' + + CD000-006-717 || CD000-006-716 + GQ000-000-012:MQ000-000-019 eq 'md' + 'GQ000-000-012:MQ000-000-019' eq 'oh' + NOT(CD000-007-672) + + GQ000-000-001:MQ000-000-001 eq 'Jimmy' + self:CD000-088-888 + HAS_MEMBERS(FS000-001-004) + LOOKUP_ID_USER(CD000-002-903, CONTEXT_USER()) == 1 + GQ000-000-082:MQ000-000-108 eq FM000-007-565 + GQ000-000-083:MQ000-000-108 eq FM000-007-565 + CD000-009-133 && CD000-009-026 + CD000-009-134 && CD000-009-027 + FM000-000-060 >= 65 + CD000-009-086 && CD000-009-091 + HAS_MEMBERS(FS000-001-967) + HAS_MEMBERS(FS000-001-968) + CD000-009-108 && 'GQ000-002-917:MQ000-003-844' eq 'y' + CD000-009-108 && CD000-000-235 + HAS_MEMBERS(FS000-002-001) + HAS_MEMBERS(FS000-002-002) + CD000-009-145 || CD000-009-331 || CD000-009-332 + HAS_MEMBERS(FS000-002-060) + + GQ000-000-184:MQ000-000-120 eq 'delaware' + GQ000-000-184:MQ000-000-120 eq 'chester' + GQ000-000-184:MQ000-000-120 eq 'philadelphia' + IS_ONE_OF(GQ000-000-184:MQ000-000-120,'washington', 'fayette', 'greene') + (FM000-000-060 > 7) && (FM000-000-060 < 66) && CD000-002-577 + + NOT(CD000-005-521) && NOT(IS_ONE_OF(GQ000-000-012:MQ000-000-019, 'as', 'gu','pr', 'vi')) + self:GQ000-000-001:MQ000-001-312 eq 'en-US' + + GQ000-000-012:MQ000-000-019 eq 'al' + GQ000-000-012:MQ000-000-019 eq 'ak' + GQ000-000-012:MQ000-000-019 eq 'az' + GQ000-000-012:MQ000-000-019 eq 'ar' + GQ000-000-012:MQ000-000-019 eq 'ca' + GQ000-000-012:MQ000-000-019 eq 'co' + GQ000-000-012:MQ000-000-019 eq 'ct' + GQ000-000-012:MQ000-000-019 eq 'de' + GQ000-000-012:MQ000-000-019 eq 'ga' + GQ000-000-012:MQ000-000-019 eq 'hi' + GQ000-000-012:MQ000-000-019 eq 'id' + GQ000-000-012:MQ000-000-019 eq 'in' + GQ000-000-012:MQ000-000-019 eq 'ia' + GQ000-000-012:MQ000-000-019 eq 'il' + GQ000-000-012:MQ000-000-019 eq 'ky' + GQ000-000-012:MQ000-000-019 eq 'la' + GQ000-000-012:MQ000-000-019 eq 'me' + GQ000-000-012:MQ000-000-019 eq 'md' + GQ000-000-012:MQ000-000-019 eq 'ma' + GQ000-000-012:MQ000-000-019 eq 'mi' + GQ000-000-012:MQ000-000-019 eq 'mn' + GQ000-000-012:MQ000-000-019 eq 'mo' + GQ000-000-012:MQ000-000-019 eq 'mt' + GQ000-000-012:MQ000-000-019 eq 'ms' + GQ000-000-012:MQ000-000-019 eq 'ne' + GQ000-000-012:MQ000-000-019 eq 'nv' + GQ000-000-012:MQ000-000-019 eq 'nh' + GQ000-000-012:MQ000-000-019 eq 'nj' + GQ000-000-012:MQ000-000-019 eq 'nm' + GQ000-000-012:MQ000-000-019 eq 'ny' + GQ000-000-012:MQ000-000-019 eq 'nc' + GQ000-000-012:MQ000-000-019 eq 'nd' + GQ000-000-012:MQ000-000-019 eq 'ok' + GQ000-000-012:MQ000-000-019 eq 'or' + GQ000-000-012:MQ000-000-019 eq 'ri' + GQ000-000-012:MQ000-000-019 eq 'sc' + GQ000-000-012:MQ000-000-019 eq 'sd' + GQ000-000-012:MQ000-000-019 eq 'tn' + GQ000-000-012:MQ000-000-019 eq 'tx' + GQ000-000-012:MQ000-000-019 eq 'ut' + GQ000-000-012:MQ000-000-019 eq 'vt' + GQ000-000-012:MQ000-000-019 eq 'va' + GQ000-000-012:MQ000-000-019 eq 'wa' + GQ000-000-012:MQ000-000-019 eq 'wv' + GQ000-000-012:MQ000-000-019 eq 'wi' + GQ000-000-012:MQ000-000-019 eq 'wy' + + HAS_MEMBERS(FS000-002-412) + CD000-000-007 ? CD000-000-000 : CD000-000-001 + HAS_MEMBERS(FS000-002-412) + (GQ000-000-012:MQ000-000-019 eq 'ms') || (GQ000-000-012:MQ000-000-019 eq 'oh') || (GQ000-000-012:MQ000-000-019 eq 'tx') + + FM000-009-910 eq 'dc' || FM000-009-910 eq 'fl' || FM000-009-910 eq 'md' || FM000-009-910 eq 'ms' || FM000-009-910 eq 'oh' || FM000-009-910 eq 'pa' || FM000-009-910 eq 'tx' + FM000-009-910 eq 'ks' + + IS_NULL(FM000-004-086) + CD000-011-483 && CD000-002-493 + FM000-000-060 < 13 + HAS_MEMBERS(FS000-002-765) + HAS_MEMBERS(FS000-002-847) + HAS_MEMBERS(FS000-003-007) + GQ000-000-002:MQ000-000-005 eq 'child' + GQ000-000-002:MQ000-000-005 eq 'spouse' + COUNT_MEMBERS(FS000-000-147) == 2 && HAS_MEMBERS(FS000-002-851) + + 'GQ000-000-180:MQ000-000-110' eq 'n' && IS_NULL(GQ000-000-009:MQ000-000-012) + NOT(IS_NULL(GQ000-000-004:MQ000-000-007)) && NOT(IS_ONE_OF(GQ000-000-004:MQ000-000-007, 'married', 'married living separately')) + FM000-010-869 < 19 + + FM000-000-060 >= 60 && CD000-000-409 + NOT(CD000-013-445) + LOOKUP_ID_USER(CD000-013-445, CONTEXT_USER()) == 1 + FM000-011-279 == FM000-000-060 + (self:CD000-013-451 && GET_ID_USER(self) == THIS_ID_USER()) || (self:CD000-013-445 && CD000-013-447) + LOOKUP_ID_USER(CD000-013-448, CONTEXT_USER()) == 1 + (CD000-013-446 && CD000-003-618) || (NOT(CD000-013-446) && CD000-013-450 && NOT(CD000-013-445) && (CD000-003-618 || CD000-000-235)) + + + NOT(CD000-004-231) + IS_NULL(INSTANCE(GQ000-001-471:MQ000-000-005)) + + + GQ000-004-108:MQ000-005-340 eq 'y' + GQ000-004-108:MQ000-005-341 eq 'y' + CD000-000-135 || CD000-000-130 || (CD000-000-220 || CD000-000-221) + GET_ID_USER(self) != THIS_ID_USER() + GQ000-001-075:MQ000-001-171 eq 'edit' || CD000-013-806 + GQ000-001-075:MQ000-001-172 eq 'edit_address' + CD000-013-804 && CD000-000-046 + GQ000-001-075:MQ000-001-171 eq 'add' + IS_ONE_OF(GQ000-000-002:MQ000-000-005, 'child', 'fosterchild', 'grandchild') && (NOT(IS_NULL(GQ000-000-003:MQ000-000-006)) && DAYS_BETWEEN(FM000-005-910, self:FM000-005-910) >= 0) + IS_ONE_OF(GQ000-000-002:MQ000-000-005, 'mother', 'father', 'grandmother', 'grandfather', 'fosterparent') && (NOT(IS_NULL(GQ000-000-003:MQ000-000-006)) && DAYS_BETWEEN(FM000-005-910, self:FM000-005-910) <= 0) + CD000-013-896 || CD000-013-895 + HAS_MEMBERS(FS000-003-234) + GQ000-004-524:MQ000-006-880 eq 'y' + + + FM000-003-072 eq '' + 'GQ000-000-004:MQ000-000-007' eq 'single' + 'INSTANCE(GQ000-001-432:MQ000-001-570)' eq 'medicalexp' + 'INSTANCE(GQ000-001-432:MQ000-001-570)' eq 'childcareexp' + GQ000-000-184:MQ000-000-120 eq 'philadelphia' + GQ000-000-184:MQ000-000-120 eq 'allegheny' + FM000-005-033 > 5 + FM000-005-646 > 3 + HAS_MEMBERS(IS000-000-945) + 'GQ000-000-002:MQ000-000-005' eq 'child' || 'GQ000-000-002:MQ000-000-005' eq 'mother' || 'GQ000-000-002:MQ000-000-005' eq 'father' || 'GQ000-000-002:MQ000-000-005' eq 'grandmother' || 'GQ000-000-002:MQ000-000-005' eq 'grandfather' || 'GQ000-000-002:MQ000-000-005' eq 'aunt' || 'GQ000-000-002:MQ000-000-005' eq 'uncle' || 'GQ000-000-002:MQ000-000-005' eq 'sister' || 'GQ000-000-002:MQ000-000-005' eq 'brother' || 'GQ000-000-002:MQ000-000-005' eq 'niece' || 'GQ000-000-002:MQ000-000-005' eq 'nephew' || 'GQ000-000-002:MQ000-000-005' eq 'grandchild' + HAS_MEMBERS(FS000-002-431) + GQ000-000-002:MQ000-000-005 eq 'unrelated' + FM000-001-925 < 22 + 'GQ000-000-004:MQ000-000-007' eq 'single' + NOT(CD000-000-409) && CD000-000-235 + 'GQ000-000-004:MQ000-000-007' eq 'married' + FM000-000-060 > 12 + LOOKUP_ID_USER(CD000-003-599, CONTEXT_USER()) == 1 + GQ000-000-427:MQ000-000-596 eq 'y' + FM000-004-144 >=6 && FM000-004-144 <18 + HAS_MEMBERS(FS000-001-212) + HAS_MEMBERS(FS000-001-529) + FM000-004-144 >= 18 + 'GQ000-000-004:MQ000-000-007' eq 'single' + FM000-004-144 < 18 + NOT(CD000-000-409) && CD000-006-027 + FM000-004-144 < 1 + FM000-004-144 <= 18 && FM000-004-144 >= 6 + FM000-004-144 < 6 && FM000-004-144 >= 1 + FM000-004-144 < 5 && FM000-004-144 >= 1 + FM000-004-144 == 5 + FM000-004-144 <= 18 && FM000-004-144 >= 0 + 'GQ000-000-004:MQ000-000-007' ne 'married' || 'GQ000-000-004:MQ000-000-007' ne 'married living separately' + 'GQ000-000-004:MQ000-000-007' eq 'married' || 'GQ000-000-004:MQ000-000-007' eq 'married living separately' + FM000-004-144 >= 18 + 'GQ000-000-012:MQ000-000-019' eq 'oh' + 'GQ000-000-004:MQ000-000-007' eq 'married' + FM000-004-144 > 12 + FM000-004-144 > 18 + NOT(CD000-004-348 || CD000-006-835) + FM000-004-144 >= 60 + IS_ONE_OF(GQ000-000-184:MQ000-000-120, 'cameron', 'forest', 'philadelphia', 'sullivan') + GQ000-000-185:MQ000-000-121 eq 'not my child' + CD000-000-002 && CD000-000-235 + NOT(CD000-011-484) + FM000-009-820 == 1 + GQ000-000-004:MQ000-000-007 eq 'married' || GQ000-000-004:MQ000-000-007 eq 'married living separately' + 'GQ000-000-004:MQ000-000-007' eq 'single' + 'GQ000-000-004:MQ000-000-007' eq 'divorced' + 'GQ000-000-004:MQ000-000-007' eq 'legally separated' + 'GQ000-000-004:MQ000-000-007' eq 'married' + 'GQ000-000-004:MQ000-000-007' eq 'married living separately' + 'GQ000-000-004:MQ000-000-007' eq 'widowed' + GQ000-000-002:MQ000-000-005 eq 'self' && IS_NULL(GQ000-000-061:MQ000-000-115) + 'GQ000-000-002:MQ000-000-005' eq 'child' || 'GQ000-000-002:MQ000-000-005' eq 'mother' || 'GQ000-000-002:MQ000-000-005' eq 'father' || 'GQ000-000-002:MQ000-000-005' eq 'grandmother' || 'GQ000-000-002:MQ000-000-005' eq 'grandfather' || 'GQ000-000-002:MQ000-000-005' eq 'aunt' || 'GQ000-000-002:MQ000-000-005' eq 'uncle' || 'GQ000-000-002:MQ000-000-005' eq 'sister' || 'GQ000-000-002:MQ000-000-005' eq 'brother' || 'GQ000-000-002:MQ000-000-005' eq 'niece' || 'GQ000-000-002:MQ000-000-005' eq 'nephew' || 'GQ000-000-002:MQ000-000-005' eq 'grandchild' + LOOKUP_ID_USER(FM000-000-060,CONTEXT_USER()) >= 21 + 'GQ000-000-007:MQ000-000-010' eq 'f' + NOT(IS_NULL(GQ000-000-001:MQ000-000-002)) + + + + HAS_RELATIONSHIP(CONTEXT_USER(), 'parent of child') + CD000-004-244 && CD000-002-639 + + + + HAS_MEMBERS(FS000-002-501) + +
+
+ LOOKUP_ID_USER(FM000-001-219, OWNER_OF_INSTANCE(THIS_INSTANCE())) + + AGE(GQ000-000-003:MQ000-000-006, GQ000-000-003:MQ000-000-107, GQ000-000-003:MQ000-000-108) + UCASE(GQ000-000-012:MQ000-000-015) + CD000-004-312 ? ', '.GQ000-000-012:MQ000-000-017 : '' + 'GQ000-000-003:MQ000-000-108'.'GQ000-000-003:MQ000-000-107'.'GQ000-000-003:MQ000-000-006' + 'GQ000-000-003:MQ000-000-107' .'/'. 'GQ000-000-003:MQ000-000-006'.'/'.'GQ000-000-003:MQ000-000-108' + JOIN(',', GQ000-000-012:MQ000-000-015, GQ000-000-012:MQ000-000-016, FM000-010-398, GQ000-000-012:MQ000-000-018, JOIN(' ', UCASE(GQ000-000-012:MQ000-000-019), GQ000-000-012:MQ000-000-020)) + JOIN("'", FM000-001-219, "s") + 'FM000-010-267'.' APT# '.'FM000-003-072' + (CD000-013-054) ? ', '.'GQ000-000-001:MQ000-000-002' : ' ' + + COUNT_MEMBERS(FS000-001-048) + self:FM000-000-403 + GQ000-000-001:MQ000-000-001 . ' ' . FM000-000-402 + SUB_STRING(GQ000-000-001:MQ000-000-002, 0, 1) + FM000-000-403 . ' ' . GQ000-000-001:MQ000-000-003 + JOIN(' ', GQ000-000-001:MQ000-000-001, FM000-002-354, FM000-006-123, FM000-004-086) + 'GQ000-000-001:MQ000-000-001'.' '.'GQ000-000-001:MQ000-000-003' + IS_NULL(GQ000-000-001:MQ000-000-004) ? GQ000-000-001:MQ000-000-003 : GQ000-000-001:MQ000-000-003 . ',' + TABLE_VALUE(TA000-000-095, GQ000-000-001:MQ000-000-004, 'a') + JOIN(' ', 'GQ000-000-001:MQ000-000-001', 'FM000-004-086') + 'GQ000-000-001:MQ000-000-003'.', '.'FM000-010-954'.'FM000-010-953' + GQ000-000-012:MQ000-000-017 + GQ000-000-012:MQ000-000-018 . ', ' . UCASE(GQ000-000-012:MQ000-000-019) . ' ' . GQ000-000-012:MQ000-000-020 + FM000-001-089 . FM000-001-019 + FM000-001-089 . FM000-001-019 + + (CD000-000-046) ? 'GQ000-000-014:MQ000-000-015' : 'GQ000-000-012:MQ000-000-015' + (CD000-000-046) ? 'GQ000-000-014:MQ000-000-016' : 'GQ000-000-012:MQ000-000-016' + 'FM000-001-034' . ', ' . ' ' . 'FM000-001-035' + 'GQ000-000-012:MQ000-000-015' . ((IS_NULL(GQ000-000-012:MQ000-000-015) || IS_NULL(GQ000-000-012:MQ000-000-016)) ? '' : ', ') . 'GQ000-000-012:MQ000-000-016' + 'GQ000-000-014:MQ000-000-015' . ((IS_NULL(GQ000-000-014:MQ000-000-015) || IS_NULL(GQ000-000-014:MQ000-000-016)) ? '' : ', ') . 'GQ000-000-014:MQ000-000-016' + (FM000-003-458 eq '') ? 'FM000-011-426' : ('FM000-011-426'.' '. 'APT '.'FM000-003-458') + 'GQ000-000-012:MQ000-000-018'. ((IS_NULL(GQ000-000-012:MQ000-000-018) || IS_NULL(GQ000-000-012:MQ000-000-019)) ? '' : ', ') . UCASE(GQ000-000-012:MQ000-000-019) + 'GQ000-000-014:MQ000-000-018' . ((IS_NULL(GQ000-000-014:MQ000-000-018) || IS_NULL(GQ000-000-014:MQ000-000-019)) ? '' : ', ') . UCASE(GQ000-000-014:MQ000-000-019) + 'FM000-000-404'.' '.'self:GQ000-000-001:MQ000-000-003' + + 'GQ000-000-001:MQ000-000-001'.' '.'GQ000-000-001:MQ000-000-003' + 'GQ000-000-001:MQ000-000-001' . ' ' . 'GQ000-000-001:MQ000-000-002' . ' ' . 'GQ000-000-001:MQ000-000-003' + 0 + (CD000-000-046) ? 'GQ000-000-014:MQ000-000-018' : 'GQ000-000-012:MQ000-000-018' + (CD000-000-046) ? GQ000-000-014:MQ000-000-019 : GQ000-000-012:MQ000-000-019 + (CD000-000-046) ? 'GQ000-000-014:MQ000-000-020' : 'GQ000-000-012:MQ000-000-020' + (CD000-000-046) ? 'GQ000-000-014:MQ000-000-120' : 'GQ000-000-184:MQ000-000-120' + + + + + 'GQ000-000-003:MQ000-000-108'.'GQ000-000-003:MQ000-000-107'.'GQ000-000-003:MQ000-000-006' + + 'GQ000-000-003:MQ000-000-107' . '/' . 'GQ000-000-003:MQ000-000-006' . '/' . 'GQ000-000-003:MQ000-000-108' + (NOT(CD000-000-394)) ? 'yes' : 'no' + (NOT(CD000-000-394)) ? 'yes' : 'no' + GQ000-000-012:MQ000-000-015 . FM000-003-865 . FM000-003-864 + GQ000-000-012:MQ000-000-015 . FM000-003-865 + 'GQ000-000-014:MQ000-000-015'.' '.'GQ000-000-014:MQ000-000-016' + CD000-011-813 ? '': ''.'FM000-009-876' + ''.'FM000-004-086' + (CD000-000-122) ? 'x' : '' + 'GQ000-000-001:MQ000-000-003' .', '. 'GQ000-000-001:MQ000-000-001' .' '. 'GQ000-000-001:MQ000-000-002' + 'GQ000-000-003:MQ000-000-107' .'/'. 'GQ000-000-003:MQ000-000-006'.'/'.'GQ000-000-003:MQ000-000-108' + COUNT_MEMBERS(FS000-000-147) +'LOOKUP_ID_USER(FM000-001-219, INSTANCE(GQ000-001-428:MQ000-001-562))' + (CD000-005-149) ? 'FM000-001-219' : '' + (CD000-005-148) ? 'FM000-001-219' : '' + + AGE(GQ000-000-003:MQ000-002-004, GQ000-000-003:MQ000-002-016, GQ000-000-003:MQ000-001-993) + 'GQ000-000-012:MQ000-001-987'.' '.'GQ000-000-012:MQ000-002-008'.', '.'GQ000-000-012:MQ000-001-942' + NOT(CD000-003-503) ? 'x' : '' + (CD000-003-503) ? 'x' : '' + (CD000-000-122) ? 'x' : '' + (CD000-003-448) ? 'x' : '' + 'GQ000-000-014:MQ000-001-987'.' '.'GQ000-000-014:MQ000-002-008'.', '.'GQ000-000-014:MQ000-001-942' + NOT(CD000-003-448) ? 'x' : '' + 'GQ000-000-003:MQ000-002-016' .'/'. 'GQ000-000-003:MQ000-002-004'.'/'.'GQ000-000-003:MQ000-001-993' + 'GQ000-000-012:MQ000-000-015'.' '.'GQ000-000-012:MQ000-000-016'.', '.'GQ000-000-012:MQ000-000-017' + NOT(CD000-003-788) ? 'x' : '' + (CD000-003-788) ? 'x' : '' + OPERATION(JOIN_W_COMMA, FS000-000-877, 'FM000-001-219') + 'GQ000-000-001:MQ000-000-003' .', '. 'GQ000-000-001:MQ000-000-001' .' '. 'GQ000-000-001:MQ000-000-002' + OPERATION(JOIN_W_COMMA, FS000-000-880, 'FM000-001-219') + (CD000-003-714) ? 'x' : '' + 'GQ000-000-014:MQ000-000-015'.' '.'GQ000-000-014:MQ000-000-016'.', '.'GQ000-000-014:MQ000-000-017' + IS_NULL(GQ000-000-001:MQ000-000-002) ? FM000-000-402 : FM000-000-402 . '.' + NOT(CD000-003-714) ? 'x' : '' + 'GQ000-000-003:MQ000-000-107' .'/'. 'GQ000-000-003:MQ000-000-006'.'/'.'GQ000-000-003:MQ000-000-108' + OPERATION(JOIN_W_COMMA, FS000-000-894, 'FM000-001-219') + COUNT_MEMBERS(FS000-000-147) + CD000-004-146 ? 'g' : (CD000-004-147 ? 'f' : (CD000-004-148 ? 'c' : 'i')) + (CD000-002-557) ? 'x' : '' + CD000-000-007 ? 'GQ000-000-009:MQ000-000-012' : ' ' + CD000-004-312 ? 'GQ000-000-012:MQ000-000-017' : '' + CD000-004-343 ? ', '.'GQ000-000-014:MQ000-000-016' : '' + CD000-004-344 ? ', APT'.' '.'GQ000-000-014:MQ000-000-017'.',' : '' + 'FM000-001-034'.'FM000-001-035' + CD000-004-447 ? 'GQ000-000-061:MQ000-000-115' : ' ' + CD000-004-449 ? 'GQ000-000-061:MQ000-000-116' : ' ' + COUNT_MEMBERS(FS000-001-089) + LOOKUP_ID_USER(FM000-003-019, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-002-903, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-381, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-382, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-012:MQ000-000-020, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-472, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-002-955, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-014:MQ000-000-017, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-383, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-384, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-014:MQ000-000-020, GET_ID_USER(self)) + UCASE(GQ000-000-184:MQ000-000-120) + LOOKUP_ID_USER(GQ000-000-061:MQ000-000-054, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-061:MQ000-000-116, GET_ID_USER(self)) + 'GQ000-000-003:MQ000-000-107'.'/'.'GQ000-000-003:MQ000-000-006'.'/'.'GQ000-000-003:MQ000-000-108' + LOOKUP_ID_USER(CD000-003-599, CONTEXT_USER()) + UCASE(GQ000-000-012:MQ000-000-018) + UCASE(GQ000-000-012:MQ000-000-019) + UCASE(GQ000-000-012:MQ000-000-019) + UCASE(GQ000-000-014:MQ000-000-018) + UCASE(GQ000-000-014:MQ000-000-019) + UCASE(GQ000-000-007:MQ000-000-010) + LOOKUP_INSTANCE(FM000-003-990, FM000-003-464) + THIS_INSTANCE() + (CD000-005-451) ? 'GQ000-000-183:MQ000-000-119' : ' ' + UCASE(GQ000-000-183:MQ000-000-119) +UCASE('GQ000-000-183:MQ000-000-119') + FM000-001-034 . ' ' . FM000-001-035 . ' ' . FM000-003-846 + UCASE(FM000-000-436) + (CD000-000-046) ? ((CD000-004-344)? 'Apt. '.'GQ000-000-014:MQ000-000-017' : '') : ((CD000-004-312) ? ' Apt. '.'GQ000-000-012:MQ000-000-017' : '') + JOIN(' ', GQ000-000-001:MQ000-000-001, FM000-000-402, GQ000-000-001:MQ000-000-003, FM000-004-086) + + (CD000-005-011) ? 'x' : '' + (CD000-005-013) ? 'x' : '' + (CD000-005-015) ? 'x' : '' + 'GQ000-000-001:MQ000-000-001'.' '. 'GQ000-000-001:MQ000-000-002' + (CD000-004-137) ? 'x' : ' ' + NOT(CD000-004-137) ? 'x' : ' ' + NOT(CD000-004-137) ? 'x' : ' ' + (CD000-004-194) ? SUB_STRING('GQ000-000-001:MQ000-000-002', 0, 1) : ' ' + GQ000-000-003:MQ000-000-107 . '/' . GQ000-000-003:MQ000-000-006 . '/' . GQ000-000-003:MQ000-000-108 + (CD000-002-577) ? 'F' : 'M' + SUB_STRING(self:GQ000-000-001:MQ000-000-003, 0, 3) + (CD000-002-577) ? 'x' : '' + NOT(CD000-002-577) ? 'x' : '' + CD000-004-312 ? ', Apt. '.GQ000-000-012:MQ000-000-017 : '' + CD000-004-311 ? ', '.GQ000-000-012:MQ000-000-016 : '' + + COUNT_MEMBERS(FS000-000-706) + OPERATION(JOIN_W_COMMA, FS000-000-147, FM000-001-219) + + LOOKUP_ID_USER(GQ000-000-012:MQ000-000-015, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-012:MQ000-000-016, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-012:MQ000-000-018, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-012:MQ000-000-019, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-012:MQ000-000-020, GET_ID_USER(self)) + + FM000-001-219 + + "DATE(GQ000-000-003:MQ000-000-108, GQ000-000-003:MQ000-000-107, GQ000-000-003:MQ000-000-006)" + + + AGE(GQ000-000-003:MQ000-000-006, GQ000-000-003:MQ000-000-107, GQ000-000-003:MQ000-000-108) + + FM000-000-403 . ' ' . GQ000-000-001:MQ000-000-003 . FM000-009-587 + GQ000-000-001:MQ000-000-004 ne '' ? ' ' . FM000-006-016 : '' + + 'GQ000-000-003:MQ000-000-107' . '/' . 'GQ000-000-003:MQ000-000-006' . '/' . 'GQ000-000-003:MQ000-000-108' + GQ000-000-012:MQ000-000-015 . ' ' . FM000-005-904 . FM000-005-903 + 'GQ000-000-001:MQ000-000-001'.' '.'FM000-000-402'.' '.'GQ000-000-001:MQ000-000-003'.' '.'FM000-006-016' + (CD000-006-953) ? 'x' : '' + NOT(CD000-006-953) ? 'x' : '' + OPERATION(JOIN_W_COMMA, FS000-001-402, FM000-004-937) + (CD000-000-122) ? 'x' : '' + 'GQ000-000-001:MQ000-000-003' .', '. 'GQ000-000-001:MQ000-000-001' .' '. 'GQ000-000-001:MQ000-000-002' + COUNT_MEMBERS(IS000-000-801) + + (CD000-005-148) ? 'FM000-004-937' : '' + (CD000-005-149) ? 'FM000-004-937' : '' + (CD000-005-148) ? 'FM000-004-937' : '' + NOT(CD000-007-070) ? 'x' : '' + (CD000-007-070) ? 'x' : '' + (CD000-000-122) ? 'x' : '' + (CD000-007-050) ? 'x' : '' + NOT(CD000-007-050) ? 'x' : '' + 'GQ000-000-012:MQ000-000-015'.' '.'GQ000-000-012:MQ000-000-016'.', '.'GQ000-000-012:MQ000-000-017' + NOT(CD000-007-150) ? 'x' : '' + NOT(CD000-007-158) ? 'x' : '' + (CD000-007-150) ? 'x' : '' + OPERATION(JOIN_W_COMMA, FS000-001-495, 'FM000-004-937') + 'GQ000-000-001:MQ000-000-003' .', '. 'GQ000-000-001:MQ000-000-001' .' '. 'GQ000-000-001:MQ000-000-002' + OPERATION(JOIN_W_COMMA, FS000-001-498, 'FM000-004-937') + COUNT_MEMBERS(FS000-001-491) + (CD000-000-122) ? 'x' : '' + (CD000-007-122) ? 'x' : '' + SUB_STRING('GQ000-000-001:MQ000-000-002', 0, 1) + (CD000-007-158) ? 'x' : '' + NOT(CD000-007-122) ? 'x' : '' + 'GQ000-000-003:MQ000-000-107' .'/'. 'GQ000-000-003:MQ000-000-006'.'/'.'GQ000-000-003:MQ000-000-108' + OPERATION(JOIN_W_COMMA, FS000-001-509, 'FM000-004-937') + COUNT_MEMBERS(FS000-001-217) + (CD000-006-969) ? 'x' : '' + CD000-006-003 ? 'GQ000-000-009:MQ000-000-012' : ' ' + CD000-007-282 ? ','.' '.'GQ000-000-012:MQ000-000-016' : '' + CD000-007-283 ? 'GQ000-000-012:MQ000-000-017' : '' + CD000-007-283 ? ', '.GQ000-000-012:MQ000-000-017 : '' + COUNT_MEMBERS(FS000-001-423) + COUNT_MEMBERS(FS000-001-424) + 'FM000-001-034'.'FM000-001-035' + CD000-007-315 ? 'GQ000-000-061:MQ000-000-115' : ' ' + CD000-007-316 ? 'GQ000-000-061:MQ000-000-116' : ' ' + LOOKUP_ID_USER(FM000-005-511, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-005-472, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-005-707, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-472, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-002-955, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-014:MQ000-000-017, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-383, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-384, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-005-708, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-014:MQ000-000-020, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-012:MQ000-000-020, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-472, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-061:MQ000-000-054, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-005-480, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-005-481, GET_ID_USER(self)) + LOOKUP_ID_USER(GQ000-000-061:MQ000-000-116, GET_ID_USER(self)) + COUNT_MEMBERS(FS000-001-605) + 'GQ000-000-003:MQ000-000-107'.'/'.'GQ000-000-003:MQ000-000-006'.'/'.'GQ000-000-003:MQ000-000-108' + UCASE(GQ000-000-012:MQ000-000-018) + LOOKUP_INSTANCE(FM000-004-937, FM000-003-464) + LOOKUP_INSTANCE(FM000-004-937, FM000-003-464) + GQ000-000-001:MQ000-000-003 . ', ' . FM000-000-403 . ' ' . FM000-006-016 + (CD000-006-268) ? 1 : ((CD000-007-565) ? 2 : ((CD000-007-566) ? 3 : ((CD000-007-567) ? 4 : 5))) + LOOKUP_ID_USER(FM000-003-823, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-824, GET_ID_USER(self)) + FM000-001-034 . ' ' . FM000-001-035 . ' ' . FM000-005-899 + LOOKUP_ID_USER(FM000-003-804, GET_ID_USER(self)) + (CD000-006-003) ? SUB_STRING('GQ000-000-009:MQ000-000-012', 0, 3).'-'.SUB_STRING('GQ000-000-009:MQ000-000-012', 3, 2).'-'.SUB_STRING('GQ000-000-009:MQ000-000-012', 5, 4) : ((CD000-004-348) ? 'applied for SSN' : ' ') + 'FM000-001-034'.' '.'FM000-001-035' + (CD000-000-046) ? ((CD000-004-344)? 'Apt. '.'GQ000-000-014:MQ000-000-017' : ' ') : ((CD000-007-283) ? ' Apt. '.'GQ000-000-012:MQ000-000-017' : ' ') + JOIN(' ', GQ000-000-001:MQ000-000-001, FM000-000-402, GQ000-000-001:MQ000-000-003, FM000-006-016) + TABLE_VALUE(TA000-000-095, GQ000-000-001:MQ000-000-004, 'a') + + (CD000-007-490) ? 'x' : '' + (CD000-007-491) ? 'x' : '' + (CD000-007-492) ? 'x' : '' + (CD000-007-493) ? 'x' : '' + (CD000-007-494) ? 'x' : '' + (CD000-007-667) ? 'x' : '' + 'GQ000-000-001:MQ000-000-001'.' '. 'GQ000-000-001:MQ000-000-002' + GQ000-000-003:MQ000-000-107 . '/' . GQ000-000-003:MQ000-000-006 . '/' . GQ000-000-003:MQ000-000-108 + GQ000-000-012:MQ000-000-015 . FM000-005-471 . FM000-005-947 . '; ' . GQ000-000-012:MQ000-000-018 . ', ' . UCASE(GQ000-000-012:MQ000-000-019) + CD000-007-283 ? ', '.GQ000-000-012:MQ000-000-017 : '' + CD000-007-282 ? ', '.GQ000-000-012:MQ000-000-016 : '' + + COUNT_MEMBERS(FS000-001-418) + OPERATION(JOIN_W_COMMA, FS000-001-217, FM000-004-937) + + "DATE(GQ000-000-003:MQ000-000-108, GQ000-000-003:MQ000-000-107, GQ000-000-003:MQ000-000-006)" + GQ000-000-002:MQ000-000-005 + ROUND(self:FM000-000-203) + 'GQ000-000-012:MQ000-000-018'.' '.'GQ000-000-012:MQ000-000-019' + 'FM000-001-034'.' '.'FM000-001-035' + CD000-001-307 ? 200 : 175 + OPERATION(SUM, FS000-000-147, FM000-007-806) + LOOKUP_ID_USER(GQ000-000-061:MQ000-000-054, GET_ID_USER(self)) + OPERATION(JOIN_W_COMMA,FS000-002-060,FM000-001-219) + 'GQ000-000-014:MQ000-000-015' . ' ' . 'GQ000-000-014:MQ000-000-016' + self:GQ000-000-001:MQ000-000-003 . FM000-004-086 + FM000-001-219 + CD000-000-007 ? SUB_STRING(GQ000-000-009:MQ000-000-012, 5, 4) : '' + LOOKUP_ID_USER('GQ000-000-012:MQ000-000-019', GET_ID_USER(self)) + LOOKUP_INSTANCE(GQ000-000-002:MQ000-000-005, FM000-003-464) + JOIN('CN000-000-233', FM000-001-034, FM000-001-035, FM000-003-846) + (CD000-004-312) ? 'Apt. '.GQ000-000-012:MQ000-000-017 : '' + CD000-000-122 ? 'Y' : 'N' + self:GQ000-000-061:MQ000-000-117 + 'GQ000-000-014:MQ000-000-015'.' '.'GQ000-000-014:MQ000-000-016' + JOIN(' x', GQ000-000-061:MQ000-000-054, GQ000-000-061:MQ000-004-739) + LOOKUP_INSTANCE(FM000-001-219, FM000-003-464) + + LOOKUP_ID_USER(FM000-000-060, CONTEXT_USER()) + + OPERATION(MAX, FS000-002-934, FM000-000-060) + 'GQ000-000-014:MQ000-000-015'.'FM000-002-954'.'FM000-002-955'.' '.'GQ000-000-014:MQ000-000-018'.' '.'FM000-003-384'.' '.'GQ000-000-014:MQ000-000-020' + 'a' + 'a' + 'b' + JOIN('<br/>', GQ000-000-012:MQ000-000-015, GQ000-000-012:MQ000-000-016, FM000-010-398, FM000-001-019) + CD000-004-344 ? 'Apt. ' . GQ000-000-014:MQ000-000-017 : '' + GQ000-000-014:MQ000-000-018 . ' ' . FM000-003-384 . ' ' . GQ000-000-014:MQ000-000-020 + JOIN('<br/>', GQ000-000-014:MQ000-000-015, GQ000-000-014:MQ000-000-016, FM000-010-363, FM000-019-490) + IS_NULL(GQ000-000-427:MQ000-000-596) ? 'n' : GQ000-000-427:MQ000-000-596 + IS_NULL(GQ000-004-110:MQ000-006-881) ? 'n' : GQ000-004-110:MQ000-006-881 + TABLE_VALUE(TA000-000-205, GQ000-000-001:MQ000-000-060, 'a') + COUNT_MEMBERS(FS000-001-217) + + +CD000-000-286 ? TRANSLATE('you and/or your spouse') : TRANSLATE('you') + + + + + GQ000-000-001:MQ000-000-003 . ', ' . FM000-000-403 . ' ' . FM000-004-086 + + + + + LOOKUP_ID_USER(FM000-001-189, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-021, GET_ID_USER(self)) + CD000-004-344 ? 'Apt. ' . GQ000-000-014:MQ000-000-017 . '; ' : '' + (CD000-000-122) ? 'x' : '' + LOOKUP_ID_USER(FM000-001-455, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-472, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-823, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-824, GET_ID_USER(self)) + LOOKUP_ID_USER(FM000-003-805, GET_ID_USER(self)) + FM000-000-435 . ', ' . UCASE(FM000-000-436) . ' ' . FM000-000-437 + 'FM000-001-034'.' '.'FM000-001-035' + LOOKUP_ID_USER(FM000-003-804, GET_ID_USER(self)) + (CD000-000-007) ? SUB_STRING('GQ000-000-009:MQ000-000-012', 0, 3).'-'.SUB_STRING('GQ000-000-009:MQ000-000-012', 3,2).'-'.SUB_STRING('GQ000-000-009:MQ000-000-012', 5, 4) : ((CD000-004-348) ? 'applied for SSN' : ' ') + (CD000-000-046) ? 'GQ000-000-014:MQ000-000-017' : 'GQ000-000-012:MQ000-000-017' + CD000-000-046 ? UCASE(GQ000-000-014:MQ000-000-019) : '' + CD000-000-046 ? UCASE(GQ000-000-012:MQ000-000-019) : '' + CD000-000-046 ? GQ000-000-014:MQ000-000-018 : '' + CD000-000-046 ? GQ000-000-012:MQ000-000-018 : '' + CD000-000-046 ? GQ000-000-014:MQ000-000-120 : '' + CD000-000-046 ? GQ000-000-184:MQ000-000-120 : '' + CD000-000-046 ? FM000-007-594 : '' + CD000-000-046 ? JOIN(CN000-000-233, GQ000-000-012:MQ000-000-015, GQ000-000-012:MQ000-000-016, (CD000-004-312 ? ' Apt. '.GQ000-000-012:MQ000-000-017 : '')) : '' + + + GQ000-000-014:MQ000-000-015 . FM000-002-954 . FM000-002-955 + CD000-000-046 ? GQ000-000-014:MQ000-000-020 : '' + CD000-000-046 ? GQ000-000-012:MQ000-000-020 : '' + + + CD000-004-344 ? GQ000-000-014:MQ000-000-017 : '' + (CD000-011-319) ? 'FM000-003-071' : 'FM000-009-521' + 'FM000-003-071'.', APT# '.'FM000-003-072' + GQ000-000-001:MQ000-000-004 eq 'jr' ? 'O' : '' + (GQ000-000-002:MQ000-000-005 eq 'self') ? '' : GQ000-000-002:MQ000-000-005 + 'GQ000-000-003:MQ000-000-107' . '/' . 'GQ000-000-003:MQ000-000-006' . '/' . 'SUB_STRING(GQ000-000-003:MQ000-000-108, 2, 2)' + SUB_STRING(GQ000-002-543:MQ000-003-337, 0, 3) + COUNT_MEMBERS(IS000-000-853) + LOOKUP_ID_USER(CD000-001-721, CONTEXT_USER()) + + + + (CD000-000-046) ? ('GQ000-000-012:MQ000-000-015' . ' ' . 'GQ000-000-012:MQ000-000-016') : '' + (CD000-000-046) ? ('GQ000-000-012:MQ000-000-015' . ' ' . 'GQ000-000-012:MQ000-000-016' . (IS_NULL(GQ000-000-012:MQ000-000-017) ? ' ' :(' Apt# ' . 'GQ000-000-012:MQ000-000-017'))) : '' + (CD000-000-046) ? (GQ000-000-012:MQ000-000-018 . ', ' . UCASE(GQ000-000-012:MQ000-000-019) . ' ' . GQ000-000-012:MQ000-000-020) : ' ' + FM000-000-435 . ', ' . UCASE(FM000-000-436) . ' ' . FM000-000-437 + (CD000-000-046) ? ('GQ000-000-014:MQ000-000-015' . ' ' . 'GQ000-000-014:MQ000-000-016') : ('GQ000-000-012:MQ000-000-015' . ' ' . 'GQ000-000-012:MQ000-000-016') + (CD000-000-046) ? ('GQ000-000-014:MQ000-000-015' . ' ' . 'GQ000-000-014:MQ000-000-016' . (IS_NULL(GQ000-000-014:MQ000-000-017) ? ' ' :(' Apt# ' . 'GQ000-000-014:MQ000-000-017'))) : ('GQ000-000-012:MQ000-000-015' . ' ' . 'GQ000-000-012:MQ000-000-016' . (IS_NULL(GQ000-000-012:MQ000-000-017) ? ' ' :(' Apt# ' . 'GQ000-000-012:MQ000-000-017'))) + +
+
+ + + HAS_MEMBERS(FS000-000-765) + + CD000-000-001 + CD000-004-903 + CD000-000-122 + CD000-007-098 +CD000-009-106 + + CD000-000-007 + (CD000-000-121) && (CD000-000-122) + CD000-000-130 + NOT(CD000-000-007) + NOT(CD000-000-122) + CD000-000-135 + (CD000-000-220) || (CD000-000-221) + CD000-000-225 + CD000-002-087 + CD000-000-235 + CD000-000-235 && GQ000-001-469:MQ000-001-616 != 1 + CD000-013-088 + 'GQ000-000-002:MQ000-000-005' ne 'self' + CD000-000-247 + + CD000-001-721 + + CD000-001-120 + CD000-002-579 + CD000-003-446 + CD000-003-411 + CD000-000-235 + CD000-003-554 + CD000-003-712 + CD000-003-663 + CD000-002-579 + NOT(CD000-003-898) + CD000-000-007 + CD000-000-394 + CD000-004-990 + CD000-002-914 + CD000-002-611 + CD000-000-235 + CD000-002-577 + CD000-005-264 + CD000-001-307 + + CD000-006-003 + NOT(CD000-006-003) + NOT(CD000-000-122) + CD000-006-017 + CD000-006-027 + CD000-006-027 && GQ000-001-469:MQ000-001-616 != 1 + CD000-006-548 + 'GQ000-000-002:MQ000-000-005' ne 'self' + CD000-007-634 + + CD000-006-295 + NOT(CD000-006-984) + CD000-006-984 + CD000-006-972 + CD000-002-493 + CD000-000-001 + CD000-003-446 + CD000-003-411 + CD000-006-027 + CD000-007-080 + CD000-003-898 + CD000-003-712 + CD000-003-663 + CD000-006-972 + NOT(CD000-003-898) + CD000-006-003 + CD000-006-161 + CD000-007-480 + CD000-007-018 + CD000-000-000 + NOT(CD000-006-161) + CD000-006-984 + CD000-004-348 + CD000-002-577 + CD000-007-523 + CD000-007-518 + CD000-009-135 + CD000-009-071 + CD000-000-000 + CD000-009-223 + CD000-009-133 + CD000-009-134 + CD000-003-898 && CD000-009-091 && NOT(CD000-009-085) + CD000-000-001 + CD000-009-915 + CD000-000-122 && CD000-000-121 + CD000-003-599 + CD000-002-903 + CD000-013-088 + CD000-013-089 + CD000-010-448 + CD000-000-409 + + CONTEXT_ID_USER() == THIS_ID_USER() + + NOT(CD000-013-445) + CD000-013-449 + CD000-015-094 + CD000-001-722 + CD000-011-622 + + + CD000-013-748 + CD000-013-749 + +
+
+ CD000-000-001 + CD000-000-001 + CD000-000-001 + + + CD000-004-772 +
+
+
diff --git a/mode_bds.py b/mode_bds.py new file mode 100644 index 0000000..1b65080 --- /dev/null +++ b/mode_bds.py @@ -0,0 +1,71 @@ +import color, mode2 +from lex2 import Grammar, PatternRule, RegionRule + +class OpenTagGrammar(Grammar): + rules = [ + RegionRule(name=r'string', start=r'(?P["\'])', grammar=Grammar(), end=r'%(tag)s'), + PatternRule(name=r'namespace', pattern=r'[a-zA-Z_]+:'), + PatternRule(name=r'attrname', pattern=r'[^ =>\n]+(?==)'), + PatternRule(name=r'name', pattern=r'[^ =>\n]+'), + ] + +class StringGrammar(Grammar): + rules = [ + PatternRule(name=r'octal', pattern=r'\\[0-7]{3}'), + PatternRule(name=r'escaped', pattern=r'\\.'), + ] + +class BDSGrammar(Grammar): + rules = [ + RegionRule(name=r'comment', start=r''), + RegionRule(name=r'opentag', start=r'<', grammar=OpenTagGrammar(), end=r'/?>'), + PatternRule(name=r'closetag', pattern=r'< */ *[ =>\n]+ *>'), + PatternRule(name=r'delimiter', pattern=r'[\[\]\{\}\(\),\?:]'), + PatternRule(name=r'derived', pattern=r'(?:FM|CD|FS|FM|TA)[0-9]{3}-[0-9]{3}-[0-9]{3}'), + PatternRule(name=r'question', pattern=r'GQ[0-9]{3}-[0-9]{3}-[0-9]{3}:MQ[0-9]{3}-[0-9]{3}-[0-9]{3}'), + PatternRule(name=r'bdsfunc', pattern=r'[A-Z_][A-Z0-9_]+(?= *\()'), + PatternRule(name=r'perlfunc', pattern=r'[a-zA-Z_][a-zA-Z0-9_]+(?= *\()'), + PatternRule(name=r'misquoted', pattern=r"'[A-Z]{2}[0-9]{3}-[0-9]{3}-[0-9]{3}(?::[A-Z]{2}[0-9]{3}-[0-9]{3}-[0-9]{3})?'"), + PatternRule(name=r'misquoted', pattern=r'"[A-Z]{2}[0-9]{3}-[0-9]{3}-[0-9]{3}(?::[A-Z]{2}[0-9]{3}-[0-9]{3}-[0-9]{3})?"'), + RegionRule(name=r'string', start='"', grammar=StringGrammar(), end='"'), + RegionRule(name=r'string', start="'", grammar=Grammar(), end="'"), + PatternRule(name=r'operator', pattern=r'(?:>=|<=|>|<|==|&&|\|\||eq|ne)'), + ] + +class BDS(mode2.Fundamental): + grammar = BDSGrammar + opentoken = 'delimiter' + opentags = {'(': ')', '[': ']', '{': '}'} + closetoken = 'delimiter' + closetags = {')': '(', ']': '[', '}': '{'} + def __init__(self, w): + mode2.Fundamental.__init__(self, w) + self.add_bindings('close-paren', (')',)) + self.add_bindings('close-brace', ('}',)) + self.add_bindings('close-bracket', (']',)) + self.colors = { + 'comment.start': color.build('red', 'default'), + 'comment.null': color.build('red', 'default'), + 'comment.end': color.build('red', 'default'), + 'opentag.start': color.build('default', 'default'), + 'opentag.namespace': color.build('magenta', 'default'), + 'opentag.name': color.build('blue', 'default'), + 'opentag.attrname': color.build('blue', 'default'), + 'opentag.string.start': color.build('cyan', 'default'), + 'opentag.string.null': color.build('cyan', 'default'), + 'opentag.string.end': color.build('cyan', 'default'), + 'opentag.end': color.build('default', 'default'), + 'string.start': color.build('green', 'default'), + 'string.octal': color.build('magenta', 'default'), + 'string.escaped': color.build('magenta', 'default'), + 'string.null': color.build('green', 'default'), + 'string.end': color.build('green', 'default'), + 'derived': color.build('yellow', 'default'), + 'question': color.build('yellow', 'default'), + 'misquoted': color.build('yellow', 'red'), + 'bdsfunc': color.build('magenta', 'default'), + 'perlfunc': color.build('magenta', 'default'), + 'operator': color.build('magenta', 'default'), + } + def name(self): + return "BDS"