abstract-syntax-tree

    3熱度

    1回答

    因爲衆所周知Typescript現在是完全開源的。可在Tyescript獲得。我正在構建一個將TypeScript代碼作爲輸入並給出輸出給定代碼的AST的應用程序。爲我提供一種合適的方式來提取輸入Typescript代碼的這個AST(抽象語法樹),而不是將它們編譯並轉換爲Javascript。

    0熱度

    1回答

    的編譯過程中不叫我想寫與語法常規DSL: returnValue when booleanCondition 我想用匯編定製,如果使用AST轉換return語句這個表達式轉換爲一個典型的。 對於此腳本: 2 when 1 == 1 我得到異常消息: MultipleCompilationErrorsException: startup failed: Script1.groovy: 1:

    1熱度

    1回答

    使用ast和astor圖書館,我寫了一個簡單的腳本,遍歷使用ast.NodeTransformer的AST和替換所有空列表與None: import ast import astor class ListChanger(ast.NodeTransformer): def visit_List(self, node): if len(node.elts) > 0:

    0熱度

    1回答

    例如,我從ASTParser獲得一個CompilationUnit。爲什麼我需要接受的,而不是使用正常方法訪問者: ASTParser parser ... //all that stuff CompilationUnit unit = (CompilationUnit) parser.createAST(null); 然後我做的: unit.types() //get all type

    7熱度

    3回答

    我是AST新手(我第一次寫插件)。表達在現實生活中可能相當複雜。例如,我想知道如何解決排序的左側和右側。 class Visitor extends ASTVisitor { @Override public boolean visit(Assignment node) { //here, how do I get the final name to e

    0熱度

    1回答

    我需要對由java解析器生成的AST執行一些操作。我的問題是我想檢查一個類的初始化週期問題是否存在。 一個例子是, class mark1 { public static final int x = mark2.p * 5; //Do some operations here } class mark2 { public static final int p = mar

    0熱度

    1回答

    如何使用JavaParser在類中使用行號獲取所有靜態最終聲明信息。 例 public class demo { private static final int x; private static final int y; private static final int z; // some code } 輸出繼電器是在第1行以2 私有靜態

    0熱度

    1回答

    我想檢查一個類對象創建是否在所有聲明之後? 例如 private final int x; private static final Myclass c = new Myclass(); private static final int deposit = 100; 我要檢查並打印如有聲明是有後private static final Myclass c = new Myclass();(

    5熱度

    2回答

    我目前正在嘗試使用PowerShell 3.0中引入的AST功能來修改ScriptBlock。我的要求是,ScriptBlock的參數塊中的所有參數都獲得[Parameter(Mandatory)]屬性。 基本上代碼應該修改此: Param([string]$x) Write-Host $x 這樣: Param([Parameter(Mandatory)][string]$x) Wri

    1熱度

    2回答

    我想從實際的python對象中獲取代碼。這是AST和parse的相反想法,我在內存中有一個對象,我想重新創建源代碼。我不想踏踏實實地字節碼這是過度的,我只是想對代碼的表示形式製造的物體: In [24]: from django.apps import apps In [25]: x= apps.get_app('accounts') In [26]: x Out[26]: <module