當前位置:首頁 » 操作系統 » 法解析源碼

法解析源碼

發布時間: 2022-04-23 20:56:35

① 沒有源碼 如何解析json文檔

一般json文檔的格式是屬姓名:屬性值的,那麼解析json文檔就可以用java的api來解析,首先用輸出流讀這個json文檔文件,把數據存放到map中,作一些處理。在調用這個解析方法,可以給出了屬性名,也就得到了屬性值。這個json文檔就解析了。

② 已知一個exe文件,如何解析出它的源碼

用eXeScope這個軟體可以反編譯

③ 怎麼解析源代碼

貼出來讓高手幫你看看咯
語言學的過關是最基本的

④ 如何解析打包的jar文件 獲取源碼

每一個jar都有對應的源碼的zip文件,這個文件需要另外下載。
然後在java builder path 的libraries頁,點開需要關聯源碼的jar的+號,選中source attachment,點擊edit按鈕,然後選中源碼路徑即可。

例如,jdk的源碼為jdk安裝目錄下src.zip,按上述方法關聯。 第三方包,下載源碼後關聯。

⑤ 源代碼分析方法

可到網路上搜一搜,也許有幫助

⑥ 磁力解析php源碼~呢

概括起來兩個方法吧。方法一$string = '';$string = preg_replace('/[abc]+/i','',$string);方法二把字元串轉化成數組$arr = str_split($string);foreach( $arr as $key => $value ){ if( in_array($value,array('a','b','c')) ){ unset($arr[$key]); }}$string = implode('',$arr);強烈推薦方法一,方法二不支持字元串中有中文。
大概就是這樣的,建議你去後盾人那學習最近聽說他們在搞實訓班培訓的活動

c語言詞法分析器、語法分析器、語義分析器源碼

bison 網上搜以下, 開源的

⑧ 求一個C語言詞法分析器源代碼。要求:輸入一個.c的源程序,輸出該程序中所有變數。

首先做一個字元串數組
char *keyword[] 裡面放入所有數據類型關鍵字,int,double什麼的。
然後一行一行處理,找裡面的關鍵字,找到以後順序往後找,將空格,逗號,等號作為間隔符。將分號作為結束標志。
等號後面到下一個逗號或者分號之間的都忽略掉,如果有括弧(大中小),到下一個括弧之間的都忽略掉。
如果是long,unsigned,繼續分析後面是不是int。
基本就ok了。你要我幫你寫源碼的話,沒那時間。

⑨ 求編譯原理的詞法分析器源碼

/* 我上編譯原理課時的第一次作業就是這個,flex源碼. */
%{
#include<math.h>
int num_lines=0;
%}
DIGIT [0-9]
ID [a-zA-Z_][a-zA-Z0-9]*
%%
"#include" {
printf("<包含頭文件,請手動合並文件\\>\n");
fprintf(yyout,"<包含頭文件,請手動合並文件\\>\n");
}
{DIGIT}+ {
printf("(3整數, \"%s\")\n", yytext);
fprintf(yyout,"(3整數, \"%s\")\n", yytext);
}
{DIGIT}+"."{DIGIT}* {
printf("(3浮點數, \" %s\")\n",yytext);
fprintf(yyout,"(3浮點數, \" %s\")\n",yytext);
}
auto |
break |
case |
char |
const |
continue |
default |
do |
double |
else |
enum |
extern |
float |
for |
goto |
if |
int |
long |
register |
return |
short |
signed |
sizeof |
static |
struct |
switch |
typedef |
union |
unsigned |
void |
volatile |
while {
fprintf(yyout,"(1, \"%s\")\n",yytext);
fprintf(yyout,"(1, \"%s\")\n",yytext);
}
{ID} {
printf("(2, \"%s\")\n",yytext);
fprintf(yyout,"(2, \"%s\")\n",yytext);
}
"+" |
"++" |
"+=" |
"-" |
"--" |
"-=" |
"->" |
"*" |
"**" |
"*=" |
"/" |
"/=" |
"=" |
"==" |
">" |
">>" |
">=" |
">>=" |
"<" |
"<<" |
"<=" |
"<<=" |
"!" |
"!=" |
"%" |
"%=" |
"&" |
"&&" |
"&=" |
"|" |
"||" |
"|=" |
"^" |
"^=" {
printf("(4, \"%s\")\n",yytext);
fprintf(yyout,"(4, \"%s\")\n",yytext);
}
"{" |
"}" |
"(" |
")" |
";" |
"," |
"'" |
"\"" |
"." |
"?" |
"[" |
"]" |
"\\" |
":" {
printf("(5, \"%s\")\n",yytext);
fprintf(yyout,"(5, \"%s\")\n",yytext);
}
\n {
++num_lines;
}
"/*"[^(*/)\n]*"*/"
(" ")+
[\t]+
. {
printf("(不能識別字元, \"%s\")\n",yytext);
fprintf(yyout,"(不能識別字元, \"%s\")\n",yytext);
}
%%
main(argc,argv)
int argc;
char **argv;
{
++argv,--argc;
if(argc>0)
yyin=fopen(argv[0],"r");
else
yyin=stdin;
yyout=fopen("output.txt","w");
yylex();
fclose(yyout);
}
int yywrap()
{
return 1;
}

