C-- 語言的語法

本書內容

前言

CPU0

處理器

虛擬機

組合語言

組譯器

編譯器

作業系統

打造CPU0

打造周邊裝置

相關書籍

打造編譯器

打造搜尋引擎

發明程式語言

設計作業系統

虛擬機器實作

重建網路

系統程式

訊息

相關網站

參考文獻

最新修改

簡體版

English

  1. C-- Language Specification
prog     :    { dcl ';'  |  func }
dcl     :    type var_decl { ',' var_decl }
     |    [ extern ] type id '(' parm_types ')' { ',' id '(' parm_types ')' }
     |    [ extern ] void id '(' parm_types ')' { ',' id '(' parm_types ')' }
var_decl     :    id [ '[' intcon ']' ]
type     :    char
     |    int
parm_types     :    void
     |    type id [ '[' ']' ] { ',' type id [ '[' ']' ] }
func     :    type id '(' parm_types ')' '{' { type var_decl { ',' var_decl } ';' } { stmt } '}'
     |    void id '(' parm_types ')' '{' { type var_decl { ',' var_decl } ';' } { stmt } '}'
stmt     :    if '(' expr ')' stmt [ else stmt ]
     |    while '(' expr ')' stmt
     |    for '(' [ assg ] ';' [ expr ] ';' [ assg ] ')' stmt
     |    return [ expr ] ';'
     |    assg ';'
     |    id '(' [expr { ',' expr } ] ')' ';'
     |    '{' { stmt } '}'
     |    ';'
assg     :    id [ '[' expr ']' ] = expr
expr     :    '–' expr
     |    '!' expr
     |    expr binop expr
     |    expr relop expr
     |    expr logical_op expr
     |    id [ '(' [expr { ',' expr } ] ')' | '[' expr ']' ]
     |    '(' expr ')'
     |    intcon
     |    charcon
     |    stringcon
binop     :    +
     |    –
     |    *
     |    /
relop    :    ==
     |    !=
     |    <=
     |    <
     |    >=
     |    >
logical_op     :    &&
     |    ||

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License