java-编译原理一个编程问题

问题描述

编译原理一个编程问题

题目要求:
输入:一个文本文件(源代码文件)
输出:将源代码中的无符号数识别出来并输出到另一个文件中
示例:如果输入是“123*abc+def/99.2+9.9E+c”,那么输出是:(数字, 123),(其它,*abc+def/),(数字,99.2),(其它,+),(异常,9.9E+c)
说明:其它是非数字打头的字符串;异常是数字打头,但最后却是不符合定义的无符号数。

问题:想了很久不知道怎么下手,本来是想用正则表达式来识别的,数字用正则表达式d+.?d*([eE][+-]?d+)?,异常用d+.?d*eE,两个都匹配不了的就是其他了,但编程的时候有点困难,怎么按文件的顺序来匹配,并输出结果呢?求大神帮帮忙,给点思路吧!

解决方案

文件顺序是什么意思?

时间: 2024-08-03 17:37:05

java-编译原理一个编程问题的相关文章

关于java泛型的一个编程

问题描述 创建一个参数化类型的随机访问列表RandomList,这个类有一个put(T element)方法加入元素,并且有一个select()方法可以从中随机的选择一个元素,创建一个main方法,使得可以打印出select()方法所选择的元素. 解决方案 import java.util.ArrayList;import java.util.List;public class Test6 {public static void main(String[] args) {Gen<String>

请求帮忙改代码-编译原理 编译器 java

问题描述 编译原理 编译器 java 词法分析,语法分析,语义分析生成中间代码,目标代码生成.输入c语言,输出汇编语言 解决方案 http://www.cnblogs.com/zhiyinjixu/articles/2251834.html 解决方案二: java编译原理Java编译原理(有感)java编译原理

编译原理scanner的java代码

问题描述 编译原理scanner的java代码 package lexer; public class Token { public final int tag;public Token(int t) { tag = t;}public String toString() { return """" + (char) tag;} } package lexer; public class Tag { public final static int AND = 256

编译-用Java写了一个五子棋游戏,插入背景音乐出了问题。求大神指教

问题描述 用Java写了一个五子棋游戏,插入背景音乐出了问题.求大神指教 用Java写了一个五子棋游戏,插入背景音乐.第一遍音乐结束就不放了,不能暂停,重新播放和循环播放等功能.我编译的时候用的是Java应用程序,不是APPlet. package cn.edu.ouc.fiveChess; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound

flex-【求助】如何编译运行一个java demo

问题描述 [求助]如何编译运行一个java demo 运行结果如下 如果是一个helloworld的java文件,我编译运行成功过,应该不是环境问题,哪位大神能否帮忙看下?我附上代码链接http://download.csdn.net/detail/zhuifeng20008/9439664 我的问题是如何编译这个demo 解决方案 看了你的源码,主要有如下问题 1.编码问题,解决办法为新建三个一样名字的java文件,将原文件内容复制到新建的文件中 2.代码问题,修改public static

递归原理-java 递归 有一个数组 1,2,2,3,5 用java打印出所有不同的排列顺序

问题描述 java 递归 有一个数组 1,2,2,3,5 用java打印出所有不同的排列顺序 有一个数组 1,2,2,3,5 用java打印出所有不同的排列顺序:如12235,12325,13225

大前端开发者需要了解的基础编译原理和语言知识

在我刚刚进入大学,从零开始学习 C 语言的时候,我就不断的从学长的口中听到一个又一个语言,比如 C++.Java.Python.JavaScript 这些大众的,也有 Lisp.Perl.Ruby 这些相对小众的.一般来说,当程序员讨论一门语言的时候,默认的上下文经常是:"用 xxx 语言来完成 xxx 任务".所以一直困扰着的我的一个问题就是,为什么完成某个任务,一定要选择特定的语言,比如安卓开发是 Java,前端要用 JavaScript,iOS 开发使用 Objective-C

运行时和编译时元编程—编译时元编程

原文链接    译文链接     译者:JackWang 运行时和编译时元编程 第二部分 2 编译时元编程 Groovy的编译时元编程支持编译时生成代码.这些变换(译者注:原文该专有名词是transformations,译者直译为变换,也许不准确.如果有知道准确翻译的读者恳请不吝赐教,待译者修正)叫做程序的抽象语法树(AST),在Groovy里,我们叫做AST变换.AST变换支持在编译过程中植入钩子,修改抽象语法树之后继续编译生成正常的字节码流.和运行时元编程相比,这种转换可以在类文件的修改可见

运行时和编译时元编程—运行时元编程

原文链接   译文链接   译者:JackWang 运行时和编译时元编程 第一部分 Groovy语言支持两种风格的元编程:运行时元编程和编译时元编程.第一种元编程支持在程序运行时修改类模型和程序行为,而第二种发生在编译时.两种元编程有各自的优缺点,在这一章节我们将详细讨论. 注:译者也是第一次接触Groovy,由于时间和水平有限(姑且让译者使用这个理由吧,对待知识本应该一丝不苟)部分专有名词可能翻译不准确甚至有误(读者阅读的过程中最好能参考原文),恳请读者不吝留言指出,谢谢! 1.运行时元编程