亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
久久精品国产**网站演员| 一区二区理论电影在线观看| 久久爱www久久做| 欧美xxx久久| 国产综合久久久久影院| 国产欧美精品在线观看| 成人18视频日本| 亚洲一区免费在线观看| 欧美一区二区免费视频| 韩国av一区二区三区| 中文字幕精品三区| 91麻豆高清视频| 日韩av高清在线观看| 欧美精品一区二区三| 暴力调教一区二区三区| 亚洲图片欧美视频| 久久色.com| 91在线云播放| 麻豆成人综合网| 国产精品理论在线观看| 欧美综合天天夜夜久久| 美美哒免费高清在线观看视频一区二区| 精品国产免费人成在线观看| av在线不卡观看免费观看| 日韩精品国产欧美| 国产精品免费视频网站| 欧美精品三级在线观看| 国产露脸91国语对白| 一级女性全黄久久生活片免费| 日韩免费在线观看| 日本久久电影网| 国产激情一区二区三区四区 | 成人免费视频一区二区| 亚洲欧洲日产国码二区| 制服.丝袜.亚洲.中文.综合| 粉嫩久久99精品久久久久久夜| 一区二区理论电影在线观看| 高清不卡一二三区| 日韩一区精品字幕| 欧美怡红院视频| 日本aⅴ免费视频一区二区三区| 蜜臀久久久久久久| 欧美日韩精品专区| 欧美久久久久久蜜桃| 亚洲最色的网站| 欧美伊人精品成人久久综合97| 久久99精品国产麻豆不卡| 精品噜噜噜噜久久久久久久久试看 | 日本欧美韩国一区三区| 美女网站色91| 久久综合久久综合亚洲| 国产91丝袜在线播放0| 国产精品久久久久久久蜜臀| 91麻豆免费看片| 午夜精品久久一牛影视| 中文字幕中文在线不卡住| 色妹子一区二区| 日韩精品视频网| 国产亚洲人成网站| 在线免费不卡视频| 久久99精品国产| 成人黄色小视频| 欧美在线一区二区三区| 午夜精品久久久久影视| 中文字幕日韩av资源站| 亚洲成人一二三| 91精品国产色综合久久不卡蜜臀 | 国产亚洲精品bt天堂精选| 床上的激情91.| 国产精品一区久久久久| 久久久不卡网国产精品一区| 懂色一区二区三区免费观看| 国产成人av电影免费在线观看| 开心九九激情九九欧美日韩精美视频电影 | 日韩激情中文字幕| 欧美成人国产一区二区| 在线观看精品一区| 91色婷婷久久久久合中文| 成人精品在线视频观看| 白白色 亚洲乱淫| 波多野结衣中文字幕一区| 国产伦精品一区二区三区在线观看| 天天影视网天天综合色在线播放| 五月激情丁香一区二区三区| 日日嗨av一区二区三区四区| 午夜天堂影视香蕉久久| 视频一区在线视频| 人人狠狠综合久久亚洲| 麻豆一区二区在线| 精品综合久久久久久8888| 狠狠色狠狠色综合| 高清不卡在线观看av| 成人在线综合网| 色综合久久天天| 欧美影院精品一区| 91精品国产欧美一区二区成人| 制服.丝袜.亚洲.另类.中文| 日韩欧美卡一卡二| 26uuu精品一区二区| 中国色在线观看另类| 亚洲精品视频免费观看| 午夜亚洲国产au精品一区二区| 日本成人在线看| 丰满放荡岳乱妇91ww| 日本道色综合久久| 日韩三级av在线播放| 国产人伦精品一区二区| 亚洲欧美色一区| 久久99国产精品尤物| av在线不卡观看免费观看| 69久久99精品久久久久婷婷| 久久久亚洲精品石原莉奈| 一区二区在线观看免费视频播放| 五月婷婷久久综合| 国产激情偷乱视频一区二区三区| 91麻豆精品视频| 日韩精品一区二区三区在线| 国产精品久久久久aaaa| 伦理电影国产精品| 色婷婷精品大视频在线蜜桃视频| 欧美一区二区三区公司| 国产精品全国免费观看高清 | 日日摸夜夜添夜夜添亚洲女人| 国产经典欧美精品| 91精品一区二区三区在线观看| 欧美激情自拍偷拍| 日韩精品一二区| 一本久久a久久精品亚洲| 精品国产一区二区精华| 亚洲高清免费在线| 波多野结衣亚洲| 久久综合99re88久久爱| 三级影片在线观看欧美日韩一区二区| 国产精品综合网| 91精品国产色综合久久不卡蜜臀| 亚洲美女在线国产| 成人黄色网址在线观看| 久久综合色播五月| 男女男精品视频网| 欧美日本一区二区在线观看| 中文字幕视频一区| 国产福利一区二区三区视频在线| 欧美精品免费视频| 亚洲精品精品亚洲| 99re这里只有精品6| 国产拍揄自揄精品视频麻豆| 九九国产精品视频| 日韩欧美中文一区| 日欧美一区二区| 欧美日韩免费视频| 一级中文字幕一区二区| 91免费国产在线| 中文字幕一区二区三区在线观看| 国产一区欧美一区| 精品成人a区在线观看| 蜜臀av在线播放一区二区三区| 欧美少妇性性性| 无码av免费一区二区三区试看| 在线观看视频欧美| 亚洲午夜久久久久久久久电影院 | 高清av一区二区| 国产视频在线观看一区二区三区 | 夜夜精品浪潮av一区二区三区| 99视频一区二区| 亚洲色图欧美偷拍| 一本色道久久综合亚洲91| 中国色在线观看另类| 97国产一区二区| 亚洲免费av高清| 欧美日韩一二三| 日本中文字幕一区二区视频 | 麻豆精品视频在线观看免费| 91视频在线观看| 中文字幕中文字幕一区| 99视频在线精品| 一区二区三区免费网站| 欧美日韩亚洲综合一区| 日韩精品久久理论片| 日韩午夜激情视频| 国产精品亚洲专一区二区三区| 久久综合色8888| www.欧美日韩国产在线| 国产精品久久看| 欧美日韩一卡二卡三卡| 捆绑紧缚一区二区三区视频| 久久午夜国产精品| 91在线免费看| 日韩国产欧美一区二区三区| ww久久中文字幕| 99久久精品免费看| 日韩中文字幕不卡| 久久人人爽爽爽人久久久| 91社区在线播放| 日本不卡一区二区三区高清视频| 久久午夜国产精品| 色中色一区二区| 伦理电影国产精品| 中文字幕在线一区| 欧美一区二区三区在线| 成人一区二区在线观看|