lex 와 yacc로만 regular expression 을 구현할수 있을까요?

puaxx의 이미지

후...

한달전부터 regular expression 라이브러리를 구현해 보겠다고..

pcre나 gnu regex 라이브러리 만큼은 아니어도 흉내정도는 낼수 있는 regular expression 라이브러리를 만들어 보자고 시작을 했으나..

한달이 지난 지금도 헤매고 있으니 정말 미치겠군요...내 수준이 이것밖에 안되는지...점점 의욕을 상실해 가고 있고,회사일도 손이 잘 안잡힙니다..

regular expression 라이브러리를 꼭 만들어 보고 싶은데 막상 갈피를 잡기 위해 다른 사람이 써놓은 프로그램을 봐도 제대로 분석이 안되고,다른사람꺼 그대로 베끼기엔 자존심이 허락질 않고..

포기해야될지...계속 이대로 끙끙 대야 될지...

쩝...

그래서 다른 돌파구를 생각하고 있는데..

lex와 yacc만으로 regular expression 라이브러리를 만들수 있나요?

익명 사용자의 이미지

lex yacc이면 충분하다 못해 넘칩니다.

jyoung의 이미지

흠. 어짜피 lex안에 regular expression 처리기가 들어가 있는데.. lex를 사용해서 구현한다면 구현 하는 의미가...
regular expression 라이브러리는 boost나 MS에서 개발한 것도 있으니 그것도 참조하시면 도움이 되지 않을까 싶네요.

될대로 되라지..

오호라의 이미지

컴파일러 책을 우선 사세요.

kenneth C louden 교수인가. 아마도 성함이 맞을 겁니다.

번역서도 있습니다. 좋은 교수님들이 직접!! 번역하셔서 번역서로써도 완성도가 높습니다.

그리고, lex & yacc를 어떠한 소스도 없이 직접 구현하실수 있으면 참으로 대단한 일입니다.

물론 충분한 테스트가 뒤따라야 하겠지만, 아무튼 매우 힘든 일입니다.

ps. 소스참고 하실려면 lemon 정도가 적당할듯 합니다. ^^

Hello World.

익명 사용자의 이미지

lex yacc를 구현하는 것이 아니고,
lex yacc을 사용해서 regexp를 구현하고 싶은 겁니다.

익명 사용자의 이미지

lex yacc를 구현하는 것이 아니고
lex yacc을 사용해서 regexp를 구현하고 싶어합니다.

eminency의 이미지

yacc는 아예 용도가 전혀 잘못된 것 같고...
lex는 자체적으로 정규표현식을 사용하여 입력되는 토큰을 표현할 수 있도록 만들어져 있는데 정규표현식이 구현되어 있는 툴로 정규표현식을 구현한다는게 좀 어불성설 같습니다.

파일목록 출력 툴을 ls를 사용하여 만드는 것과 비슷한 얘기같네요.

노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.