Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 16/12/2012 at 18:16, xxxxxxxx wrote:
I have been programming for a little over two years, and have learned very quickly. I'm now trying to make a language called jade (.jd) and decided to start with macros. the syntax is: MACRO: command replacement text
so lets say i had break but wanted to make it shorter MACRO: break brk
the only problem is my code doesn't work right. can someone please explain?
heres my code
def replaceMacros(file) : while file.readline() : line = file.readline() if line[0:6] == "MACRO:": startCommand = line.find(" ") endCommand = line.end(" ", startCommand + 1) command = line[startCommand + 1 : endCommand] print command macro = line[endCommand + 1:] print macro
*Note: I know macros are meant to replace what they stand for, but right now im just trying to make sure its reading in the correct values right. once it is ill have it put in a global (scope wise) dictionary called macroList. where macroList[macro] = command
On 16/12/2012 at 19:26, xxxxxxxx wrote:
why so super complicated , why don't you just convert the input file into a token stream and then parse this stream step by step. string.split() has been made for this.
myString = "cmdToken,valToken,cmdToken,valToken" stream= string.split(myString,",") for token in stream: print token
on the other hand i do not really understand why you do not use just a multipurpose file format which is already there like pythons JSON or c4ds own hyperfile.
on top of that, without wanting to sound harsh (i am still a kind of beginner myself), i do not think that you are up to writing a script language, when you cannnot even handle some string pushing.
just my 2 cents, no offense.
On 16/12/2012 at 19:53, xxxxxxxx wrote:
im up to it, i just dont neccesarily know every feature of a language
On 16/12/2012 at 19:54, xxxxxxxx wrote:
and how am i supposed to read that in as a file line and see if the line is a "MACRO:"
On 16/12/2012 at 20:00, xxxxxxxx wrote:
and once again another problem. how do i keep it from printing MACRO:? and how do i turn each iteration into a dictionary
On 16/12/2012 at 20:13, xxxxxxxx wrote:
Originally posted by xxxxxxxx and how am i supposed to read that in as a file line and see if the line is a "MACRO:"
Originally posted by xxxxxxxx
its part of the token design idea, you first sort the input and then you can look if it makes any sense. this way you can also implement some kind of grammar. you can also parse forwards, backwards or by importance this way. or to be more specific macro would be a 'command token' in your case, telling your parser that after this token tokens to be executed will follow.
and to the whole 'i don't have to...' thing , i have written 3 or 4 years ago a function parser in C# at a overall coding bgeinner state and intermediate c# knowledge and it has been pretty hard for me. writing a scripting language is more or less the same i guess, only that it is much harder
if you really think, you are up to this you should read something like this (at least this has been the pasing method i used, not sure if you can use this also for a script language, but i guess you can) :
http://en.wikipedia.org/wiki/Top-down_parsing
Originally posted by xxxxxxxx and once again another problem. how do i keep it from printing MACRO:? and how do i turn each iteration into a dictionary
split returns a list.
On 16/12/2012 at 22:27, xxxxxxxx wrote:
Hi jadeDeveloper,
your question is not related to the Cinema 4D API at all. A better place to ask this question would be a general programming forum or a site like StackOverflow.
Please also note, that you can edit a post once you have posted it. You do not have to do three posts in a row.
Best, Niklas
On 17/12/2012 at 16:31, xxxxxxxx wrote:
*this is an honest question not a sarcastic remark* where does it say that this is for cinema 4d api?
On 17/12/2012 at 16:34, xxxxxxxx wrote:
subforum description says :
Discussion about PYTHON for CINEMA 4D