亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? evfunction.pas

?? 表達(dá)式計算DEMO 利用詞法分析器原理 以及后綴表達(dá)式計算 暫不支持函數(shù)以及乘號省略
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
                            NextToken := [tkNumber,
                                          tkLBracket];
                       end;
                  ')': begin
                            if not (tkRBracket in
                                   NextToken) then
                               begin
                                    Result := I;
                                    InList.Clear;
                                    Break;
                               end;
                            Dec(iBracket);
                            Token.Token := tkRBracket;
                            InList.Add(NewToken(@Token));
                            NextToken := [tkAdd,
                                          tkSub,
                                          tkMul,
                                          tkDiv,
                                          tkRBracket];
                       end;
                  ' ': ;
                  else begin
                            Result := I;
                            InList.Clear;
                            Break;
                       end;
                end;
                Inc(I);
           end;
     if iBracket > 0 then
        begin
             Result := iLen;
             InList.Clear;
        end;
end;

function InsideToSuffix(InList: TList): String;
var
   I: Integer;
   Stack: TStack;
   Token: PToken;
   sTemp, sSymbol: String;
begin
     sTemp := '';
     Stack := TStack.Create;
     For I := 0 to InList.Count - 1 do
         begin
              Token := PToken(InList.Items[I]);
              Case Token^.Token of
                tkNumber: sTemp := sTemp +
                                   FloatToStr(Token.DValue) +
                                   ' ';
                tkAdd: if not IsEmpty(Stack) then
                          if Peek(Stack) = '(' then
                             Push(Stack, '+')
                             else
                             begin
                                  sSymbol := Pop(Stack);
                                  sTemp := sTemp +
                                           sSymbol +
                                           ' ';
                                  Push(Stack, '+');
                             end
                          else
                          Push(Stack, '+');
                tkSub: if not IsEmpty(Stack) then
                          if Peek(Stack) = '(' then
                             Push(Stack, '-')
                             else
                             begin
                                  sSymbol := Pop(Stack);
                                  sTemp := sTemp +
                                           sSymbol +
                                           ' ';
                                  Push(Stack, '-');
                             end
                          else
                          Push(Stack, '-');
                tkMul: if not IsEmpty(Stack) then
                          begin
                               sSymbol := Peek(Stack);
                               if sSymbol = '(' then
                                  Push(Stack, '*')
                                  else
                                  if CompareSymbol('*',
                                                   sSymbol) then
                                     Push(Stack, '*')
                                     else
                                     begin
                                          sSymbol := Pop(Stack);
                                          sTemp := sTemp +
                                                   sSymbol +
                                                  ' ';
                                          Push(Stack, '*');
                                     end;
                          end
                          else
                          Push(Stack, '*');
                tkDiv: if not IsEmpty(Stack) then
                          begin
                               sSymbol := Peek(Stack);
                               if sSymbol = '(' then
                                  Push(Stack, '/')
                                  else
                                  if CompareSymbol('/',
                                                   sSymbol) then
                                     Push(Stack, '/')
                                     else
                                     begin
                                          sSymbol := Pop(Stack);
                                          sTemp := sTemp +
                                                   sSymbol +
                                                  ' ';
                                          Push(Stack, '/');
                                     end;
                          end
                          else
                          Push(Stack, '/');
                tkLBracket: Push(Stack, '(');
                tkRBracket: While Stack.Count > 0 do
                                  begin
                                       sSymbol := Pop(Stack);
                                       if sSymbol = '(' then Break;
                                       sTemp := sTemp +
                                                sSymbol +
                                                ' ';
                                  end;
              end;
         end;
     For I := 1 to Stack.Count do
         begin
              sSymbol := Pop(Stack);
              sTemp := sTemp +
                       sSymbol +
                       ' ';
         end;
     Stack.Free;
     Result := Trim(sTemp);
end;

function Evaluate(SuExpr: String): Double;
var
   sTemp: String;
   Stack: TStack;
   I, iLen: Integer;
   dTempA, dTempB, dResult: Double;
