基于java的简单词法分析程序

本文介绍了作者如何在Java中编写一个简单的词法分析程序,作为完成老师布置的任务。通过一下午的努力,作者实现了基本的词法分析功能。
摘要由CSDN通过智能技术生成

今天老师要我们写一个简单的词法分析程序,实现简单的词法分析。经过我一个下午的努力,下面的简单词法分析就出来了。(本人实力有限,目前只能做到这样了。🥺)

import java.io.FileReader;

/**
 * 基于Java词法分析程序
 * author:微笑伯爵
 * data:2021.10.26
 */
public class Compile {

    /**
     * 程序要求识别如下:
     *
     * 识别保留字:begin  end  if  then  else  while  do
     * 单词种别码为:1     2   3    4     5      6    7
     * <p>
     * 数字的种别码为:8
     * <p>
     * 单词种别码为:9
     * <p>
     * 特殊字符包括 : ,    ;    {   }   (    )
     * 种别码为:     10   11   12  13  14   15
     * <p>
     * 运算符包括: +   -   *   /    <    >   <=  =    >=  <>
     * 种别码为:   16  17   18  19   20  21  22  23   24  25
     */
    private static String[] key = {"begin", "end", "if", "then", "else", "while", "do"};//待识别的关键字数组
    private static String[] border = {",", ";", "{", "}", "(", ")"};//待识别的特殊字符数组
    private static String[] arithmetic = {"+", "-", "*", "/"};//待识别的算数运算数组
    private static String[] relation = {"<", ">", "<=", "=", ">=", "<>"};//待识别的逻辑运算数组
    private static String[] constNumber = new String[20];//用于存储用户自己定义的常数
    private static String[] label = new String[20];//用于存储用户自己定义的单词
    private static int constNum = 0;//动态记录用户定义的整形数个数
    private static int labelNum = 0;//动态记录用户定义的单词个数
    private static FileReader fileReader = null;//全局字符流

    public static void main(String[] args) throws Exception {
        String fileName = "D:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

⊙魏振⊙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值