blockly生成器

代碼生成器

大多數Blockly應用程序都要求將用戶程序翻譯成JavaScript、Python、PHP、Lua、Dart或其他語言。此操作在客戶端上被分塊執行。

 

生成代碼

第一步是包含所討論語言的生成器。主要包括以下幾種:

生成器類應該包含在blockly_compressed.js之後。例如,下面是包含的JavaScript生成器:

<script src="blockly_compressed.js"></script>
<script src="javascript_compressed.js"></script>

通過此調用,用戶的塊可以隨時從應用程序導出到代碼:

var code = Blockly.JavaScript.workspaceToCode(workspace);

 將前面兩行中的JavaScript替換爲Python、PHP、Moon或Dart,以切換生成的語言。

實時生成

生成代碼是一個非常快速的操作,因此頻繁調用此函數不會造成任何傷害。一種常見的策略是通過向Blockly的change事件添加一個偵聽器來實時生成和顯示代碼:

function myUpdateFunction(event) {
  var code = Blockly.JavaScript.workspaceToCode(workspace);
  document.getElementById('textarea').value = code;
}
workspace.addChangeListener(myUpdateFunction);

有關詳細信息,請參見事件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章