资源简介

编译原理语法分析器的Python实现-LL1文法,属于编译原理课程相关作业。输出结果保存为csv文件,直观了解分析全过程

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
# @File  : LL(1).py
# @Author: Judong Li
# @Date  : 2020/05/23
# @Desc  : 编译原理——LL1语法分析器

import csv
class Stack(object):
    “““栈“““
    def __init__(self):
         self.items = []
    def is_empty(self):
        “““判断是否为空“““
        return self.items == []
    def push(self item):
        “““加入元素“““
        self.items.append(item)
    def pop(self):
        “““弹出元素“““
        return self.items.pop()
    def peek(self):
        “““返回栈顶元素“““
        return self.items[len(self.items)-1]
    def size(self):
        “““返回栈的大小“““
        return len(self.items)
    def show(self):
        print(self.items)


class LL1_Analyzer:
    def __init__(self):
        self.SymbolStack=Stack()
        #终结符/非终结符
        self.Endsymbol=[]
       

评论

共有 条评论