@@ -7,3 +7,60 @@ A hardware description language. Very much WIP at this time.
External modules are created in Kicad. For example, you may build some basic logic gates in Kicad. Then, you can use Electroscript to combine the logic gates together into something more complicated, like a binary adder, or even a computer.
See the `example.es` file for some example code.
## Current status
If you feed it this code: (see example.es)
```
extern module and("and.sch"); # a kicad schematic in the same directory which defines some input/output signals and wires them together in some way
extern module or("or.sch"); # same thing, but for or
extern module xor("xor.sch");
# a binary half adder
module half_adder(input a, input b, output sum, output carryOut)
Obviously there's still a way to go before it can generate a schematic, but it's coming along! The hard part(parsing/compiling the language) is done, now all that's left is lots of slow and tedious work(parsing the Kicad schematics and generating a new one).