由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - How to Parsing function in Haskell?
相关主题
YACC tables (yyact, yypact, yypgo ...) 的问题 (转载)请教关于OpenNLP 和 Stanford NLP 选择
help with Programming!!!rrdw:请教一个shell 编程远程文件操作问题.
histogram用什么画好?CFP: CVIU Special Issue on Shape Modeling in Medical Image Analysis
新手请教如何抓blog data的问题[转载] 求教高手:如何用程序实现递归函数的一般表达式?
请问一个关于nlp parser的问题[转载] LISP问题求教
一个程序的小问题问个common lisp的问题
文科PhD,没什么课修了,打算学点CS的东西,修什么课开始?请教各位大牛,小学生要学编程的话,学什么语言好?
google sheet怎么取已知序号的值emacs太难用了呀
相关话题的讨论汇总
话题: anatom话题: sexp话题: return话题: ansym话题: parens
进入CS版参与讨论
1 (共1页)
o****i
发帖数: 1706
1
It needs to parse function in Lisp format. For example...
(+ 3 4) or (* 3 4 2)
I got a something like below, but it only can parse experession like (3 + 4)
, any advice to improve this? Thanks...
mulop = do{ symbol "*"; return (SExp "*")}
<|> do{ symbol "/"; return (SExp "/")}
addop = do{ symbol "+"; return (SExp "+")}
<|> do{ symbol "-"; return (SExp "-")}
anInt = do d <- digits
ws
return $ IntExp (read d)
anSym = oneOf ['-','*','+','/',':',''','?','>','<','=']
anVar = do first <- letter <|> anSym
rest <- many (letter <|> adigit <|> anSym)
ws
return (SymExp (first:rest))
anAtom = anInt
<|> anVar
<|> parens anAtom
anExp = parens expr
<|> anAtom
expr = term `chainl1` term
term = factor `chainl1` factor
factor = parens expr
<|> anAtom
1 (共1页)
进入CS版参与讨论
相关主题
emacs太难用了呀请问一个关于nlp parser的问题
可以直接改.eps file吗? (转载)一个程序的小问题
does anyone know how to input this symbol in Latex? or its name?文科PhD,没什么课修了,打算学点CS的东西,修什么课开始?
请问有人用过cholmod solver吗?google sheet怎么取已知序号的值
YACC tables (yyact, yypact, yypgo ...) 的问题 (转载)请教关于OpenNLP 和 Stanford NLP 选择
help with Programming!!!rrdw:请教一个shell 编程远程文件操作问题.
histogram用什么画好?CFP: CVIU Special Issue on Shape Modeling in Medical Image Analysis
新手请教如何抓blog data的问题[转载] 求教高手:如何用程序实现递归函数的一般表达式?
相关话题的讨论汇总
话题: anatom话题: sexp话题: return话题: ansym话题: parens