Skip to content

goldknife6/cs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

c-short

  1. programdeclist | ε
  2. declistdeclist dec | dec
  3. decvardec | funcdec
  4. vardecvar type-id vardecid [= simpleexpr] ;
  5. vardecidID | ID [ NUMCONST ]
  6. funcdecdef ID ( paramlist| ε ) type-id { locvardecList stmtlist }
  7. paramlistparamlist , paramt | paramt
  8. paramttype-id ID
  9. stmtexprstmt | compoundstmt | ifstmt | whilestmt | forstmt | returnstmt | breakstmt
  10. compoundstmt{ locvardecList stmtlist }
  11. locvardecList → locvardecList locvardec | locvardec
  12. locvardecvar type-id vardecid [= simpleexpr] ;
  13. stmtlist → stmtlist stmt | ε
  14. exprstmtexprlist ; | ;
  15. ifstmtif ( exprlist ) stmt [ else stmt ]
  16. whilestmtwhile ( exprlist ) stmt
  17. forstmtfor ( exprlist ; exprlist ; exprlist ) stmt
  18. returnstmtreturn ; | return exprlist ;
  19. breakstmtbreak ;
  20. exprlistexprlist , expr | expr
  21. exprassignexpr | simpleexpr
  22. assignexpr$ mutable = expr
  23. simpleexpr → simpleexpr | andexpr | andexpr
  24. andexpr → andexpr & unaryRelExpr | unaryRelExpr
  25. unaryRelExpr → ! relExpr | relExpr
  26. relExpr → sumExpr relop sumExpr | sumExpr
  27. relop<= | < | > | >= | == | !=
  28. sumExpr → sumExpr sumop term | term
  29. sumop+ |
  30. term → term mulop unaryexpr | unaryexpr
  31. mulop'*' | / | %
  32. unaryexpr → [] factor
  33. factorimmutable | mutables
  34. mutableID
  35. immutable( expr | ε ) | call | NUMCONST | CHARCONST | STRINGCONST | true | false
  36. call[ arglist ] ID
  37. arglist → arglist ',' expr | expr

About

A C-Like Programming Language

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages