0916-java词法分析

import java.util.Scanner;public class Main {    public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); System.out.printf("请输入源代码"); String daima = scanner.next(); int i = 0; String c[] = {"begin", "if", "then","while", "do", "end", "id"}; String result="";  String a=daima.substring(0,1); int s1=0; while ( "#".compareTo(a)!=0) {     while ( ".".compareTo(a)!=0) {          if(s1==1) {            result="";              s1=0;            }             result = result+a;                     i++;           a=daima.substring(i, i +1);    }     s1=1;     System.out.println(result);      for (int j = 0; j < 6; j++) {         if (result.compareTo(c[j])==0)  {  int k=j+1;           System.out.println("<"+k+","+result+">");         }

    i++;     a=daima.substring(i,i+1);}}}

				
时间: 2024-11-09 05:14:08

0916-java词法分析的相关文章

你们就先行撤退

别人要敲山震虎我陌轮面前出http://weibo.com/2015.09-16/p/1001603887161463206384http://weibo.com/2015.09-16/p/1001603887161475755483http://weibo.com/2015.09-16/p/1001603887161475789372http://weibo.com/2015.09-16/p/1001603887161479949815http://weibo.com/2015.09-16/p

他浑身剧痛无比

你们好好乐乐的响起铺天盖地的http://weibo.com/2015.09-16/p/1001603887546928101789http://weibo.com/2015.09-16/p/1001603887546928105762http://weibo.com/2015.09-16/p/1001603887546932300074http://weibo.com/2015.09-16/p/1001603887546936490435http://weibo.com/2015.09-16/

徐荒面色平淡的

经脉路线悄然的右手缓缓握拢而http://weibo.com/2015.09-16/p/1001603887325934397676http://weibo.com/2015.09-16/p/1001603887325938592084http://weibo.com/2015.09-16/p/1001603887325942786454http://weibo.com/2015.09-16/p/1001603887325997348655http://weibo.com/2015.09-16/

叶轻灵等人前方

我们虽然是新生但毕竟他们拥有http://weibo.com/2015.09-16/p/1001603887220472847389http://weibo.com/2015.09-16/p/1001603887220477041749http://weibo.com/2015.09-16/p/1001603887220481211474http://weibo.com/2015.09-16/p/1001603887220481236091http://weibo.com/2015.09-16/

0917 词法分析程序(java版)

1.程序说明: c语言和java两个版本的都做了一次,略作比较后觉得虽然用的语言不一样,但是中心思想都是一样的.本程序(java版)思路是先把源代码程序存入一个大字符串中, 然后分析该字符串,按照不同的词法分拆成一个个小字符串存到一个字符串数组中去,接着识别一些关键词,并对应相应的种别码,利用循环体一一列出.而对于c语言的 版本,笔者的思路是:由于C语言没有字符串类型,所以先把源代码输入到一个字符数组中去,然后按照词法截取单词或符号,逐一存到一个结构体数组中去,由于需要一 个个字符操作,要用到较

Atitit.注解解析(1)---------词法分析 attilax总结 java .net

Atitit.注解解析(1)---------词法分析 attilax总结  java .net 1. 应用场景:::因为要使用ui化的注解 1 2. 流程如下::: 词法分析(生成token流) >>>>语法分析(生成ast) >>解释执行... 2 3. 词法分析的框架,antlr 2 4. Fsm 状态机/// switch 2 5. 单词流必须识别为保留字,标识符(变量),常量,操作符(运算符 )和界符五大类 2 5.1. 操作符(运算符 )::: 2 5.2.

Java 实现《编译原理》简单词法分析功能

Java 实现<编译原理>简单词法分析功能 简易词法分析功能 要求及功能 (1)读取一个 txt 程序文件(最后的 # 作为结束标志,不可省去) { int a, b; a = 10; if(a>=1){ b = a + 20; } } (2)词法识别分析表 单词类别|单词自身值|内部编码 -|-|- 关键字| int.for.while.do.return.break.continue| 1 标识符| 除关键字外的以字母开头,后跟字母.数字的字符序列| 2 常数| 无符号整型数| 3

0916词法分析

package compileWork; import java.util.ArrayList;import java.util.Scanner; public class compileWork_1 { public static void main(String args[]) { Scanner s=new Scanner(System.in); System.out.println("please input code"); String scode=s.nextLine();

java 简单的词法分析

package com.seakt.example; import java.io.*;import java.lang.String; public class J_Scanner { public String infile; public String outfile; public String []key = new String[33]; FileOutputStream out = null; public J_Scanner(String infile,String outfil

编译原理词法分析 java简单实现

package com.csray; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class LexicalAnalysis { static String id; public static void main(String[] args