이곳밖에 대답해 주실분이 없을거 같아서 올립니다. java로 타 프로그램을 코드를 읽고 실행하는 프로그램을 짜야 합니다. ㅠㅠ

sungsoo81의 이미지

aa

klyx의 이미지

왜 루아 코드를 자바로 읽어서 실행해야 하나요?
자바로 루아 인터프리터를 구현하는 것 그 자체가 목적이라면 모르겠습니다만,
그게 아니라면 루아 코드를 실행하는 가장 쉽고 일반적인 방법은 루아 인터프리터를 이용하는 것입니다.
구글을 찾아보니 자바 프로그램에 내장가능한 인터프리터도 있는 듯하고, 원하시는 루아의 자바 구현도 있는듯합니다.
정말 인터프리터를 구현하는게 목적이라면 자바로 루아를 구현한 프로젝트를 참고하시면 될테고,
단순히 루아 스크립트를 실행하는게 목적이라면 인터프리터를 내장하면 될것같습니다.

sungsoo81의 이미지

우리 교수가 미쳤어요...란게 두번째 대답입니다..^^;;

익명 사용자의 이미지

교수님이 그렇게 해보라고 시키시는 이유가 있으시겠죠...
직접 해보시면 많은 것을 배우고 느끼시게 될 거 라고 생각합니다
근데 여기서 질문해서 얻은 답안으로 해결하시면 그런 것을 못 배우시겠죠

아래에 올라올 답글에서 조언이나 힌트가 아닌 해답이 안올라오길 바라는 마음에서 미리 이렇게 글을 남깁니다

그리고 아주 어려운 문제는 아닙니다
잘 궁리해보세요
직접 해보면 많이 배우게 되실 거예요

마지막으로 잔소리처럼 들리겠지만
이 사이트에 교수들님도 자주 들어오실 것입니다
말을 조심해서 하세요
"우리 교수가 미쳤어요"가 뭡니까
여기가 10대들 노는 모 사이트 같으신가요?

sungsoo81의 이미지

몇일 고민해도 답이 안나오고 여기저기 물어보는 성격이 아니라 답답해서 쓴글이 심기를 불편하게 해드려서 죄송합니다.

저도 뭐 답을 써달라 이런거 원하지도 바라지도 않습니다.

작은 힌트하나 얻기 위해 쓴글인데 오해의 소지를 불러일으키고 있네요

아무튼 죄송합니다. 지우고 싶지만 지우는 방법을 모르겠네요.

kaeri17의 이미지

이정도야 괜찮지 않나요... 학생 입장에서는 기한은 짧고 아무리 생각해도 모르겠는거 시키면 화날 만 하죠...

cleol의 이미지

컴파일러 과목인가요?
그렇다면 교재를 공부하면 답이 나올터이고.
컴파일러 과목이 아닌데 저런 숙제가 자바 문법만 아는 학생들에게 나왔다면...
정말 좋은 숙제인데요~ : )
그렇다면 결국에는 못 풀어도 좋으니까 그냥 혼자 끙끙대면서 이런 저런 시도를 해보는 것이 좋을겁니다.
머리를 어떤 식으로 굴리고 계신지 스스로를 잘 살펴보세요.
혹시 머리에 힘만 주고 있지, 정말로 "생각"을 하지는 않고 있을지도 모릅니다. ^^
이정도 문제는 인터프리터 만드는 이미 정립되어 있는 방법에 대해 미리 공부하지 않더라도, 혼자서 해결할 수 있어야 합니다.
천재가 아닌 이상 처음에는 지저분하고 확장성도 없는 방법으로 해결하겠지요.
우아하게 해결하지는 못하더라도, 거기서부터 출발하는 겁니다.
그래야 뭐가 "문제"인지 어떤 기술적인 면을 해결해야하는지.
나중에 배우게 될 이미 정립되어 있는 방법들은 어째서 훌륭한 것인지.
그 방법들의 한계는 무엇인지 알 수 있습니다.
머리를 잘 굴려보세요. 힘만 주지 마시고^^

jick의 이미지

근데 인터프리터 구현을 숙제로 내기 이전에 먼저 lex, yacc 같은 거 배우고 시작하지 않나요?

그게 아니라도 최소한 손으로 짤 수 있는 LL(1) parser는 진도에 들어있겠죠?

아니라면... 뭐... 흠좀무... 굿럭... -_-;;;

일단 Lua의 문법을 어떻게 context-free grammar로 나타낼 수 있는지 생각해 보세요.

* 다 그렇게 맨땅에 헤딩하면서 실력이 쑥쑥 자라는 겁니다.

sql2의 이미지

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. "우리 교수가 미쳤어요..." 발없는 말이 안드로메다까지 갑니다.

익명 사용자의 이미지

교수님이 보실지도 ㅋ

happychois의 이미지

실력 = 고민하고 해결하는 기간

저는 이렇게 생각해요~
해답은 역시 자기 자신이 알아내야 실력이 느는거라고 생각하거든요^^

-------------------------------
덤벼라 서버야 - _-)

lain07의 이미지

번역서도 있긴 한데 번역의 질이 아스트랄하긴 합니다.

프로그래밍 언어론(8판)
ROBERT W. SEBESTA
-> 닥치고 개론서라서 지식 습득에는 좋으나 현 과제에는?

프로그래밍 언어론
ALLEN B.TUCKER , ROBERT E. NOONAN
-> 이 책은 실 예시(c와 비슷한 언어)를 다루고 있어서 보다 도움이 될 겁니다.
그리고 자바로 프로그래밍 하므로 상당히 도움이 될 겁니다.

우선 도서관에서 빌려서 찾아보시기 바랍니다..


___________________________
I like Small Linux.

sungsoo81의 이미지

교수 발언은..정말 죄송하게 됐습니다. 제 교수가 미국인이라..(저도 미국에 있구요...) 한국 교수님들을 폄하하는

발언이 될거란 생각을 못했네요...

조언 감사드립니다.

제가 뒤늦은 나이에 컴퓨터 공부를 시작해서 좀 많이 떨어지나 봅니다...아무튼 주신 조언대로 노력해 볼게요...

kaeri17의 이미지

이것보다 컴파일러 책의 파서 구현부분을 보는 것이 좋을 듯 합니다. PL책에는 이런 부분이 없으니까요.

kaeri17의 이미지

http://www.cs.uky.edu/~lewis/essays/comp-index.html

bottom-up parser를 구현하는건 툴 없이는 힘드니 그냥 recursive descent parser로 구현하는 게 좋을 듯 합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.