/* 附:我們第一次作業的要求。
實驗一:用高級語言編寫詞法分析器(用lex生成)一、實驗目的:編制一個識別C語言子集的詞法分析器。從輸入的源程序中,識別出各個具有獨立意義的記號,即基本保留字、標識符、常數、運算符、分隔符五大類。並依次輸出各個記號的內部編碼及記號符號自身值。(遇到錯誤時可顯示「Error」,然後跳過錯誤部分繼續顯示)二、實驗過程和指導:(一)准備:1.閱讀課本有關章節,明確語言的詞法,寫出基本保留字、標識符、常數、運算符、分隔符和程序例。2.初步編制好程序。3.准備好多組測試數據。(二)程序要求:程序輸入/輸出示例:如源程序為C語言。輸入如下一段:main(){ int a,b; a = 10; b = a + 20;}要求輸出如下:(2,」main」)(5,」(「)(5,」)「)(5,」{「)(1,」int」)(2,」a」)(5,」,」)(2,」b」)(5,」;」)(2,」a」)(4,」=」)(3,」10」)(5,」;」)(2,」b」)(4,」=」)(2,」a」)(4,」+」)(3,」20」)(5,」;」)(5,」)「}
要求(滿足以下要求可獲得70%該題的得分):識別保留字:if、int、for、while、do、return、break、continue其他的都識別為標識符;常數為無符號整形數;運算符包括:+、-、*、/、=、>、<、>=、<=、!=分隔符包括:,、;、{、}、(、)以上為參考,具體可自行增刪。 三、實驗檢查:1.程序:輸入:測試數據(以文件形式);輸出:二元組(以文件形式)。2.實驗報告:(1)功能描述:該程序具有什麼功能?(2)狀態轉換圖。(2)程序結構描述:函數調用格式、參數含義、返回值描述、函數功能;函數之間的調用關系圖、程序總體執行流程圖。(4)源程序代碼。(5)實驗過程記錄:出錯次數、出錯嚴重程度、解決辦法摘要。(6)實驗總結:你在編程過程中花時多少?多少時間在紙上設計?多少時間上機輸入和調試?多少時間在思考問題?遇到了哪些難題?你是怎麼克服的?你對你的程序的評價?你的收獲有哪些?

另可附加:關鍵字 有符號數 符號表填寫 行號記錄,等
*/

⑩ 怎樣把一個軟體解析成源碼

源程序,有人又稱源代碼!
指的是所用程序的原始代碼!是軟體或是游戲的最初始的代碼的集合!
和一般的程序相比,源程序具有最初始性,不可生成性!
比如你現在看的這個網頁,可以通過點擊滑鼠右鍵→查看源文件的方法查看該網頁的程序!但這個程序就不是源程序,是通過網頁伺服器的網頁服務的源程序所生產組裝的程序!
通常某些源程序是很隱秘的,,能創造巨大的經濟效應!比如WINDOWS的源程序,如果有人能拿到,那肯定可以賣個好價錢!
總之,程序可以由源程序來生成,但源程序只能有人來進行編寫!如果你不太確定收件箱中的某封電子郵件或某個需要瀏覽的網站頁面是否附帶了病毒時,可以通過「查看源文件」的方式,查看後台HTML源代碼。如果源文件中顯示的URL與真實的鏈接無法匹配,那說明該郵件或網頁有問題。 如果「查看源文件」這一功能無法使用了,確實是件很麻煩的事情。導致該問題出現的原因有很多,下面將一一列舉:
第一類情況是,當瀏覽器的緩存被裝滿時,「查看源文件」功能將失效。如果你想確定自己的電腦是否屬於這類情況,可以點擊IE的「工具」菜單中的「Internet選項」 「常規」標簽,然後,再點擊「Internet臨時文件」一欄中的「刪除文件」按鈕。
第二類情況,當你打開某些特殊的瀏覽器窗口(比如說用JavaScript腳本語言編寫的網頁)時,「查看源文件」功能也會失效。如果你在瀏覽任何網頁時,都無法「查看源文件」,那就不屬於這類情況。
第三類情況,當一個網頁還沒有被完全載入到桌面時,「查看源文件」功能也是不能使用的(在這種狀態下,「文件」菜單中的「另存為」選項也是屏蔽的)。這也算不上是真正的問題。
第四類情況,查看Windows文件夾,如果找不到Notepad.exe,將會導致「查看源文件」功能無法使用。
第五類情況,如果TEMP(或TMP)環境變數指向某一個不存在的文件夾,也會導致「查看源文件」功能無法使用。打開命令提示符(command prompt)窗口,鍵入SET TEMP(或SET TMP),就可以查看到這些變數的值。
第六類情況,通過注冊表設置也可以限定命令行的有效性。首先,點擊「開始」菜單,在運行對話框中鍵入「REGEDIT」,調出注冊表編輯器,點擊「HKEY_CURRENT_USERSoftware PoliciesMicrosoftInternet Explorer Restrictions」,在右邊的窗格中找到一個名為NoViewSource的值,如果當前的數值數據設置為1,則雙擊它,將數值數據更改為0。
第七類情況,通過查看注冊表設置,你還會發現:如果指定的調用程序不正確,也將導致「查看源文件」功能失靈。調出注冊表編輯器,點擊「HKEY_LOCAL_MACHINESoftware MicrosoftInternet ExplorerView Source EditorEditor Name」,如果該鍵存在的話,右邊窗格中所顯示的默認的「數值名稱」應該是記事本程序的完整路徑,一般以「C:windowsnotepad.exe」的形式表示。如果該鍵不存在,先核實記事本程序的正確位置,然後雙擊默認鍵值,修改錯誤路徑。
第八類情況,組策略的設置也有可能會屏蔽「查看源文件」這一菜單項。從「開始」菜單中調出「運行」對話框,鍵入GPEDIT.MSC。如果桌面上彈出一個提示框,提示該文件名不正確,則說明「查看源文件」功能的失效與組策略的設置無關;否則,桌面上將會彈出一個「組策略編輯器」窗口,點擊「User ConfigurationAdministr-ativeTemplatesWindows ComponentsInternet ExplorerBrowser」,在右邊的窗格中找到View menu: Disable Source menu,如果這個鍵值被設置為「Enabled」,則將它更改為「Disabled」。
注意,上面介紹的第一類情況(即由於IE所保存的Internet臨時文件過多而造成「查看源文件」功能失靈)是最常見的。如果刪除了所有離線內容之後,該功能仍然無法使用,你再依次檢查後面所介紹的幾種可能性,直到問題消除為止。

熱點內容
java壓縮上傳圖片 發布:2024-11-17 22:26:59 瀏覽:624
plc編程課件 發布:2024-11-17 22:18:23 瀏覽:466
我的世界伺服器信號一直在檢測 發布:2024-11-17 22:09:52 瀏覽:544
二級c語言教材 發布:2024-11-17 22:03:08 瀏覽:950
如何修改微軟密碼修改 發布:2024-11-17 21:48:23 瀏覽:346
大話西遊端游什麼配置可以玩 發布:2024-11-17 21:46:33 瀏覽:19
旅行箱密碼忘了怎麼辦視頻 發布:2024-11-17 21:46:27 瀏覽:690
如何改微信支付密碼 發布:2024-11-17 21:41:33 瀏覽:703
雲狗通過什麼連接伺服器 發布:2024-11-17 21:11:34 瀏覽:15
qq郵箱訪問許可權的限制 發布:2024-11-17 21:07:16 瀏覽:423