postFix.push("define_constructor");
MetCon=false;</action>
<symbol>FuncBody</symbol>
<action>if(!ct.EndConstructor()){ti.put(0,0,0,0,"method Constructor error");
return false;}
postFix.push("define_constructor_end");
postFix.push(labels.pop());</action>
</rightPart>
</rule>
<rule for='Classes' leftPart='MethodOrConstrunctor'>
<rightPart>
<action>postFix.push(currentLexem.textOfWord); prog=prog+" "+currentLexem.textOfWord;</action>
<symbol>id</symbol>
<symbol>BasicEnd</symbol>
</rightPart>
</rule>
<rule for='Classes' leftPart='params'>
<rightPart>
</rightPart>
<comment>пустые параметры</comment>
</rule>
<rule for='Classes' leftPart='params'>
<rightPart>
<symbol>identifier</symbol>
<symbol>otherparams</symbol>
</rightPart>
<comment>тип идентификатор и другие параметры</comment>
</rule>
<rule for='Classes' leftPart='GramaConstruction'>
<rightPart>
<symbol>BasePart</symbol>
<symbol>GramaConstruction</symbol>
</rightPart>
<comment>Пошло тело или что,то вроде того</comment>
</rule>
<rule for='Classes' leftPart='GramaConstruction'>
<rightPart>
</rightPart>
</rule>
<rule for='Classes' leftPart='MethodEnd'>
<rightPart>
<string>;</string>
</rightPart>
</rule>
<rule for='Classes' leftPart='MethodEnd'>
<rightPart>
</rightPart>
</rule>
<rule for='Classes' leftPart='identifier'>
<rightPart>
<action>postFix.push(currentLexem.textOfWord);prog=prog+" "+currentLexem.textOfWord+" ";</action>
<symbol>id</symbol>
<action>postFix.push(currentLexem.textOfWord);prog=prog+" "+currentLexem.textOfWord+" ";</action>
<symbol>id</symbol>
<action>if(MetCon){
if(!ct.AddMethodParam(postFix.get(postFix.size()-2).toString(),postFix.get(postFix.size()-1).toString()))
ti.put(0,0,0,0,"Method param redef");
}else{
if(!ct.AddConstructorParam(postFix.get(postFix.size()-2).toString(),postFix.get(postFix.size()-1).toString()))
ti.put(0,0,0,0,"Constructor param redef");
};</action>
<action>tetrades.add(new Tetrade("DEFINE_PARAM", postFix.get(postFix.size()-2).toString(),postFix.get(postFix.size()-1).toString(),""));
postFix.push("define_param");</action>
</rightPart>
</rule>
<rule for='Classes' leftPart='identifier'>
<rightPart>
<action>postFix.push(currentLexem.textOfWord);</action>
<symbol>TypeId</symbol>
<action>postFix.push(currentLexem.textOfWord);prog=prog+" "+currentLexem.textOfWord+" ";</action>
<symbol>id</symbol>
<action>if(MetCon){
if(!ct.AddMethodParam(postFix.get(postFix.size()-2).toString(),postFix.get(postFix.size()-1).toString()))
ti.put(0,0,0,0,"Method param redef");
}else{
if(!ct.AddConstructorParam(postFix.get(postFix.size()-2).toString(),postFix.get(postFix.size()-1).toString()))
ti.put(0,0,0,0,"Constructor param redef");
};</action>
<action>tetrades.add(new Tetrade("DEFINE_PARAM", postFix.get(postFix.size()-2).toString(),postFix.get(postFix.size()-1).toString(),""));postFix.push("define_param");</action>
</rightPart>
</rule>
<rule for='Classes' leftPart='otherparams'>
<rightPart>
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.