1
我正在嘗試構建一個編譯器,目前我已經完全迷失了。我有一個主類,並希望能夠與繼承申報的其他類,即class newClass extends classThatHasBeenDeclaredBefore { }
我輸入看起來像在語法中獲取列表
input:
class_main class_list { /* New program created */ }
和我class_list
包括我在我的程序中所有類的,也可以是空的。
一個簡單的類聲明如下:
class_decl:
CLASS_KWORD CLASS_ID
OPENCURLYBRACE
attributes_list
method_list
CLOSEDCURLYBRACE { /* Ok new class is created */}
| CLASS_KWORD CLASS_ID EXTENDS_KWORD CLASS_ID
OPENCURLYBRACE
attributes_list
method_list
CLOSEDCURLYBRACE { /* Has CLASS_ID Number 2 been declared before? */ }
;
有什麼辦法,我可以檢查第二CLASS_ID
已經宣佈或之前以某種方式使用?我的想法是,我的class_list
無法從我嘗試添加新課程的位置獲得,但我吮吸OCaml。