Skip to content

windy1946/codeObfuscation

Repository files navigation

Num Expressions: `a`::=`id`  variable identifier
| `n`  integer
| `f`  float
| `d`  double
| `b`  bool
| `op1 a`  unary arithmetic op
| `a1 op1 a2`  binary arithmetic op
| `a1 op3 a2`  compare arithmetic op

Unary operators: `op1`::= `++` | `--` | `!` | `~`| `absf`

Binary operators: `op2`::= `+` | `-` | `*`| `/` | `%` | 

Bool Expresion: `bo`::=`b` bool 
| `a1 op3 a2`

Bool operators: `op3`::= `&` | `|` | `>` | `>=` | `<` | `<=` | `==` | `!=`  

Value: `v`::=`num` | `bo`

Value Sequence `seq`::= `end` | `v` | `vs`,`v`

Function defination:  `fun`::= `id(seq) s`

Statements: `s`::=`skip`  empty statement
| `a1 = a2`  assignment
| `fun`  function defination
| `a = call fun`  function call
| `if(bo) s1 else s2`  conditional if-else
| `for(bo) s1`
| `goto label` 
| `switch(a)`
| `return a`
| `end`

Switch cases  swithc(a):=case a1: s1, break;
| default: s2;

Program start: `P::=s`






About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published