Formatted slides from


C'Dent -- An Acmeist Programming Language

Ingy döt Net

SeaPig - 8 April, 2010

http://cdent.org


Welcome!


Welcome!

Who Are You Guys???


Dive into C'Dent

Let's get right into it...

---- python
---- include world.cd.py


Dive into C'Dent

> cdent --help
> cdent --version

> cdent --compile --in=world.py --out=rb
> cdent --compile --in=world.py --out=pm
> cdent --compile --in=world.py --out=js
> cdent --compile --in=world.py --out=php
> cdent --compile --in=world.py --out=py

> cdent --compile --in=world.py --out=pm6
> cdent --compile --in=world.py --out=py3


Ingy döt Net and C'Dent

Tonight you will learn:


Ingy döt Net in Five Minutes


Acmeism


Modules Are Our Greatest H.O.P.E.


C'Dent is a Portable Module Programming Language


C'Dent is a Portable Module Programming Language


What is C'Dent Good For?


Dive Back In

> cdent --compile --in=world.cd.py --to=cd.yaml --debug=1

> cdent --compile --in=world.cd.py --out=foo.cd.yaml

> cdent --compile --in=foo.cd.yaml --to=py


What's in a Name?


C'Dent is Just Another Python Module


The C'Dent Parser Grammars

C'Dent uses a grammar that is a Python class generated from preprocessed YAML files that contain Regexp based rules.

Let's take a looksy...


Under the Hood

Compilation is divided into 3 steps:


C'Dent Design Goals


C'Dent Comparisons

People have compared C'Dent to things like:


Error Handling


Advanced Topics

So far I've made C'Dent sound like a trivial project. It's not.

There are some deep issues to wrestle with.


Strong Typing (Advanced)


External Module Wrapping (Advanced)


C Code Generation (Advanced)


TestML


AcmeDoc


Hacking on C'Dent


The End

Any Questions?

Slides are here:

CdentSlides (last edited 2010-04-10 20:15:11 by DavidDyck)