第一范文网 - 专业文章范例文档资料分享平台

编译原理 LL(1)语法分析器java版 完整源代码

来源:用户分享 时间:2025/10/5 15:03:04 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

public class Accept2 { public

static

StringBuffer

stack=new

StringBuffer(\); public

static

StringBuffer

stack2=new

StringBuffer(\);

public static void main(String arts[]){ //stack2.deleteCharAt(0);

System.out.print(accept(stack,stack2)); } public

static

boolean

accept(StringBuffer

stack,StringBuffer stack2){//判断识别与否

boolean result=true; outer:while (true) {

System.out.format(\,stack+\); System.out.format(\,stack2+\); char c1 = stack.charAt(stack.length() - 1); char c2 = stack2.charAt(0); if(c1=='#'&&c2=='#') return true; switch (c1) {

case 'E':

if(!E(c2)) {result=false;break outer;} break;

case 'P': //P代表E’ if(!P(c2)) {result=false;break outer;} break; case 'T':

if(!T(c2)) {result=false;break outer;} break;

case 'Q': //Q代表T’ if(!Q(c2)) {result=false;break outer;} break; case 'F':

if(!F(c2)) {result=false;break outer;} break;

default: {//终结符的时候 if(c2==c1){

stack.deleteCharAt(stack.length()-1); stack2.deleteCharAt(0); //System.out.println(); } else{

return false; } } } if(result=false) break outer; }

return result; public static boolean E(char c) {//语法分析子程序boolean result=true; if(c=='i') {

stack.deleteCharAt(stack.length()-1); stack.append(\); }

else if(c=='('){

stack.deleteCharAt(stack.length()-1); stack.append(\);

}

E } else{

System.err.println(\推导时错误!不能匹配!\); result=false; }

return result; }

public static boolean P(char c){//语法分析子程序 P boolean result=true; if(c=='+') {

stack.deleteCharAt(stack.length()-1); stack.append(\); }

else if(c==')') {

stack.deleteCharAt(stack.length()-1); //stack.append(\ System.out.println(\); }

else if(c=='#') {

stack.deleteCharAt(stack.length()-1); //stack.append(\ System.out.println(\);

编译原理 LL(1)语法分析器java版 完整源代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c33uiq92k9o9sc9l3qd0i_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top