首页 > 代码 > 常规代码 > 正文

代码

阅读排行

任意表达式求值模块
2014-01-22 10:14:51   来源:Fortran.com   评论:0 点击:

本模块可实现运行时得到任意表达式,由程序处理该表达式获得数值。例如让用户输入函数,求取该函数的函数值或积分等。强烈推荐!

这是一套由 Fortran.com 上 Dr Stuart Midgley 书写的任意表达式求值模块,很牛很牛,基本上算包括了部分编译器的功能在你的应用程序里。很赞哦!!

包含附件中的模块(几百KB,较大,编译较慢,建议使用多文件,不要每次去单独编译它)


\

主程序示范如下:

program www_fcode_cn
  use params
  use extrafunc
  use interpreter
  implicit none
  character(len=255) :: s, f,error1,error2
  real(fdp) ::  r
  real(fdp), dimension(:),allocatable :: varvals
  integer :: funcnum
  write(*,*)"依次输入函数的自变量:"
  read(*,'(a)')s
  allocate(varvals(f_numbervars(s))) ! f_numbervars(s)为自变量的个数
  write(*,*)"输入关于自变量的函数:"
  read(*,'(a)')f
  write(*,*)"依次输入对应自变量的值:"
  read(*,*)varvals
  call s_createfn(f, s, funcnum,error1) ! 创建函数
  write(*,'(a)')trim(error1) ! 提示出错信息
  call s_evaluatefn(funcnum, varvals, r,error2) ! 计算函数值
  write(*,'(a)')trim(error2) ! 提示出错信息
  write(*,*)"函数值等于:",r
  call s_destroyfn(funcnum) ! 销毁函数
  stop
end program www_fcode_cn

模块可通过本地下载获得:
/download/ExpressionEvaluation.zip

相关热词搜索:任意 表达式求值

上一篇:MD5 哈希值计算程序
下一篇:为文本数据增加文本表格框

分享到: 收藏