我有一個學校作業,其中包括爲指定的簡單語言編寫掃描儀/詞法分析器。掃描儀必須用C++編程。現有學校作業的替換項目
這種類型的任務自90年代以來一直使用,雖然仍然是一個有效的excersise,我認爲它有點過時和有點無聊。
我已獲得許可提出新的編程任務。它必須有同樣的難度,它可以在C++,Objective C或Java中使用。
我該走的是什麼方向,有相同的難度,但更現代一點,適用於現代CS /生活。
謝謝
我有一個學校作業,其中包括爲指定的簡單語言編寫掃描儀/詞法分析器。掃描儀必須用C++編程。現有學校作業的替換項目
這種類型的任務自90年代以來一直使用,雖然仍然是一個有效的excersise,我認爲它有點過時和有點無聊。
我已獲得許可提出新的編程任務。它必須有同樣的難度,它可以在C++,Objective C或Java中使用。
我該走的是什麼方向,有相同的難度,但更現代一點,適用於現代CS /生活。
謝謝
這種類型的任務...被認爲是有點過時和有點無聊。
我很好奇:誰認爲這個陳舊?你的教授?有人在解析社區中顯着?或者你?
掃描儀和解析器仍然與專業軟件開發相關,更重要的是與計算科學相關。如果你想了解電腦,那麼你應該瞭解掃描儀和解析器。如果你確信你應該做一些其他的任務,爲什麼不寫一個工具來生成C++中的掃描器呢?您可以提供一組正則表達式來定義語法的標記,它可以提供一個C++程序來識別輸入標記。然後,你永遠不需要再次寫一個掃描儀!
對於該建議+1。雖然對於像OP這樣聰明的人來說,這不會是一個挑戰;-) – 2010-01-18 15:47:25
這不是我遇到的問題,編寫掃描儀絕對是一個挑戰。問題是其他學生髮現它很無聊(我會)。這是第四年的任務,第二年有一些項目,這些項目更有趣並且涵蓋相同的概念。 即將進入第四年,如斯蒂芬C恰當地注意到的那樣,對於許多學生來說這樣做是無聊的。 另外,你在哪裏閱讀,我認爲掃描儀和解析器是不相關的? 事實是,這個任務不符合當前的項目和類,這是一個過去的遺留問題。 – bing 2010-01-18 17:23:12
所以,如果你認爲他們是相關的,你會說「我想跳過相關知識,因爲我覺得它很無聊」?也許你不應該再學習CS。 – jalf 2010-01-18 17:59:57
爲什麼你認爲Lexers/Parsers不再相關?我發現我至少每年都會按照這些原則寫一些內容。
作爲一名軟件工程師,我會說你在CS課程中編寫的任何代碼都是你生活中可能編寫的最好的代碼。一旦你進入這個行業,你可能只會寫模塊而不是整個東西。
相信我。一旦你進入這個行業並在這裏待了一段時間,你只需要編寫這些編譯器,彙編器,詞法分析器。所以請不要錯過這個機會。
我相信在編寫這些「無聊」的東西時遇到的挑戰是值得的,一旦你開始設計這些東西,你會發現它們真的很有趣。
這個作業的課程名稱是什麼? – laura 2010-01-18 13:35:15
在學校做無聊練習是至關重要的,這樣你就可以學習編寫無聊的程序,當你進入勞動力隊伍時:-) – 2010-01-18 14:17:27
聽起來像無聊的手段,以幫助你:-) – 2010-01-18 17:45:40