왜 루아 코드를 자바로 읽어서 실행해야 하나요?
자바로 루아 인터프리터를 구현하는 것 그 자체가 목적이라면 모르겠습니다만,
그게 아니라면 루아 코드를 실행하는 가장 쉽고 일반적인 방법은 루아 인터프리터를 이용하는 것입니다.
구글을 찾아보니 자바 프로그램에 내장가능한 인터프리터도 있는 듯하고, 원하시는 루아의 자바 구현도 있는듯합니다.
정말 인터프리터를 구현하는게 목적이라면 자바로 루아를 구현한 프로젝트를 참고하시면 될테고,
단순히 루아 스크립트를 실행하는게 목적이라면 인터프리터를 내장하면 될것같습니다.
컴파일러 과목인가요?
그렇다면 교재를 공부하면 답이 나올터이고.
컴파일러 과목이 아닌데 저런 숙제가 자바 문법만 아는 학생들에게 나왔다면...
정말 좋은 숙제인데요~ : )
그렇다면 결국에는 못 풀어도 좋으니까 그냥 혼자 끙끙대면서 이런 저런 시도를 해보는 것이 좋을겁니다.
머리를 어떤 식으로 굴리고 계신지 스스로를 잘 살펴보세요.
혹시 머리에 힘만 주고 있지, 정말로 "생각"을 하지는 않고 있을지도 모릅니다. ^^
이정도 문제는 인터프리터 만드는 이미 정립되어 있는 방법에 대해 미리 공부하지 않더라도, 혼자서 해결할 수 있어야 합니다.
천재가 아닌 이상 처음에는 지저분하고 확장성도 없는 방법으로 해결하겠지요.
우아하게 해결하지는 못하더라도, 거기서부터 출발하는 겁니다.
그래야 뭐가 "문제"인지 어떤 기술적인 면을 해결해야하는지.
나중에 배우게 될 이미 정립되어 있는 방법들은 어째서 훌륭한 것인지.
그 방법들의 한계는 무엇인지 알 수 있습니다.
머리를 잘 굴려보세요. 힘만 주지 마시고^^
왜 루아 코드를 자바로 읽어서 실행해야
왜 루아 코드를 자바로 읽어서 실행해야 하나요?
자바로 루아 인터프리터를 구현하는 것 그 자체가 목적이라면 모르겠습니다만,
그게 아니라면 루아 코드를 실행하는 가장 쉽고 일반적인 방법은 루아 인터프리터를 이용하는 것입니다.
구글을 찾아보니 자바 프로그램에 내장가능한 인터프리터도 있는 듯하고, 원하시는 루아의 자바 구현도 있는듯합니다.
정말 인터프리터를 구현하는게 목적이라면 자바로 루아를 구현한 프로젝트를 참고하시면 될테고,
단순히 루아 스크립트를 실행하는게 목적이라면 인터프리터를 내장하면 될것같습니다.
자바로 루아 인터프리터를 구현하는 것 그 자체가 목적입니다..^^;;
우리 교수가 미쳤어요...란게 두번째 대답입니다..^^;;
교수님이
교수님이 그렇게 해보라고 시키시는 이유가 있으시겠죠...
직접 해보시면 많은 것을 배우고 느끼시게 될 거 라고 생각합니다
근데 여기서 질문해서 얻은 답안으로 해결하시면 그런 것을 못 배우시겠죠
아래에 올라올 답글에서 조언이나 힌트가 아닌 해답이 안올라오길 바라는 마음에서 미리 이렇게 글을 남깁니다
그리고 아주 어려운 문제는 아닙니다
잘 궁리해보세요
직접 해보면 많이 배우게 되실 거예요
마지막으로 잔소리처럼 들리겠지만
이 사이트에 교수들님도 자주 들어오실 것입니다
말을 조심해서 하세요
"우리 교수가 미쳤어요"가 뭡니까
여기가 10대들 노는 모 사이트 같으신가요?
아 제가 실수했습니다.
몇일 고민해도 답이 안나오고 여기저기 물어보는 성격이 아니라 답답해서 쓴글이 심기를 불편하게 해드려서 죄송합니다.
저도 뭐 답을 써달라 이런거 원하지도 바라지도 않습니다.
작은 힌트하나 얻기 위해 쓴글인데 오해의 소지를 불러일으키고 있네요
아무튼 죄송합니다. 지우고 싶지만 지우는 방법을 모르겠네요.
에이 뭐 이정도야...
이정도야 괜찮지 않나요... 학생 입장에서는 기한은 짧고 아무리 생각해도 모르겠는거 시키면 화날 만 하죠...
컴파일러 과목인가요?그렇다면 교재를 공부하면 답이
컴파일러 과목인가요?
그렇다면 교재를 공부하면 답이 나올터이고.
컴파일러 과목이 아닌데 저런 숙제가 자바 문법만 아는 학생들에게 나왔다면...
정말 좋은 숙제인데요~ : )
그렇다면 결국에는 못 풀어도 좋으니까 그냥 혼자 끙끙대면서 이런 저런 시도를 해보는 것이 좋을겁니다.
머리를 어떤 식으로 굴리고 계신지 스스로를 잘 살펴보세요.
혹시 머리에 힘만 주고 있지, 정말로 "생각"을 하지는 않고 있을지도 모릅니다. ^^
이정도 문제는 인터프리터 만드는 이미 정립되어 있는 방법에 대해 미리 공부하지 않더라도, 혼자서 해결할 수 있어야 합니다.
천재가 아닌 이상 처음에는 지저분하고 확장성도 없는 방법으로 해결하겠지요.
우아하게 해결하지는 못하더라도, 거기서부터 출발하는 겁니다.
그래야 뭐가 "문제"인지 어떤 기술적인 면을 해결해야하는지.
나중에 배우게 될 이미 정립되어 있는 방법들은 어째서 훌륭한 것인지.
그 방법들의 한계는 무엇인지 알 수 있습니다.
머리를 잘 굴려보세요. 힘만 주지 마시고^^
컴파일러 숙제로군요
근데 인터프리터 구현을 숙제로 내기 이전에 먼저 lex, yacc 같은 거 배우고 시작하지 않나요?
그게 아니라도 최소한 손으로 짤 수 있는 LL(1) parser는 진도에 들어있겠죠?
아니라면... 뭐... 흠좀무... 굿럭... -_-;;;
일단 Lua의 문법을 어떻게 context-free grammar로 나타낼 수 있는지 생각해 보세요.
* 다 그렇게 맨땅에 헤딩하면서 실력이 쑥쑥 자라는 겁니다.
교수와 학생
KLDP 에서 요근래 몇차례 비슷한 사례가 올라 왔었는데요.
학생 수준을 고려안하고, 가이드도 안해주고 과제를 내주는 교수도 문제고,
과제를 받아도 어떻게 접근하고, 해결해야 할지 모르는 학생도 문제입니다.
FM 은 tiger 소스보고 잘~ 수정해서 제출하는 방법
AM 은 대부분의 학생들이 못할테니 적당한 선에서 제출하는 방법
추천 도서 :
http://www.amazon.com/Programming-Languages-Methodologies-Robert-Schalkoff/dp/0763740594/ref=sr_1_1?ie=UTF8&qid=1304657093&sr=8-1
ps. "우리 교수가 미쳤어요..." 발없는 말이 안드로메다까지 갑니다.
교수님이 보실지도 ㅋ
교수님이 보실지도 ㅋ
ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
실력 = 고민하고 해결하는 기간
저는 이렇게 생각해요~
해답은 역시 자기 자신이 알아내야 실력이 느는거라고 생각하거든요^^
-------------------------------
덤벼라 서버야 - _-)
이 책들을 보시길 바랍니다.
번역서도 있긴 한데 번역의 질이 아스트랄하긴 합니다.
프로그래밍 언어론(8판)
ROBERT W. SEBESTA
-> 닥치고 개론서라서 지식 습득에는 좋으나 현 과제에는?
프로그래밍 언어론
ALLEN B.TUCKER , ROBERT E. NOONAN
-> 이 책은 실 예시(c와 비슷한 언어)를 다루고 있어서 보다 도움이 될 겁니다.
그리고 자바로 프로그래밍 하므로 상당히 도움이 될 겁니다.
우선 도서관에서 빌려서 찾아보시기 바랍니다..
___________________________
I like Small Linux.
모든 분들의 조언 감사드립니다.
교수 발언은..정말 죄송하게 됐습니다. 제 교수가 미국인이라..(저도 미국에 있구요...) 한국 교수님들을 폄하하는
발언이 될거란 생각을 못했네요...
조언 감사드립니다.
제가 뒤늦은 나이에 컴퓨터 공부를 시작해서 좀 많이 떨어지나 봅니다...아무튼 주신 조언대로 노력해 볼게요...
일단 과제를 해결하기 위해서는
이것보다 컴파일러 책의 파서 구현부분을 보는 것이 좋을 듯 합니다. PL책에는 이런 부분이 없으니까요.
일단 이 링크에 있는 것을 차근차근 읽어보시면 좋을 듯 합니다.
http://www.cs.uky.edu/~lewis/essays/comp-index.html
bottom-up parser를 구현하는건 툴 없이는 힘드니 그냥 recursive descent parser로 구현하는 게 좋을 듯 합니다.
댓글 달기