1樓:匿名使用者
bison 網上搜以下, 開源的
2樓:匿名使用者
請樓主描述清楚,以便我們能更好的做出回答!
求乙個c語言詞法分析器源**
3樓:回憶動畫
||我有,這是這學期剛做的,
#include
#include
#include
#include
#include
#include
using namespace std;
bool isletter(char ch)bool isdigit(char ch)bool isp(char ch)
bool isj(char ch)'||ch=='#') return true;
//else return false;
}bool isblank(char ch)int main()","#"};
int pos=0;
file *fp;
fp=fopen("d:\\in.txt","r");
ch0=fgetc(fp);
while(ch0!=eof)
src+=ch0;
ch0=fgetc(fp);
}src+='#';
cout<>ste;
break;}}
if(j==21)
// cout<<" ";
cout<>ste;
break;}}
cout<>ste;
break;}}
cout< continue; }else if(isblank(ch))}else ch=src[pos++]; }return 0; }還有執行效果圖,和實驗報告 ,你要的話留下郵箱 4樓:匿名使用者 #include #include using namespace std; #define max 22 char ch =' '; string key[15]=; int iskey(string c) int isdigit(char c) void analyse(file *fpin)else if(isletter(ch))fseek(fpin,-1l,seek_cur); if (iskey(arr)) cout<<"\n********************分析如下*********************"< analyse(fpin); fclose(fpin);} 5樓: 參照 c語言的詞法分析器和語法分析器有什麼區別? 6樓:匿名使用者 顧名思義,詞法分析器檢查的是詞法,語法分析器分析的是語法,什麼是詞法,什麼是語法你弄明白就知道了。 所謂詞法,源**由字元流組成,字元流中包括關鍵字,變數名,方法名,括號等等符號,其中變數名要滿足不能包括標點符號,不能以數字開頭的數字與字母的字串這個條件,對於括號要成對出現等等,這就是詞法; 而語法,詞法沒有問題才能進入語法分析,語法就是詞排列的方法,字面意義,比如一句中文:我吃蘿蔔,裡面有三個詞我 吃 蘿蔔,除了「我吃蘿蔔」外,這三個詞還可以組成,「蘿蔔吃我」「蘿蔔我吃」等,顯然按照中文文法,後面的兩句話是不對的,語法分析器就是分析類似這樣的語法的。 求乙個c語言詞法分析器源**。要求:輸入乙個.c的源程式,輸出該程式中所有變數。 7樓:木馬屠城了 首先做乙個字串陣列 char *keyword 裡面放入所有資料型別關鍵字,int,double什麼的。 然後一行一行處理,找裡面的關鍵字,找到以後順序往後找,將空格,逗號,等號作為間隔符。將分號作為結束標誌。 等號後面到下乙個逗號或者分號之間的都忽略掉,如果有括號(大中小),到下乙個括號之間的都忽略掉。 如果是long,unsigned,繼續分析後面是不是int。 基本就ok了。你要我幫你寫原始碼的話,沒那時間。 c語言詞法分析器 8樓:匿名使用者 識別轉義字元肯定要在詞法分析階段完成,就象識別單引號的字元、雙引號的字串、「專&&」屬、「||」、「+=」等運算符號一樣,必須在詞法分析階段完成。語義分析階段哪有閒工夫管這些枝節呢? 十六進位制和八進位製數雖然都是整數,但在詞法分析階段需要計算詞法值,而計算詞法值的演算法不同,所以也要分成不同的狀態處理。 格式控制 "%d,%lf\n" 在詞法分析階段,只把它當成乙個字串處理就好了,不用考慮字串的內容,那些內容是程式執行階段才有意義的,即使語法分析和語義分析階段也用不著考慮。 9樓:德克and德華 你是準備要幹什麼?乙個轉義序列『\n』相當於乙個char資料,跟單個字母『a』或者單個數字『1』佔同樣大小的記憶體。這對你有幫助麼? 10樓:匿名使用者 1)轉義符讀入時應該算兩個,但是經詞法識別後就是乙個了 2)對於數制問題,狀態圖從0開始,如果屬於0-7則轉入八進位制,如果屬於0-9,a-f則轉入十六進位制,不需要分開。 3)同1) 11樓:席蕾環千亦 發了哦,記得看一下。不知道合不合要求,這是我以前的實驗。 12樓:璩衛束運駿 我有完整的詞法分析源**,需要的話留郵箱我發給你 不過這麼大的乙個程式老師怎麼考啊? 應該簡單的偽**就行了吧~~看書上的就行了 最簡單的用法是用來測試sql語句指令碼。也可以用來sql指令碼中每塊的查詢效能等。詳細的還是參考相關教程比較好。這裡的答案是很零亂的。首先你確認是否安裝sql server資料庫 然後在開始選單 microsoft sql server 查詢分析器 登陸後輸入以上語句按f5執行 sql查詢分析器 裡... 第一題的答案應該是d.15 因為 017l表示的是八進位制的整形數,按十進位制輸出應該轉化一下。即 15 第二題的答案是d.顯示x 255 c語言是對應輸出的 第三題的答案是c.2 4 由題得一級指標p指向a 陣列的首位址 p既是a 0 的內容 二級指標k指向p,k是p的內容 因為在上一次的輸出中p... c 編譯器是c語言編bai譯器的超集,所以du你去下個visual studio就好zhi 了,肯定能編譯c程式。dao 目前最流行的c語言專編譯器有以下幾種屬 1.gnu compiler collection 或稱 gcc2.microsoft c 或稱 ms c3.borland turbo ...sql查詢分析器怎麼用,sql查詢分析器 裡執行指令碼怎麼操作
c語言程式分析題,C語言程式分析題
急求c語言網路編譯器,急求C語言網路編譯器