問題タブ [constantfolding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - 定数折りたたみ最適化なしで Python ソースをコンパイルする
次のようなpythonスニペットがあります
これを AST にコンパイルすると、次のようになります。
生成された AST6 * 8は48 に最適化されていないことに注意してください。
ただし、この生成された AST をコンパイルして逆アセンブルすると、6 * 8に置き換えられ48ます。
私の質問
一定の折り畳みの最適化なしでコードをバイトコードにコンパイルする方法は? 難読化ツールを開発するには、これを行う必要があります。
c# - 定数折りたたみ可能な方法で JSON マップを逆シリアル化する C#
<string,string> マップの文字列表現を U-SQL プログラムに渡し、それを C# Dictionary<string,string> に逆シリアル化して、それを U-SQL SqlMap に変換できるようにする必要があります。私は一定の折りたたみ可能な方法でそれを行う必要があります。私の最近の試み:
「E_CSC_USER_EXPRESSIONNOTCONSTANTFOLDABLE: 式を定数として折りたたむことはできません」で失敗します。
文字列をマップにデシリアライズする方法を数多く見つけましたが、これまでのところ、常に折りたたみ可能なものはありませんでした。ここでも役立つ定数折り畳み式の c# 式のリストが見つかりません。
java - Java 言語仕様、Java SE 11 Edition (JLS SE 11) の定数フォールディングの説明はどこにありますか?
私の知る限り、Java は4.12.4の定数変数を、コンパイル時の定数の折りたたみによって処理します。最善を尽くしましたが、JLS からその説明を見つけることができませんでした。Java 11のコンスタント フォールディングプロセスの公式の説明がどこにあるか教えてもらえますか?