Java实现递归下降子程序

本文档介绍了使用Java实现递归下降分析程序的过程,旨在加深对递归下降分析法的理解。实验要求包括明确的语法规则定义、正确进行语法分析及错误处理。通过展示不同输入示例及对应的合法性和错误信息,阐述了程序的功能和错误处理机制。
摘要由CSDN通过智能技术生成

Java实现递归下降子程序

一、实验目的 根据某一文法编制调试递归下降分析程序,以便对任意输入的符号串进行分析。本次实 验的目的主要是加深对递归下降分析法的理解。

二、实验内容 程序输入/输出示例(以下仅供参考):

对下列文法,用递归下降分析法对任意输入的符号串进行分析: (1)E- TG (2)G- +TG|—TG (3)G- ε (4)T- FS (5)S- FS|/FS (6)S- ε (7)F- (E) (8)F- i 输出的格式如下: (1)递归下降分析程序,编制人:姓名,学号,班级 (2)输入一以#结束的符号串(包括+—/()i#):在此位置输入符号串例如:i+ii# (3)输出结果:i+ii#为合法符号串 备注:输入一符号串如 i+i*#,要求输出为“非法的符号串”。 注意: 1. 表达式中允许使用运算符(±*/)、分割符(括号)、字符 I,结束符#; 2. 如果遇到错误的表达式,应输出错误提示信息(该信息越详细越好)。

三、实验要求: 1. 对语法规则有明确的定义; 2. 编写的分析程序能够进行正确的语法分析; 3. 对于遇到的语法错误,能够做出简单的错误处理,给出简单的错误提示,保证顺利完成
5
语法分析过程;

import java.util.Scanner;

public class RecursiveDrop {
   
    //输入的表达式
    static String expression;
    //当前的符号
    static Character sym;
    //当前指针
    static int index;
    //出现错误语法了
    static boolean hasErr;
    public static void main(String []main){
   
        Scanner input=new Scanner(System.in);
        expression=input.next();
        while (!expression.equals(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值