Changes between Version 3 and Version 4 of MetaGrammar
- Timestamp:
- Mar 2, 2014, 11:07:35 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MetaGrammar
v3 v4 1 1 = Synt Meta-grammar = 2 2 3 The grammar exists in the 3 forms denoted as G1, G2 and G3. The G1 met 4 a-grammar form is designed for human experts. The meta-grammar form contains high-level generative constructs that reflect natural language phenomena (like word order constraints). From the G1 meta-grammar, the G2 grammar is automatically generated by expanding the meta-grammar rules.[[BR]] The G2 grammar form consists of context free rules with feature agreement tests and other contextual actions, this grammar is directly used by the Synt parser.[[BR]] 3 The grammar exists in the 3 forms denoted as G1, G2 and G3. The G1 meta-grammar form is designed for human experts. The meta-grammar form contains high-level generative constructs that reflect natural language phenomena (like word order constraints). From the G1 meta-grammar, the G2 grammar is automatically generated by expanding the meta-grammar rules.[[BR]] The G2 grammar form consists of context free rules with feature agreement tests and other contextual actions, this grammar is directly used by the Synt parser.[[BR]] 5 4 The G3 grammar consists is generated from the G2 grammar by expanding the feature agreement tests. This grammar form might be used only if there are no other contextual actions, hence it is not used anymore for Czech and Slovak. 6 5 … … 9 8 The meta-grammar consists of global order constraints that provide succession of given terminals. Meta-grammar contains special flags that impose partial restrictions to given non-terminals and terminals on the right side of the rule. 10 9 11 === Arrow Types ===1 10 === Flags === 11 We have two types of flags: head and reflexivity. And groupflag and getgroupflag functions. 12 13 === Arrow Types === 12 14 13 15 Different arrow marks (->, -->, ==>, ===>) are used in the grammar rules for specifying the rule type. The meaning of the arrows is as follows: "the thicker and longer the arrow the more actions are performed during rule translation": … … 35 37 The grammar contains several generative constructs starting with %list_* expression. This construct defines rule templates which automatically produce new rules for a list of the given non-terminals. 36 38 39 There are several functions: 40 * %list_coord - provides coordination on non-terminals 41 * %list_nocoord - provides no coordination on non-terminals 42 * %list_coord_case_number_gender - provides coordination of case, number and gender on non-terminals. The case, number and gender can be used respectively. 43 * %list_coord_propagate_plural - provides coordination on non-terminals and propagates plural. Can be used with case, number and gender. 37 44 === Rule groups === 38 45 … … 71 78 ==== Contextual actions ==== 72 79 80 * agree_case_and_propagate() - check the case and propagate the gender, number, case and pattern 81 * agree_case_and_propagate_semantic() - check the case and propagate semantic 82 * agree_case_and_propagate_plural() - check the case and propagate plural 83 * agree_number_gender_and_propagate() - check the number and gender and propagate gender, number, case and pattern 84 * agree_poss_number_gender_and_propagate() - check possible numbers and genders and propagate all possible genders, numbers, cases and patterns 85 * agree_case_number_gender_and_propagate() - check case, number, gender and propagate gender, number, case and pattern 86 * agree_case_number_gender_and_propagate_plural() - check case, number, gender and propagate plural 87 * agree_pred_copula() - 88 * agree_pred_subj() 89 * test_nominative() - test nominative 90 * test_genitive() - test genitive 91 * test_dative() - test dative 92 * test_instrumental() - test instrumental 93 * test_third_person() - test third person (he, she, it) 94 * test_singular() - test singular 95 * test_plural() - test plural 96 * test_comparative() - test comparative 97 * propagate() - propagate gender, number, case and pattern 98 * set_R() - set word as reflexive 99 * test_comma() - test comma in input 100 * test_deverbativum() - 101 * test_adverbium_time_local() 102 * test_nominative_instrumental() - test nominative and instrumental 103 * test_valencies() 104 * add_conjunction() 105 * test_comma_bracketing() 106 * clear_level() 107 * propagate_nothing() - no propagation of gender, number, case, pattern 108 73 109 ==== Dependency actions ==== 74 110