、該個詞法分析器要求至少能夠識別以下幾類單詞: a. 關鍵字:else if int return void while共6個,所有的關鍵字都是保留字,并且必須是小寫; b. 標識符:識別與C語言詞法規定相一致的標識符,通過下列正則表達式定義:ID = letter (letter | digit)*; c. 常數:NUM=(+ | - |ε)digit digit*(.digit digit* |ε)(e(+ | - |ε) digit digit* |ε),letter = a|..|z|A|..|Z|,digit = 0|..|9,包括整數,如123, -123, +123等;小數,如123.45, +123.45, -123.45;科學計數法表示的常數,如+1.23e3,-2.3e-9; d. 專用符號:+ - * / < <= > >= == != = , ( ) [ ] { } /* */;
上傳時間: 2013-12-08
上傳用戶:gtf1207
對PL0原編譯器進行了以下的擴充:1.增加以下保留字else(elsesym), for(forsym),to(tosym),downto(downtosym),return(returnsym),[(lmparen),](rmparen) 2.增加了以下的運算符:+=(eplus),-=(eminus),++(dplus),--(dminus) 取址運算符&(radsym),指向運算符@(padsym) 3.修改單詞:修改不等號#為<> 4.擴充語句:(1)增加了else子句 (2)增加了for語句 5.增加運算:(1).++運算 (2).--運算;(3).+=運算 (4).-=運算;(5).&取址運算; (6).@指向運算; 6.增加類型:(1).增加多維數組a[i1][i2][i3]……[i(n-1)][i(n-2)][in] (2).增加指針類型(任何變量都能存放指針,但不支持指針的指針,如b:=@@a應該改寫為c:=@a,b:=@c) 7.將過程procedure擴展為函數:(1).允許定義過程時在其后加參數(var a, var b,……..,var n) (2)允許通過指針向函數形式參數傳地址;(3)允許返回值;可以用 a:=p(a,b,c….,n) 返回
標簽: downtosym returnsym elsesym downto
上傳時間: 2016-07-02
上傳用戶:saharawalker
輕易學好C++編程技巧 - 進楷 (香港科技大學筆記 19課) 內容包括 1) base C++ review, 2) Pointers and Dynamic Objects, 3) Recursion,Linked Lists, 4) Stacks and Queues, 5) Algorithm Analysis, 6) Insertion Sort and Mergesort, 7) Quicksort, 8) Heaps and Heapsort, 9) Lower Bound of Sorting and Radix Sort, 10) Binary Trees and Binary Search Trees 11) AVL Trees, 12) B+ Trees 13) Graphs and Breadth-First Search 14) Depth-First Search 15) Connected Components, Directed Graphs, 16) Topological Sort 17) Hashing 18) Pattern Matching 19) Additional Review
標簽: Pointers Dynamic Objects review
上傳時間: 2014-10-10
上傳用戶:chfanjiang
這是一個三次樣條插值的.m程序 輸入的是一個二維數組A(Nx2) 插值方法為: S(x) = A(J) + B(J)*( x - x(J) ) + C(J)*( x - x(J) )**2 +D(J) * ( x - x(J) )**3 for x(J) <= x < x(J + 1)
上傳時間: 2013-12-14
上傳用戶:gengxiaochao
移位乘法器的輸入為兩個4位操作數a和b,啟動乘法器由stb控制,clk信號提供系統定時。乘法器的結果為8位信號result,乘法結束后置信號done為1. 乘法算法采用原碼移位乘法,即對兩個操作數進行逐位的移位相加,迭代4次后輸出結果。具體算法: 1. 被乘數和乘數的高位補0,擴展成8位。 2. 乘法依次向右移位,并檢查其最低位,如果為1,則將被乘數和部分和相加,然后將被乘數向左移位;如果為0,則僅僅將被乘數向左移位。移位時,被乘數的低端和乘數的高端均移入0. 3. 當乘數變成全0后,乘法結束。
上傳時間: 2014-01-03
上傳用戶:星仔
Thinking in Java, 3rd ed. Revision 4.0 Preface Introduction 1: Introduction to Objects 2: Everything is an Object 3: Controlling Program Flow 4: Initialization & Cleanup 5: Hiding the Implementation 6: Reusing Classes 7: Polymorphism 8: Interfaces & Inner Classes 9: Error Handling with Exceptions 10: Detecting Types 11: Collections of Objects 12: The Java I/O System 13: Concurrency 14: Creating Windows & Applets 15: Discovering Problems 16: Analysis and Design A: Passing & Returning Objects B: Java Programming Guidelines C: Supplements D: Resources Index
標簽: Introduction Thinking Revision Preface
上傳時間: 2014-07-13
上傳用戶:netwolf
CAN51開發板功能 1、 USB或DC+5V供電; 2、 89c52+sja1000+tja1050(tja1040)(p82c250);89c52+mcp2515+tja1050(tja1040)(p82c250);通過跳鍵選擇sja1000或 mcp2515,用戶任選一種CAN控制芯片; 3、 支持RS232/422/485總線與CAN總線相互轉換; 4、 CAN總線波特率可調:20,40,50,80,100,125,200,250,400,500,666,800,1000Kbit/s 5、 提供電路圖; 6、 提供源程序:basican和pelican模式(CAN2.0A和CAN2.0B),c語言和匯編語言,程序注釋詳盡; 7、 成對購買開發板可以實現:A開發板發送數據,B開發板接收數據,并把接收到的數據通過串口上傳到計算機顯示;A開發板上短路鍵的狀態,可以通過CAN總線發送給B開發板,通過B開發板LED燈的亮滅,顯示A開發板上短路鍵的狀態; 8、 提供技術支持,接受CAN開發項目;
上傳時間: 2016-11-22
上傳用戶:fxf126@126.com
EhLib 4.2.16 中文漢化版 (Faceker.com 修改版) 1. DataService\EhLibADO.pas 第40行,ADODataSetDriverName函數: 原:Result := MSACCESS 現:Result := MSSQL 功能:字符串、日期界定符匹配(STFilter.Local=False情況下) 2.Common\EhLibConsts.pas 功能:常數漢化 3.Common\DBGridEhFindDlgs.pas\dfm A、FillColumnsList函數: 原:cbFindIn.Items.AddObject( <All> , nil) 現:cbFindIn.Items.AddObject(‘<全部>’, nil) B、界面中ComboBox中Items及KeyItems及Text漢化; C、主界面漢化; 4.Common\PrnDgDlg.pas\dfm 功能:界面漢化 5.Common\PrvFrmEh.pas\dfm 功能:界面漢化 6.Common\PrViewEh.pas 327行 TPreviewBox.Create 方法. 由 FViewMode = vmFullPage 改為 FViewMode = vm100 7.Common\DBUtilsEh.pas GetOneExpressionAsLocalFilterString 和 GetOneExpressionAsSQLWhereString 函數 功能:查詢行字符串查詢默認為LIKE查詢. 相關詳細更新信息請查看:http://www.Faceker.com 。
標簽: DataServiceEhLibADO Faceker EhLib com
上傳時間: 2013-12-27
上傳用戶:ztj182002
Problem B:Longest Ordered Subsequence A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK), where 1 <= i1 < i2 < ... < iK <= N. For example, sequence (1, 7, 3, 5, 9, 4, 8) has ordered subsequences, e. g., (1, 7), (3, 4, 8) and many others. All longest ordered subsequences are of length 4, e. g., (1, 3, 5, 8).
標簽: Subsequence sequence Problem Longest
上傳時間: 2016-12-08
上傳用戶:busterman
1、編寫一個程序algo3-1.cpp,實現順序棧的各種基本運算,并在此基礎上設計一個主程序實現如下功能: (1)初始化棧S。 (2)判斷棧S是否非空。 (3)依次進棧元素a,b,c,d,e。 (4)判斷棧S是否非空。 (5)輸出棧的長度。 (6)輸出從棧頂到棧底的元素。 (7)輸出出棧序列。 (8)判斷棧S是否非空。 (9)釋放棧
上傳時間: 2016-12-11
上傳用戶:13160677563