当前位置: 首页 > wzjs >正文

做网站 超速云伊犁网站建设公司

做网站 超速云,伊犁网站建设公司,搜索引擎友好的网站有哪些特点,asp.net做网站教程文章目录 实验环境的准备实验实验预备知识分析案例所要做的任务实战 实验环境的准备 安装flex 安装MinGW MinGW Installation Manager页面 apply changes 下载比较耗时 只看到了一个文件,复制过去 配置环境变量 使用gcc -v检验是否安装完成 实验 实验预备知识…

文章目录

  • 实验环境的准备
  • 实验
    • 实验预备知识
    • 分析案例
    • 所要做的任务
    • 实战

实验环境的准备

  • 安装flex
    在这里插入图片描述

  • 安装MinGW
    在这里插入图片描述

  • MinGW Installation Manager页面

在这里插入图片描述

  • apply changes

在这里插入图片描述

下载比较耗时

在这里插入图片描述

  • 只看到了一个文件,复制过去

在这里插入图片描述

  • 配置环境变量

在这里插入图片描述

  • 使用gcc -v检验是否安装完成

在这里插入图片描述

实验

实验预备知识

  • 咱们先来分析一下实验到底想让我们干什么!

flex是干什么的

  • flex(Fast Lexical Analyzer Generator)是一个词法分析器生成工具,用于自动生成词法分析器(lexer/scanner)的代码

  • 输入:flex 接收一个 .l(或 .lex)文件,其中定义了词法规则(正则表达式 + 动作)。

  • 输出:生成一个 C 语言 的词法分析器(通常是 lex.yy.c),该代码可以识别输入流中的单词(token)。

  • 用途:主要用于编译器、解释器、文本处理工具等需要分词(tokenization)的场景。

flex 的基本工作原理
# flex 的工作流程:
(1)编写 .l 文件:定义词法规则(正则表达式 + 对应的动作)。
(2)运行 flex:生成 lex.yy.c(词法分析器代码)。
(3)编译 lex.yy.c:生成可执行程序,用于分词。

典型的.l文件

%{
/* C 代码,如头文件、变量声明 */
#include <stdio.h>
%}/* 正则表达式定义 */
DIGIT    [0-9]
LETTER   [a-zA-Z]%%
/* 规则部分:模式 + 动作 */
{DIGIT}+    { printf("Number: %s\n", yytext); }
{LETTER}+   { printf("Word: %s\n", yytext); }
[ \t\n]     ;  /* 忽略空白符 */
.           { printf("Unknown: %s\n", yytext); }
%%/* 可选的 C 代码(如 main 函数) */
int main() {yylex();  // 启动词法分析return 0;
}

分析案例

  • 实验名称:识别输入文本中的单词(word)和数(num)并分别统计个数

实例.lex代码

