当前位置:首页 » 操作系统 » 法解析源码

法解析源码

发布时间: 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临时文件过多而造成“查看源文件”功能失灵)是最常见的。如果删除了所有脱机内容之后,该功能仍然无法使用,你再依次检查后面所介绍的几种可能性,直到问题消除为止。

热点内容
hp存储扩容 发布:2024-11-17 23:29:16 浏览:567
在ftp中put表示什么 发布:2024-11-17 23:29:12 浏览:381
mvc多文件上传 发布:2024-11-17 23:13:56 浏览:153
玩游戏硬盘缓存32m 发布:2024-11-17 23:03:42 浏览:523
蓝光存储系统 发布:2024-11-17 23:03:41 浏览:434
地平线4提示配置低于最低怎么办 发布:2024-11-17 22:54:38 浏览:608
注册银行卡账户密码填什么 发布:2024-11-17 22:54:35 浏览:535
java压缩上传图片 发布:2024-11-17 22:26:59 浏览:625
plc编程课件 发布:2024-11-17 22:18:23 浏览:467
我的世界服务器信号一直在检测 发布:2024-11-17 22:09:52 浏览:546