在eclipse內,如果碰上平時使用alt+/可以出現的自動完成無法運作時,可以試試以下這個網址所述的:
http://stackoverflow.com/questions/908489/eclipse-java-code-completion-not-working
以英文版的eclpise而言,進入preferences -> Java -> Editor -> Content Assist -> Advanced,然後把東西勾一勾,如下圖就完成囉~~
在eclipse內,如果碰上平時使用alt+/可以出現的自動完成無法運作時,可以試試以下這個網址所述的:
http://stackoverflow.com/questions/908489/eclipse-java-code-completion-not-working
以英文版的eclpise而言,進入preferences -> Java -> Editor -> Content Assist -> Advanced,然後把東西勾一勾,如下圖就完成囉~~
[ lexer | parser | tree ] grammer Name : ANTLR宣告,Name必須與檔名相同。
=====
options { ... } : ANTLR的設定值
=====
@header { ... } : 產生出的java檔的表頭
=====
@members { ... } : 定義產生出的類別"成員與方法",也就是等於在裡面直接寫target language code的意思。
=====
若在重覆的規則中,要取得每個重覆的值,可以:
ee returns [int value]
: a1=INTT {$value+=Integer.parseInt($a1.text);}
('+' a2=INTT {
$value+=Integer.parseInt($a2.text);
System.out.println($value);
}
)+NEWLINE ;
上述的重點在於a2的左右大括號必須在()+內撰寫,這樣才能取得每一次的值,否則在()+後寫,會只找到最後一個值。
=====
如果要取一個parser邏輯的所有內容,則可以使用$text即可。例如:
statement:
'if' parExpression a1=statement ('else' statement)? { System.out.println("node: " + "if"); System.out.println("status: " + "else"); System.out.println("statement: " + $a1.text);
}
這裡的$a1.text是指第一個statement,但如果直接印出$text就會出現與這個規則符合的全部字串。
=====
在執行java程式時,碰上了錯誤是
java.lang.OutOfMemoryError: Java heap space
雖然知道是啥,但是不知道eclpise在哪改,事實上只要到run -> run Configuration,在(x)= Arguments的分頁內的VM argument中,輸入自己想要的空間即可~~
-Xmx512m
以上的意思是說,把heap memory設定為512MB。
附圖如下:
mysql_query("SET NAMES 'utf8'"); //要從資料庫顯示utf-8資料要加三行--第一行 mysql_query("SET CHARACTER_SET_CLIENT=utf8"); //第二行 mysql_query("SET CHARACTER_SET_RESULTS=utf8"); //第三行搞定~~