Skip to content
This repository has been archived by the owner on Sep 1, 2021. It is now read-only.

Declarative meta fields #20

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Declarative meta fields #20

wants to merge 1 commit into from

Conversation

washort
Copy link

@washort washort commented Mar 11, 2012

No description provided.

… order to allow development of compiled parsers.
@ZiglioUK
Copy link

Excuse my dumb questions (I'm a Python newbie)
What are Named Elements? What are Compiled Parsers? and why are named elements needed for compiled parsers?

@tomerfiliba
Copy link

@washort could you elaborate on what this patch does? it's totally unclear what problem it comes to solve

@washort
Copy link
Author

washort commented May 15, 2012

Right now, construct works as an interpreter. To parse or build some data, a method is called on the structure object which then invokes various methods/functions on its contents, etc. My idea is to support code generation from constructs -- creating Python (or perhaps even C) code that does the building/parsing. This can't work if the construct object has arbitrary functions inside it. So I wanted to replace those functions with objects that can either be used in the current mode (invoke a function to get a value) or in a code generator (where the code generator asks Equal or Boolean etc. to generate code providing their behaviours).

@tomerfiliba
Copy link

yeah, i've had this idea for some time now (see http://sebulbasvn.googlecode.com/svn/trunk/ccon/test.py and the generated files in that directory). the problem is, it's not possible in the general case. so you can solve it for structs and stuff like that, but you can't do it for adapters, as they are just functions.

so this will not work... you have to define a narrowed down version of construct that's not turing complete (most likely context-free), and then it could work. but that's a different project.

@washort
Copy link
Author

washort commented May 16, 2012

After writing this patch, I started to believe that as well. :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants