Changes between Version 3 and Version 4 of MetaGrammar


Ignore:
Timestamp:
Mar 2, 2014, 11:07:35 PM (10 years ago)
Author:
xmedved1
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MetaGrammar

    v3 v4  
    11= Synt Meta-grammar =
    22
    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]]
     3The 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]]
    54The 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.
    65
     
    98The 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.
    109
    11 === Arrow Types ===1
     10=== Flags ===
     11We have two types of flags: head and reflexivity. And groupflag and getgroupflag functions.
     12
     13=== Arrow Types ===
    1214
    1315Different 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":
     
    3537The 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.
    3638
     39There 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.
    3744=== Rule groups ===
    3845
     
    7178==== Contextual actions ====
    7279
     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
    73109==== Dependency actions ====
    74110