V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zhy0216
V2EX  ›  问与答

"静态类型语言看来无法真正支持宏"??

  •  
  •   zhy0216 · 2013-06-17 19:40:24 +08:00 · 2748 次点击
    这是一个创建于 4183 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看<黑客与画家>发现这句话
    "尽管事实上静态类型语言看来无法真正支持宏(在我看来,一种语言不支持宏,那就不值得使用了)。"

    但是, C语言作为静态语言不是支持宏么?

    我搜索了下, 没有找到想要的答案...

    有高手解答下么?
    第 1 条附言  ·  2013-06-19 22:46:31 +08:00
    找到作者的回答了:
    http://www.paulgraham.com/raq.html
    第三个问题
    2 条回复    1970-01-01 08:00:00 +08:00
    middleware
        1
    middleware  
       2013-06-17 19:45:31 +08:00   ❤️ 1
    宏是语法分析阶段的能力,静态语言没有道理「不能支持」,只不过没有支持的实际语言而已。
    C 的宏是简单替换,不是语法意义上的宏。
    如果不用 S-exp 作为语法,实现宏比较困难,因为无法用语言本身来很自然的操作语法树。但是也不是完全不可能。
    zhy0216
        2
    zhy0216  
    OP
       2013-06-17 20:14:20 +08:00
    @middleware 貌似有点明白了, 谢谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2848 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:33 · PVG 20:33 · LAX 04:33 · JFK 07:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.