вторник, 19 января 2010 г.
пятница, 15 января 2010 г.
вторник, 12 января 2010 г.
Polymorphism.
There was my last day of annual leave yesterday.
bounded polymorphism,
F-bounded polymorphism,
match-bounded polymorphism
It is bedtime.
bounded polymorphism,
F-bounded polymorphism,
match-bounded polymorphism
It is bedtime.
суббота, 21 ноября 2009 г.
About syntax analizer in YAR Language
The YAR language syntax analizer supports for parsing methods:
-LL(1)
-CYK
-SLR,
-CLR(1)
-LARL(1)
-Simple precedence
-Operator precedence
-My extension for CLR method. I call it ECLR(1) method.
But YAR language now is being parsed by LARL(1) method.
Here is the semantic action sample
TTokenSequence.create(PNS_EXPR,[PTS_CONST_EXP_STRING],'',
function(LRAnalizer:TLRAnalizer):pointer
var value:TExprState;
begin
value.value:=LRAnalizer.StackValue[0].Lexeme;
value.ExprStateItem.TypeDesc:=StringTypeDesc;
PNS_EXPR.AttribitesList.Add(value);
result:=nil;
end
);
-LL(1)
-CYK
-SLR,
-CLR(1)
-LARL(1)
-Simple precedence
-Operator precedence
-My extension for CLR method. I call it ECLR(1) method.
But YAR language now is being parsed by LARL(1) method.
Here is the semantic action sample
TTokenSequence.create(PNS_EXPR,[PTS_CONST_EXP_STRING],'',
function(LRAnalizer:TLRAnalizer):pointer
var value:TExprState;
begin
value.value:=LRAnalizer.StackValue[0].Lexeme;
value.ExprStateItem.TypeDesc:=StringTypeDesc;
PNS_EXPR.AttribitesList.Add(value);
result:=nil;
end
);
пятница, 13 ноября 2009 г.
YAR Language enhancement
Now Supports for
-Integer,Float,String,Char,Boolean types
-Type inference
-Operator and functions overloads
-Integer,Float,String,Char,Boolean types
-Type inference
-Operator and functions overloads
вторник, 3 ноября 2009 г.
понедельник, 26 октября 2009 г.
Program language name
I choose the language name. So I call it YAR.
Here is the code sample that was succesfully executed today.
program Helloworld;
var a,b,c:integer;
d,ec,fg:float;
j,z,i:integer;
begin
a:=123;
b:=a;
write b;
write a+2*b;
c:=a+2*(b+2);
write c;
b:=321;
a:=c+100*2-a/(b-100)*200/300-400;
write a;
end
Here is the code sample that was succesfully executed today.
program Helloworld;
var a,b,c:integer;
d,ec,fg:float;
j,z,i:integer;
begin
a:=123;
b:=a;
write b;
write a+2*b;
c:=a+2*(b+2);
write c;
b:=321;
a:=c+100*2-a/(b-100)*200/300-400;
write a;
end
Подписаться на:
Сообщения (Atom)