隨筆-26  評論-4  文章-0  trackbacks-0
           

              覺得時間過得很快,很多事情,還來不及思考,卻依然已經過去,可是許多的事情,明明已經過去,卻還是在不斷地思考,是為了挽回個人的顏面,還是為了挽回那自以為是的感覺。本周很多事情,做的都不算太好,回想整個工作的過程,竟然還沒有發現自己做了些什么?工作了,但是收獲卻并不多,曾經告誡自己的總結,卻依然沒有能夠去堅持,很心疼,卻也很無奈。
              項目的事情已經完成的差不太多,可能在一些細節的方面,需要自己進一步的去探究。距離上次使用.net平臺的東西,已經07年的事情,很慶幸還能夠記起一些,但是依然暴露出自己的許多問題。
              1、回想曾經學過的古訓,“工欲善其事,必先利其器”,做事情,過于急躁,依然是自己一個很大的毛病,沒有靜下來去思考,看看例子,學習學習模板,走的全是相反的方向,上來就往前沖,走了許多的彎路,也浪費了許多的時間,完全是愣頭青一個。如ue的使用、vs快捷鍵的使用等,都是對效率巨大的提升,可惜在前期卻沒有做。
              2、在做事情的過程中,沒有及時的跳出圈子,積極思考問題,沒有對問題進行通盤的研究與考量,只知道,把這個模塊弄好,也只想著學好這個技術,忘記了全面思考。做事情,不能光顧著腳下,一定要學著抬頭看天。如在弄css時,完全不會去考慮在各個模塊中的重用問題,在使用asp.net控件時,沒有沉下來去思考控件的功能點,疲于應對,卻忘記了積極思考。
              3、總結思路。想想這些周的忙碌,沒有太多的總結與提煉,雖然花費許多的時間,但是成長不足,沒有自己的沉淀與總結,在今后的項目中,也將會遇到更多的問題。始終記著一句話,你的能力是有限,但是你應該盡可能的在能力允許的范圍內,將自己的價值最大化。而現在的自己,恰恰是沒有做到這些,所以,總結沉淀這個習慣一定要完成。
              其實,綜上所述,發現更多的問題,還是出現在一個人的學習方法上。沒有按照一個適合的過程去學習,走了許多的彎路,但是依然執迷不悟,對于一個新工具,新方法的學習,應該試著從以下幾個方面去思考總結。
              1、程序幫助文檔。包括有,自帶的幫助手冊、安裝文件目錄結構等。許多現成的示例、demo就在自己的電腦上,如此簡單、易學的寶藏被丟棄的話,豈不是太可惜。所以,先學示例,然后,再圖發展。
              2、交流學習。都是有圈子的存在,都在努力著做著更好,你需要去尋找這樣的圈子。有的時候,真不應該去逃避,因為,你現在所不重視的,所嫌麻煩的,在今后的將來都會成為你發展的瓶頸,所以,明白那些是重要的事情,就應該去做,而不是去等,去跟別人交流著,也試著去勇敢的貢獻自己的力量。
              3、個人的總結。其實知識都是相通的,站在一個高度的時候,跳出自己的思維模式,學著去理解別人的思路與構想,試著去提煉、總結自己,這樣也許就是一個簡單的創新過程,而也許就是這些簡單的創新,才能夠讓自己變的有那么一點不一樣。
              成長總會要付出許多的努力,我不怕付出,我就怕自己的根本就沒有想到,所以,有的時候,勇敢的去面對現實,在自己的能力范圍內,把現在的自己做好,在自己能夠想到的事情做好。聽過一個語音內容,說是任何想法,任何創意,都是一個沉淀的過程,所以,不必太介意一時的得失,對于好的想法,記下來,在隔斷時間后,再試著去思考、擴展、刪減等等,當你最后剩下這些的時候,你就會明白,這些才是你真正想要去做的,所以,加油加油,在自己的能力范圍內,最大化自己的價值。

          posted @ 2012-03-18 22:50 mingsen 閱讀(335) | 評論 (0)編輯 收藏
              本周轉眼就過去了,隨之而來的,二月份也快見底了,匆匆忙忙的一個月,毛毛躁躁的一周,感覺收獲不是很大,是自己太急躁了點?還是太沉迷于事情本身,而忘記了跳出來思考?或者真的是兩者兼而有之。忙忙碌碌的一周,回憶起來最有收獲的,居然還是自己在下班之余寫的小結。因為匆忙,而忘記了自己曾經許多的習慣,也因為犯懶,而忘記了應該有的堅持,這個周,得恢復起來了,新的一周就要要開始了,抖擻起精神來,好好干活,機會不多,好好把握。

              本周完成的基本事項有:
              1、項目本身事宜的溝通,包括網絡問題初步溝通,需求問題初步溝通等。
                  高效很重要,臉皮厚也需要,不要怕打擾別人,有問題及時溝通,不能把自己憋傷了,學會珍惜自己的時間和精力,在思考問題全面的同時,及時解決問題,不要盲目等待。
              2、jquery學習
                  很強大的一個框架,優秀的定位功能,以及ajax異步、css裝飾等,在實現功能的同時,結合css的知識,達到網頁美化的目的。
                  內容很豐富,但是時間有限,嘗試著把每天學習到的新東西用xmind進行整理,慢慢積累,相信會收獲許多的。
              3、《金字塔原理》
                  陸陸續續在看著,雖然基本過了大概,但是不明白的東西還是很多,在接下來的這幾天時間里,抓緊時間吧,不然真的要食言了。
                  感想:書中提及的思考、表達方法是一些很有意思的嘗試,學習著 在交談、寫作前,提供更多有思考的信息,總結、歸納、分類等等,也學著設身處地的去做一件事情,想清楚其中的步驟流程,提煉后,進行交流、應用。
              4、游泳:
                  被老師說了一頓,自己也認為學習的太慢,水性很不好,但是依然希望能夠通過勤奮去彌補。本周周末,利用網絡資源,學習了下蛙泳的基本步驟,有些收獲,希望能繼續堅持,我的時間不多哇,好好加油啊~~
                  感想:早就應該知道主動去學習,一直以忙為借口去逃避,接下來不找借口,努力把事情做好。
              5、sybase ase 的安裝
                  真的很遺憾,忙活了一周,這個數據庫還是沒有配置好,遇到許多的問題,但是感覺自己沒有按照一個正確的思路去做、去構思、去定位問題。毛躁了太多,跳出的圈子還是不夠,這個周接著努力吧,不管怎么樣,靜下心來,當你把這個問題解決的時候,也許就是你再踏上一步的時刻,加油加油。

              6、學習方法的思考
                  本周遇到sybase安裝部署的問題,許多事情都沒有做好,在問題定位、縮小范圍、重復工作上存在較大問題。嘗試著將這方面的思路整理下,使用結構化的方式進行思考吧。

              總結本周的工作,用毛躁來形容真的是一點都不為過,下周的任務依然還有許多,學著安靜下來做事情吧,把手頭上的任務結束掉,學著勞逸結合,學習跳出圈子思考問題用好總結用好番茄鐘。    
          posted @ 2012-02-26 23:04 mingsen 閱讀(547) | 評論 (0)編輯 收藏
              本周的匆匆忙忙,似乎總是抓不住自己的時間,有點急躁,有點不安,但是所幸還好,能夠在后半程靜下心來去做事情,還挺不錯的。
              本周有幾件事情,讓自己有了技能及思考力上的提升,也在其中體會著成長的快樂,加油加油。
              1、學會使用 摳圖工具。
              之前使用 光影魔術手,一直不知道如何使用摳圖,一個誤打誤撞的機會,讓自己硬著頭皮折騰一把,發現還挺有意思的,呵呵,以后可以考慮多弄些素材,好好的學習下ps的東西,記住,要安排一個獨立的月份完成攝影和ps的工作。要學著獨立承擔責任,哪怕會耽誤一些自己的時間,但是依然很值當。
              2、學會使用div+css。
              不得不說,有些事情 得積累到一定的程度,才能夠想明白。之前一直在學習css的知識,但是一直沒能理解透徹其中的含義,但是當你真正投入進去的時候,開始逼迫著自己去學習的時候,才發現css其實真的很簡單。懂得區分 <div>和<span>的區別,懂得display:block的含義,知曉盒子模型(padding、border、margin的概念及區別),定位(position:absolute、relative等)、明白float的含義(定義float后,原有div與父div的關系),就能夠明白div布局的基本設計方式了,真的要比table好很多。推薦圖書《精通CSS+Div》 前沿科技-曾順。其實,積累不在于一時,而在于生活的分分秒秒中
              3、《金字塔原理》
              看了一半的內容,收獲還是頗多,明白寫文章的一個思路,也明白語言的思想性,嘗試著去整理學習吧,慢慢來,興趣是最好的老師。這個月馬上就要結束了,自己得抓緊時間了。
              4、log4j日志方法學習
              明白不同級別日志的記錄方式,進而思考項目中的日志問題,一個好的項目,必要的日志文件是必須的,就像一個開關,可以隨時通過配置文件,實現程序問題的快速定位,實現問題的解決。一個好的程序,不光是功能的實現,效率的高效,更是需要有清晰的代碼結構、日志記錄、注釋等,簡潔才是最優!!
              5、項目
              依然在穩步推進中,盡管還有許多未完成的事情,但是爭取加快進度,因為還有好多事情等著去努力,加油加油~~
              6、游泳
              已經開始了第二次課程學習,雖然嗆了好幾次水,但依然很不錯,能夠在水里面挪動了,呵呵,小小進步的開始,蛙泳,你得用心去學。
              在這些事情之外,其實還有好多令人沮喪的事情,但是始終覺得,既然一件事情,你投入了時間,投入了精力,那么就應該努力著去把它做好。下周的事情依然還有許多所以繼續努力,繼續前進。
              
          posted @ 2012-02-19 22:35 mingsen 閱讀(208) | 評論 (0)編輯 收藏
              生活得有著自己的節奏,當你的步調被打亂的時候,放松自己,學著去接受,進而去調整,不要急躁。
              把別人眼中的自己看輕,其實你本沒有那么的重要。
              但是,把自己眼中的自己看重,你其實很重要,你來到這個世界,是如此的特別,有自己的理想與追求,做好現在的自己。
              走慢一點,但要學著看遠一點~~~

              本周的工作進步不大,感覺有些渾渾噩噩,被一些事情干擾著,再加上本身就缺乏著計劃,有點手足無措的感覺,調整好自己,學著去理清楚,重要的事情,緊急的事情,加油加油!!行動前,請先思考。
              
              游泳的計劃已經開始了,希望能堅持。
              項目的事情,進入到比較棘手的階段,得用心去解決問題了,學著慢一些,思考全面一點,對于恐懼的事情,認真著手去解決。
              《金字塔的原理》已經開始閱讀了,但似乎沒有堅持做好,努力努力吧。
              一些重要的事情,如資訊、Excel等等,沒有著手準備,確實是不應該,調整調整吧。

              下一周,
              1、繼續讀書,繼續思考,
              2、提高工作效率,著手解決項目中遇到的難題。
              3、提高個人抗干擾的能力,把握好自己的節奏,專注并不僅僅是一種時間上的投入。
          posted @ 2012-02-12 22:28 mingsen 閱讀(186) | 評論 (0)編輯 收藏
              恐懼,每個人都會有,每個人都會在某一時刻對某些事情很犯怵,很擔心,也有許多人因此而畏首畏尾,自縛手腳。但是,其實,當你跳出這種情緒的包圍,以一種積極的心態來面對這件事情,把它當成一個問題來處理,而不管它將花費多長的時間,就是想著解決它,那么你會發現,其實并不可怕,而這也許就是自信心建立的開始。把恐懼、擔心的事情寫下來,分析它,用心去解決它。
              本周就有許多次這樣的嘗試,其實說成恐懼有點托大,但是至少是令人感到有些煩惱的一些事情,如照片的修復、虛擬網絡的搭建等等。很煩這樣的事情,一直拖到周末才集中處理,但是當你真正開始著手處理的時候,發現其實并不難,而這對于個人自信心的培養卻很重要。
              本周感覺挺受用的事情,主要如下:
              1、照片修復
              對于照片修復,知道肯定需要使用一些軟件來處理,上網找到了美圖秀秀,并進行了安裝,發現功能雖然很多,但是并不滿足自己的要求,于是繼續尋找。這次學乖了一點,找到了光影魔術手,先看說明及功能特性,發現依然不能滿足,直接跳過,尋找下一個軟件,雖然無用,但卻省去了自己下載安裝的時間和精力。最后,簡單的問題,還是依靠笨拙的方法解決了,想到了windows自帶的畫圖工具,依靠取點采樣,完成了圖片的修改。
              思考:在這整個過程中,發現做事情慢一點真的很重要。做之前,請先思量。會省時間,更會節約自己的精力。此外,慢一點的好處是,讓自己對一些事情,如軟件的功能點等,看的更仔細些,知道那些軟件可以做些什么,為下次節約了更多的時間。挺受用的一個方法。
              2、vmvare虛擬網絡搭建
              在本周,進行了虛擬網絡的搭建。為了滿足家庭網絡布局的要求,使用vmvare搭建了虛擬機及網絡,并在其上進行了系統及sql server的安裝,并通過vmvare實現虛擬網絡的搭建,就這樣,一個基于局域網的開發環境就構建好了,在今后的開發過程中,即可使用虛擬機進行,為自己的主機保持了一個相對干凈的使用環境。
              思考:期間也曾遇到網絡不通的問題,嘗試著跳出圈子進行思考,才發現,原來是防火墻的緣故。當你低頭干活時,嘗試著跳出來想想,站在更高的角度,也許會有更大的收獲。此外,平時的積累整理也很重要,對于一些重要的軟件、文檔等等,要學會整理,這樣才能有更大的提高,而不是等到出現問題,需要了,才撓破頭去找。
              3、工作上:
              在本周,對于工作上,應該說是依然在穩步推進著,雖然有點慢,但是對于節后的第一周,還是挺滿意,至少在狀態的恢復上還行。
              在項目上,對于需求方面的溝通,自己要先想明白,對于自己都不能明白的東西,就更別指望著客戶去想清楚,所以,做之前先思考,簡化流程,才能做出更好的系統。
              下周,要重點思考一些項目管理方面的問題,如進度管理、風險管理、培訓、個人時間管理、溝通等方法的問題。
              發現自己有些時候,有點過于嚴肅,應該試著放下自己,哪怕這樣會讓自己犧牲點時間。
              4、讀書
              本周,重點閱讀了《思考力決定競爭力》這本書,書中對于一些邏輯性思考的描述,還是挺有意思的,對于一個論點或論據,區分其是“結論”還是“假設”很重要,平對對于問題,多思考為什么,在閑暇時間,多考驗自己,像大前研一一樣,去積極思考,這樣,你才能在真正遇到問題的時候,快速的解決問題【多問自己,學會換位思考,適當YY,有益健康】。
              對于假設,要找出足夠的論點進行支撐,這樣,才能富有良好的結構,而這其中,就需要進行全面的思考,以及專業的態度,對于管理類問題、程序類問題,等等,都要嘗試著去鍛煉自己這方面的能力,挺有意思的事情,加油加油~~,本周,將在此基礎上完成《麥肯錫方法》的閱讀,以及《金字塔原理》的初步閱讀。
              5、思考
              本周感悟,認識到有一個字----“”的重要性,有些事情,不管你承認與否,它都是存在著。靜下心來去思考這份過程,你會發現自己并不是那么重感情,“敬”也許是表達的最貼切的說法,至少“敬”的成分會多很多,那么對于無法改變的事情,就去“敬”吧,同時也敬自己,尊重自己內心的想法,面對現實,開拓創新,也許就是我接下來應該去努力的事情。

              恍恍惚惚,寫下了這么多本周的思考與感想,對于本又想放棄寫周記的人該情以何堪啊~~,呵呵,不過既然決定了,就繼續吧,也不擔心各位朋友的笑話,堅持做自己才是最重要的,我要堅持把這個游戲玩到底,還要繼續折騰呢~~
              
          posted @ 2012-02-05 21:19 mingsen 閱讀(172) | 評論 (0)編輯 收藏
              轉眼即到2月了,總覺得自己在這個月做些什么,圍繞的新年的計劃,我得加把油去把一些事情執行一下了,列個計劃,嘗試著去做這些做好吧。
              1、游泳,本月報名,預計每周4個小時左右,依靠外力完成
              2、讀書;
                  《金字塔原理》
                  《思考力》
                  培養個人的邏輯思考能力,本月完成兩本書,使用思維導圖對其進行總結。睡前完成
              3、項目(花費大量時間)
                  工作上的事項:項目管理等嘗試
                  業余時間:vs學習
              4、Excel、英語學習,通過微博進行每日關注,每周總結。
              5、資訊信息,通過163等網站進行每日關注

              任務似乎非常的艱巨,想體驗嘗試的東西很多,盡力而為去嘗試吧。

              此外,有些事情,希望自己能接著做好
              1、資料的定期整理,養成良好的習慣
              2、總結回顧
              3、周計劃的執行
          posted @ 2012-02-01 22:51 mingsen 閱讀(147) | 評論 (0)編輯 收藏
              春節期間讀了兩本書,一本是余華的《活著》,還有一本是《十四堂人生創意課》,其實,都是在回家的途中閱讀的,頗有些感慨,尤其是前者,讓自己在讀的過程中,禁不住自己情緒的波動,為主人公的曲折人生感慨著,也為主人公的堅強而慶幸著,但是,想想,這人世間的苦難,怎么就這般呢,一個顫巍巍的老人,何以就能夠在人生的大悲大苦面前,這樣的從容,這樣的淡定呢?可能有人會想,這可能就是個小說而已,但是,我想,這絕對不僅僅是!

              春節期間,趁著拜年走親戚的功夫,和爸媽一起聊天,聊到了我外公、爺爺那一代人的人生經歷,真的感覺,在現實面前,在動蕩的時局面前,個人的力量是何等的微不足道,有時,時代會展示出它猙獰的面目,讓人們如此的戰栗與不安。在我們的上上一代人中,他們先后經歷了抗日救國、國共內戰、新中國成立、3年自然災害、十年文革、計劃經濟、改革開放等等故事,在時代的大起大落面前,因為年少的沖動,因為生活的艱辛,因為站錯了隊伍,過早地品嘗著人生的苦楚,那個時候,有人被活活餓死,有人因為生病沒錢治療,在家煎熬著等死,有人被批斗,有人被關進了牛棚里,而這些人,其實并不遠,就是咱們祖輩的兄弟姐妹們,他們與我們離的很近很近,本來他們可以過得很好,但是卻因為種種因素,年紀輕輕就過早的離去。有時,會突然地覺得,人活著是多么的不易,有時也會想到,能活到現在,真的是個奇跡。如今,生活的確是變好了許多,在父輩口中,只能過年才能吃到的菜,已經可以天天品嘗的到了,但是,父輩他們吃過的苦,又能有多少人,能夠去品味,去珍惜呢?

              讀欣頻的《十四堂人生創意課》則讓人為另一種生存的方式而喝彩著,雖然,不能做到書中描述的部分內容,但是,依然會是一些非常有意思的嘗試,嘗試著去以一種更健康、更高昂的態度去活著,去為那種豐富的人生閱歷活著,去品味著、也嘗試著去換位思考著,多一種視角,多一種與自然,與世界聯系的方式, 很有意思,讓自己有很強的沖動,想著去旅游、去學習、去交流,或許,這也是我們應該追求的另一種人生吧,也是我們生于這個時代,所應該做的珍惜吧。

              珍惜現在,活出自我。
          posted @ 2012-01-28 21:40 mingsen 閱讀(173) | 評論 (0)編輯 收藏
              新的一年,想放下曾今那個膽小、吝嗇的自我,想勇敢的去嘗試一些事情,學著跟自己做一些游戲,跟自己比賽。
              1、堅持去寫博客,堅持對每周的生活、工作、感想,進行著總結,這樣,當我到年底的時候,是不是可以嘗試著去出本書呢?好期待 那厚厚的、踏實的樣子。
              2、學會游泳生存必須的技能,只是為了在這個社會能夠活下去。
              3、項目管理。學習著去站在更高的角度思考問題,嘗試著去抓住僅有的幾次機會,你知道自己的機會并不多。
              4、英語口語。生存必備的技能,為了在這個世界上,能夠有更多的嘗試。
              5、旅游。想去很多的地方,可以一個人去,也可以和朋友一起,找個可以相互招呼,能夠愉快交談的人。可以開車自駕,也可以火車旅行,總之,不要在顧慮太多,其實確實也沒有太多可以去擔心的。山西、陜西必去的地方~~~,加油加油
              6、演講。希望能夠有良好的思考力與邏輯能力,能夠準確地表達自己的意思,提高與人溝通的技能~~,加油加油,這個差距真的很大。

              自己與自己賽跑,自己與自己比賽,你知道,其實你真的可以做的更好

              新年里的讀書清單:
              1、《十四堂人生創意課》
              2、《思考力》
              旅行:
              天柱山
          posted @ 2012-01-18 22:44 mingsen 閱讀(328) | 評論 (1)編輯 收藏

                已經很長時間沒有更新博客了,都有些忘記了網站的用戶和密碼了,看著博客的標題,真的有點慚愧,因為忙碌,因為缺乏方向,因為沒有堅持,真的忘記了許許多多。決定,還是 好好收拾整理下心情,寫一些自己的東西,也算是對過往生活的總結吧,人嘛,總是在總結積累中,逐步提高的。

                本文介紹的是一款軟件,xmind,一個思維導圖的軟件,之所以推薦,是因為很好用,工具的功能很強大,也能夠支持許多的知識技能,如“頭腦風暴”、“知識管理”、“圖書提綱”等等~~,但是 目前而且本人還是把他當做了一個優秀的 信息收集的功能,或者說也是一種知識管理吧,呵呵,不知道原作者看到了,會不會吐血~~
           
               廢話少說,嘗試著整理下吧,以下圖為例,說明思維導圖xmind的概況。

               


               哇,貌似圖形 有點大,但是更多的是想說明,這個軟件的一些基本的用法,和 功能的簡單介紹。

              我相信,如果看過這個圖的話,你會對思維導圖有一定的了解,如果 你 懂得一些基本的知識管理,你會知道,這個就是一個簡單的知識匯總與分類,是的,的確很簡單,但是這個至少能夠幫助我們幾點:
               1、快速的告訴我們,xmind 是個什么東西,能夠做什么(傳達信息)
               2、便捷的知識管理功能,對于 大綱信息,可以作為節點,對于 輔助信息,我們可以放到輔助提示框中,對于詳細的描述信息,可以放到 附注中(做到主次分明,快速定位信息)
               3、優秀的圖形表達能力。(賞心悅目)
              好了,暫時先總結這些吧,后續內容在整理資料后,繼續補充,歡迎提寶貴意見~~~
          posted @ 2011-11-10 22:26 mingsen 閱讀(1550) | 評論 (2)編輯 收藏
          1、概念:
                antlr是 another tool for language recongnition,用于 詞法、語法和語義分析。如果大家仔細看一些開源項目的lib包,會經常看到其包含有antlr.jar文件。

          2、使用場景:
                  設想一個運算的場景,“1+3”為多少,如果通過程序解析這個字符串,可以嘗試使用拆解字符串的方法,識別其中的運算符“+”,然后將結果輸出,感覺很簡單。但是,如果場景變化呢?“1+3-6/2”這個樣子的呢,也得改程序?是不是有些頭大呢?那么antlr就可以幫助你來解決這個頭大的問題。

          3、主要內容:
                    antlr重要包含三個重要的內容,分別是 詞法分析、語法分析、語義分析,其各個部分的用途主要如下所示:
                    詞法分析:  (識別出 “1”,“+”,“3”)

                         (1)逐個字符讀取公式源文件

                         (2)識別公式源文件中的詞法單元(Token)

                          (3)將詞法單元傳遞給語法分析器

                         (4)詞法分析器又叫掃描器(Scanner)  
                  語法分析:(識別1+3)

                          (1)從詞法分析器獲得詞法單元

                          (2)利用文法定義驗證詞法單元組合

                         (3)構造語法分析樹

                          (4)將語法分析樹傳遞給下一階段

                         (5)語法分析器又叫解析器(Parser)
                   語義分析:(計算結果)
                        (1)完成語義動作定義

                        (2)一般在語法分析器中完成語義分析

                 大致各部分的含義就是,首先 識別出 輸入的字符是否正確,其次檢驗字符之間的運算關系,然后計算得出相關的結果。

          4、主要工作:
                   需要寫兩個.g的文件,分別是 Expr.g和Eval.g文件,前者生成詞法、語法分析相關的java文件,通過編譯生成ExprLexer.java、ExprParser.java 和 Expr.tokens文件,后者生成語義分析文件,分別為Eval.java和Eval.tokens文件。
                   相關的編譯方法為:java org.antlr.Tool Expr.g

          5、開發環境搭建:
                    1、配置java環境變量
                    2、將antlr的相關jar包添加到環境變量中
                    3、運行 java org.antlr.Tool 進行驗證

          6、簡單代碼展示,用于計算簡答的加減運算
                    1)、expr.g
          grammar Expr;
          options {
           language=Java;
           output=AST;
           ASTLabelType=CommonTree; // type of $stat.tree ref etc...
          }
          @header {
           package test.tool;
          }

           prog: ( stat {/* System.out.println($stat.tree.toStringTree()); */})+ ;

          stat
           : expr  NEWLINE -> expr
           | NEWLINE    ->
           ;
          expr: multExpr (('+' ^|'-' ^) multExpr)* ;
          multExpr
           : atom (('/' ^|'*' ^) atom)*
           ;
           
          atom
           : INT
           | DOUBLE
           | ID
           | '(' ! expr ')' !
           ; 

          ID  :   ('N'|'R'|'A'|'C'|'I'|'D')'B'('S'|'H');
          INT :   '0'..'9'+ ;
          WS  :   (' '|'\t')+ {skip();} ;
          NEWLINE:'\r'? '\n' ;
          DOUBLE : (('0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9') ('0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9')*) '.' (('0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9') ('0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9')*); 

                  2)Eval.g
                     

          tree grammar Eval;     
          options {
           tokenVocab=Expr;    // read token types from Expr.tokens file
           ASTLabelType=CommonTree;  // what is Java type of nodes?
          }
          @header {
           package fanxiqian.tool;(可在此處添加 package和import等相關信息)
          }
          @members {
                 …………(可在此處添加java方法) 
          }

          prog: stat+ ;
          stat: expr+;

          expr returns [double value]
           : ^('+' a=expr b=expr) {$value = a+b;}  //此處定義了 相關運算符的含義
           | ^('-' a=expr b=expr) {$value = a-b;}
           | ^('*' a=expr b=expr) {$value = a*b;}
           | ^('/' a=expr b=expr) {$value=a/b;}
           | INT {$value = Integer.parseInt($INT.text);}
           | DOUBLE {$value = Double.parseDouble($DOUBLE.text);}
           ; 

                   3)通過編譯命令,生成相關的java文件
                                 java org.antlr.Tool Expr.g
                                 java org.antlr.Tool Eval.g  

                    4)編寫相關的測試類
          public class Test
          {
              public static void main(String[] args) throws Exception
              {
               ANTLRStringStream input;
               ExprLexer lexer;
               CommonTokenStream tokens;
               ExprParser parser;
                String formula="1+3";
             //開始解析
             formula += "\n";
             input = new ANTLRStringStream(formula);
             lexer = new ExprLexer(input);
             tokens = new CommonTokenStream(lexer);
             parser = new ExprParser(tokens);
             ExprParser.prog_return r = parser.prog();
             // walk resulting tree
                   CommonTree t = (CommonTree)r.getTree();
                   CommonTreeNodeStream nodes = new CommonTreeNodeStream(t);
                   Eval walker = new Eval(nodes);
                   System.out.println(walker.expr());
          //  }   

          即可得到輸出結果為4。

          7,總結
                 antlr是個強大的公式解析工具,本文只是簡單的一個小結,以后遇到相關的使用繼續補充吧,歡迎大家補充添加吧。
          posted @ 2011-05-16 20:12 mingsen 閱讀(4526) | 評論 (0)編輯 收藏
          僅列出標題
          共3頁: 上一頁 1 2 3 下一頁 
          主站蜘蛛池模板: 衡山县| 柳河县| 循化| 旺苍县| 涿州市| 杂多县| 阆中市| 鹿泉市| 怀化市| 昌宁县| 沿河| 西平县| 新蔡县| 华宁县| 仲巴县| 砚山县| 贵阳市| 八宿县| 淳化县| 衡阳市| 息烽县| 招远市| 仙居县| 徐州市| 阿克陶县| 峨边| 武宁县| 洪洞县| 岳阳市| 宁河县| 湖口县| 平山县| 颍上县| 拉萨市| 龙胜| 山东省| 衡阳县| 耒阳市| 盐边县| 齐齐哈尔市| 安国市|