• 大小: 0.04M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-26
  • 语言: 其他
  • 标签: 其他  

资源简介


完整cmm解释器构造实践 四 :语义分析与代码生成

资源截图

代码片段和文件信息

package com.shaw.cmmjava;

import java.io.IOException;
import java.util.linkedList;

import com.shaw.cmmjava.exception.InterpretException;
import com.shaw.cmmjava.exception.ParserException;
import com.shaw.cmmjava.model.FourCode;
import com.shaw.cmmjava.model.Symbol;
import com.shaw.cmmjava.model.Token;
import com.shaw.cmmjava.model.TreeNode;

public class CodeGenerater {
    
    private static int mLevel;
    private static int mLine;
    private static linkedList codes;
    private static SymbolTable symbolTable;
    
    public static linkedList generateCode(String filename) throws ParserException InterpretException {
        mLine = -1;//代码编号从0开始
        mLevel = 0;
        codes = new linkedList();
        try {
            linkedList nodeList = Util.getNodeList(Util.getTokenList(filename));
            symbolTable = SymbolTable.getSymbolTable();
            symbolTable.newTable();
            CodeGenerater generator = new CodeGenerater();

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-02-17 23:10  cmmjava_codegen\
     文件         226  2015-02-17 20:29  cmmjava_codegen\.classpath
     文件         374  2015-02-17 20:29  cmmjava_codegen\.project
     目录           0  2015-02-17 20:30  cmmjava_codegen\src\
     目录           0  2015-02-17 20:30  cmmjava_codegen\src\com\
     目录           0  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\
     目录           0  2015-02-17 20:35  cmmjava_codegen\src\com\shaw\cmmjava\
     文件       13302  2015-02-17 23:07  cmmjava_codegen\src\com\shaw\cmmjava\CodeGenerater.java
     目录           0  2015-02-17 20:29  cmmjava_codegen\src\com\shaw\cmmjava\exception\
     文件         215  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\exception\InterpretException.java
     文件         206  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\exception\ParserException.java
     文件        8086  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\Lexer.java
     文件        1123  2015-02-17 20:38  cmmjava_codegen\src\com\shaw\cmmjava\Main.java
     目录           0  2015-02-17 20:29  cmmjava_codegen\src\com\shaw\cmmjava\model\
     文件        2358  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\model\FourCode.java
     文件        2390  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\model\Symbol.java
     文件        6814  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\model\Token.java
     文件        5367  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\model\TreeNode.java
     文件        9510  2015-02-17 20:47  cmmjava_codegen\src\com\shaw\cmmjava\model\Value.java
     文件       13712  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\Parser.java
     文件        5666  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\SymbolTable.java
     文件        1246  2015-02-17 20:30  cmmjava_codegen\src\com\shaw\cmmjava\Util.java
     目录           0  2015-02-17 21:49  cmmjava_codegen\可执行文件\
     文件       23157  2015-02-17 23:08  cmmjava_codegen\可执行文件\codegener.jar
     文件          36  2015-02-17 21:49  cmmjava_codegen\可执行文件\用法.txt

评论

共有 条评论