%{
/* 全局变量声明部分(C代码块) */
int wordCount = 0;   // 统计单词数量
int numCount = 0;    // 统计数字数量
%}/* 正则表达式定义部分 */
chars      [A-Za-z\_\'\.\"]    // 匹配字母、下划线、引号等字符
numbers    ([0-9])+           // 匹配一个或多个数字
delim      [" "\n\t]          // 匹配空格、换行、制表符等分隔符
whitespace {delim}+           // 匹配一个或多个分隔符
words      {chars}+           // 匹配一个或多个字符组合(单词)%% 
/* 规则部分:模式 + 动作 *//* 当匹配到"while"时,打印该词 */
while  { printf("%s\n", yytext); }/* 当匹配到单词时,增加单词计数器 */
{words} { wordCount++;     // 单词数量加1
} /* 当匹配到空白符时,不执行任何操作 */ 
{whitespace} { /* 空动作:忽略空白字符 */ 
} /* 当匹配到数字时,增加数字计数器 */
([0-9])+ { numCount++;      // 数字数量加1
} %%  
/* 用户自定义代码部分 *//* 主函数 */
void main() { printf("ok1\n");          // 调试信息,表示程序开始运行yylex();                  // 启动词法分析printf("ok2\n");          // 调试信息,表示词法分析结束// 打印统计结果printf("No of words: %d\nNumber: %d\n", wordCount, numCount);  return 0;  
}/* 必须定义的yywrap函数(当输入文件结束时调用) */
int yywrap() { return 1;  // 返回1表示处理结束
} 

测试的文本:b.c

asd asdf 23 q 
a1 
b2
!#@
while

程序的输出

ok1
!#@while
ok2
No of words: 5number: 3
  • 简单分析一下输出结果
(1)这个ok1和ok2都是.lex程序中定义的输出
(2)其中!#@是没哟被匹配到的,所以会默认输出,这个while的话,.lex中规定了,遇到while就输出
(3)统计结果
wordCount = 5(asd, asdf, q, a, b)
numCount = 323, 1, 2

所要做的任务

在这里插入图片描述

  • 说白了,就需要你自己设计这个 a.lex 构词规则序列
  • 然后使用flex来生成词法生成程序lex.yy.c

在这里插入图片描述

flex a.lex 
gcc -o a lex.yy.c -lfl 
  • 自己设计b.c程序
  • 然后使用lex.yy.c来分析b.c

在这里插入图片描述

a.exe <b.c> a.txt 

实战

  • 当然是自己写啦

文章转载自:

http://kVuVVuV8.qbdqc.cn
http://zuf4JfCc.qbdqc.cn
http://AqYL7ULm.qbdqc.cn
http://ymbOV7fF.qbdqc.cn
http://4vc51sWe.qbdqc.cn
http://ZYUvVmUD.qbdqc.cn
http://nt5QiCpG.qbdqc.cn
http://17jb0yIS.qbdqc.cn
http://GYRiQKIW.qbdqc.cn
http://gwxtoVSy.qbdqc.cn
http://IVVASPzr.qbdqc.cn
http://vKBC4Fqu.qbdqc.cn
http://76QkhnSR.qbdqc.cn
http://QRXHGNpD.qbdqc.cn
http://IGoXdvBH.qbdqc.cn
http://7FYDm6fu.qbdqc.cn
http://tFThCHXe.qbdqc.cn
http://ef1NxSMM.qbdqc.cn
http://uVFE5iW0.qbdqc.cn
http://TgbMkw7a.qbdqc.cn
http://00mwvyd5.qbdqc.cn
http://Rq7SnMy8.qbdqc.cn
http://Omgzfzof.qbdqc.cn
http://le0UIWio.qbdqc.cn
http://L3o2Tp6b.qbdqc.cn
http://tHMHXfd2.qbdqc.cn
http://NHYWYCu6.qbdqc.cn
http://6FYedMip.qbdqc.cn
http://i23B1U5q.qbdqc.cn
http://WC4VJY4A.qbdqc.cn
http://www.dtcms.com/wzjs/776191.html

相关文章:

  • 企业网站建设步骤是什么wordpress 截断
  • 电商类网站模板下载有域名和服务器怎么建网站
  • 深圳建设局网站注册结构师培训dede免费手机网站模板
  • 学校信息门户网站建设游戏开发需要学什么大学专业
  • 兰州正规seo整站优化wordpress post link
  • 专做网页的网站网站开发进阶实训报告
  • 一个网站建设10万元福田做网站哪家专业
  • ps怎么做电商网站国内html5网站欣赏
  • 南宁江南区网站制作价格网站建设推广方案书
  • 网站修改idstore wordpress
  • 广东建设厅证件查询网站如何寻找客户
  • 网站建设书籍推荐辽宁省建设工程招投标
  • 建设网站的公司要什么资质吗安顺网站设计
  • 重庆网站建设求职简历做网站用什么开发好
  • 临沂网站制作价格网站功能与内容设计的步骤
  • dw php网站建设视频教程上海网站公司
  • 东阿网站建设电话网站管理后台密码忘记了
  • 做网站各个流程重庆有哪些公司
  • 岳池网站建设网站建设设计服务
  • 中国网站建设调查分析开鲁seo服务
  • 免费网页制作网站wordpress用户等级
  • 山东省建设项目监理协会网站wordpress resume
  • 佛山网站seo公司网页设计尺寸单位一般为
  • 门户网站建设策划学校风采网站建设需求
  • php做电影网站秦皇岛市属于哪个省份
  • 团购网站案例怎么做才能让网站快速收录
  • 网站建设中英语企业网站建设需要做些什么
  • vr看房网站开发费用wordpress评论ajax加载
  • 怎么做自己的门户网站专门做折扣的网站有哪些
  • 做地方网站要办什么证陕西省建设网页企业信息