begin
     I := 1;
     iLen := Length(SuExpr);
     Stack := TStack.Create;
     While I <= iLen do
           begin
                Case SuExpr[I] of
                  '0'..'9': begin
                                 sTemp := '';
                                 While I <= iLen do
                                       begin
                                            if SuExpr[I] in
                                               ['0'..'9', '.'] then
                                               sTemp := sTemp +
                                                        SuExpr[I]
                                               else
                                               begin
                                                    Dec(I);
                                                    Break;
                                               end;
                                            Inc(I);
                                       end;
                                 Push(Stack, sTemp);
                            end;
                  '+': begin
                            dTempA := StrToFloat(Pop(Stack));
                            dTempB := StrToFloat(Pop(Stack));
                            dResult := dTempB + dTempA;
                            Push(Stack,
                                 FloatToStr(dResult));
                       end;
                  '-': begin
                            dTempA := StrToFloat(Pop(Stack));
                            dTempB := StrToFloat(Pop(Stack));
                            dResult := dTempB - dTempA;
                            Push(Stack,
                                 FloatToStr(dResult));
                       end;
                  '*': begin
                            dTempA := StrToFloat(Pop(Stack));
                            dTempB := StrToFloat(Pop(Stack));
                            dResult := dTempB * dTempA;
                            Push(Stack,
                                 FloatToStr(dResult));
                       end;
                  '/': begin
                            dTempA := StrToFloat(Pop(Stack));
                            dTempB := StrToFloat(Pop(Stack));
                            dResult := dTempB / dTempA;
                            Push(Stack,
                                 FloatToStr(dResult));
                       end;
                end;
                Inc(I);
           end;
     Result := StrToFloat(Pop(Stack));
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av色综合久久天堂av综合| 蜜臀久久99精品久久久久宅男| 欧美精品视频www在线观看 | 亚洲国产精品激情在线观看| 欧美在线视频不卡| 国产成人综合在线观看| 午夜精品福利一区二区三区av | 夜夜揉揉日日人人青青一国产精品| 日韩欧美一级二级| 91成人免费在线| 粉嫩一区二区三区性色av| 免费观看在线综合| 亚洲丶国产丶欧美一区二区三区| 国产精品理论片| 久久久精品综合| 日韩一区二区视频在线观看| 欧美午夜寂寞影院| 一本久久精品一区二区| av网站免费线看精品| 国产成人亚洲综合a∨猫咪| 蜜桃一区二区三区四区| 午夜欧美电影在线观看| 一区二区三区日本| **欧美大码日韩| 国产精品久久久久久久午夜片 | 亚洲国产日韩av| 亚洲色图视频免费播放| 国产精品卡一卡二卡三| 国产午夜精品一区二区| www激情久久| 日韩欧美一区二区三区在线| 欧美日韩国产精品自在自线| 在线观看日韩毛片| 在线精品观看国产| 欧美自拍偷拍午夜视频| 在线精品视频小说1| 91国偷自产一区二区三区观看| 91在线视频免费观看| www.av精品| 91麻豆精东视频| 色欲综合视频天天天| 色综合久久久久综合体桃花网| 成人av网站在线| 99麻豆久久久国产精品免费优播| 99re成人精品视频| 色吊一区二区三区| 欧美午夜寂寞影院| 7777精品伊人久久久大香线蕉| 91精品国模一区二区三区| 日韩精品一区二区三区视频在线观看 | 在线免费观看日本一区| 色综合久久久久综合| 欧美三级中文字幕| 日韩一级片在线观看| 精品久久国产老人久久综合| 精品日韩在线观看| 中文字幕欧美激情| 夜夜嗨av一区二区三区中文字幕| 亚洲va韩国va欧美va| 精品影视av免费| 国产黄人亚洲片| 91麻豆福利精品推荐| 欧美精品丝袜久久久中文字幕| 欧美成人三级在线| 国产精品系列在线| 亚洲国产视频a| 国产美女在线观看一区| 99精品视频在线免费观看| 欧美日韩综合在线| 久久亚洲免费视频| 亚洲精品乱码久久久久| 日产国产欧美视频一区精品| 国产一区二区三区日韩| 91视频91自| 欧美tickle裸体挠脚心vk| 国产精品女同互慰在线看 | 国产最新精品免费| 一本色道久久综合精品竹菊| 欧美一区二区三区色| 国产精品人妖ts系列视频| 亚洲国产精品久久艾草纯爱| 国产一区二区伦理| 欧美在线观看视频一区二区三区| 精品国产百合女同互慰| 亚洲图片激情小说| 久久国产精品区| 91丨九色丨蝌蚪富婆spa| 日韩视频免费观看高清完整版| 中文一区二区在线观看| 日韩成人精品在线| 成人综合在线观看| 日韩女优电影在线观看| 亚洲三级在线免费| 国产一区二区三区免费看| 在线观看日韩国产| 国产精品久久网站| 国内精品久久久久影院薰衣草| 欧洲一区二区av| 日本一区二区成人| 老司机免费视频一区二区| 欧美综合在线视频| 中文字幕一区二区三区在线不卡 | 2019国产精品| 视频一区视频二区中文| 99久久婷婷国产| 久久蜜桃av一区二区天堂| 亚洲mv在线观看| 色婷婷精品久久二区二区蜜臂av| 国产肉丝袜一区二区| 老司机精品视频在线| 精品污污网站免费看| ●精品国产综合乱码久久久久 | 91香蕉视频污| 欧美国产国产综合| 国产精品白丝av| 日韩视频不卡中文| 亚洲123区在线观看| 在线观看网站黄不卡| 亚洲视频狠狠干| 北岛玲一区二区三区四区| 亚洲精品在线三区| 久久疯狂做爰流白浆xx| 91麻豆精品国产综合久久久久久| 亚洲精品欧美二区三区中文字幕| eeuss鲁片一区二区三区在线看 | 亚洲福利视频三区| 欧美伊人久久久久久久久影院| 亚洲日本在线天堂| 99久久亚洲一区二区三区青草| 国产精品剧情在线亚洲| 岛国精品在线播放| 国产欧美1区2区3区| 丁香婷婷深情五月亚洲| 国产三级精品三级在线专区| 国产精品12区| 欧美激情一区二区三区在线| 成人丝袜高跟foot| 国产精品麻豆久久久| 成人福利在线看| 亚洲欧美日韩一区二区三区在线观看| 成人精品鲁一区一区二区| 最新国产精品久久精品| 91在线一区二区三区| 一区二区三区日韩欧美| 欧美日本一区二区在线观看| 日韩精品国产欧美| 欧美成人在线直播| 国产在线视频一区二区| 欧美国产精品久久| 91猫先生在线| 午夜精品福利视频网站| 欧美成人精精品一区二区频| 精一区二区三区| 欧美激情一区在线观看| 色域天天综合网| 秋霞成人午夜伦在线观看| 精品奇米国产一区二区三区| 国产精品一二三四区| 中文字幕一区二区三中文字幕| 在线免费精品视频| 蜜桃精品视频在线观看| 国产欧美日本一区视频| 91麻豆产精品久久久久久 | 精品综合久久久久久8888| 久久精品亚洲国产奇米99| aaa国产一区| 午夜影院久久久| 久久久国产精品麻豆| 色哟哟国产精品| 青青草国产成人99久久| 欧美国产一区视频在线观看| 91黄视频在线| 国内精品免费在线观看| 亚洲色大成网站www久久九九| 在线不卡免费av| 福利一区福利二区| 亚洲中国最大av网站| 久久先锋影音av| 欧美自拍偷拍一区| 国产福利不卡视频| 亚洲国产欧美在线人成| 久久久欧美精品sm网站| 欧美日韩在线免费视频| 国产精品一区久久久久| 亚洲18女电影在线观看| 亚洲国产精品成人综合 | 成人深夜在线观看| 手机精品视频在线观看| 国产精品成人免费在线| 日韩欧美在线网站| 91高清视频免费看| 国产成人a级片| 日本大胆欧美人术艺术动态| 自拍偷拍亚洲综合| 精品精品欲导航| 欧美日韩免费观看一区二区三区| 国产成人免费网站| 蜜桃久久av一区| 性感美女久久精品| 亚洲三级在线免费|