
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hatte heute bisschen langeweile, also habe ich mich hingesetzt und mal wieder was gecodet, rausgekommen ist bython, ein python wo man { und } verwenden kann, z.B. ist dort:
class Test{ def __init__(self){ print "initializing" } }
funktionierender Code, es ist eigentlich nur ein wrapper der die { und } in Einrueckungen umwandelt und dann ausfuehrt. Ist eigentlich am meisten an Umsteiger gerichtet, aber eigentlich nur just-4-fun, ohne besonderen Grund programmiert. Code ist im Anhang.
Was sagt ihr dazu?
mfg Florian Mayer(a.k.a name)

Florian Mayer wrote:
Hatte heute bisschen langeweile, also habe ich mich hingesetzt und mal wieder was gecodet, rausgekommen ist bython, ein python wo man { und } verwenden kann, z.B. ist dort:
class Test{ def __init__(self){ print "initializing" } }
funktionierender Code, es ist eigentlich nur ein wrapper der die { und } in Einrueckungen umwandelt und dann ausfuehrt. Ist eigentlich am meisten an Umsteiger gerichtet, aber eigentlich nur just-4-fun, ohne besonderen Grund programmiert. Code ist im Anhang.
Was sagt ihr dazu?
mfg Florian Mayer(a.k.a name)
hab ich glatt vergessen, der name hat sich aus braces(die eckigen klammern) un python ergeben >) ------------------------------------------------------------------------
#! /usr/bin/env python # -*- coding: utf-8 -*- import sys, os from optparse import OptionParser parser = OptionParser() parser.add_option("-o","--output", dest="outputfile", help="Write python file FILE",metavar="FILE") parser.add_option("-s", "--dontrun", action="store_false", dest="run", default=True, help="don't run the script")
(options, args) = parser.parse_args() def getAmount(string): i = 0 count = 0 while(i < len(string)): if(string[i] == " "): count+=1 else: return count i+=1 result = list() intend_str = "\t" intend = 0 no_intend = list() file = args[0] file_dir = os.path.split(file)[0] if file_dir: os.chdir(file_dir) file_object = open(file) file_lines = file_object.readlines() for line in file_lines: no_intend.append(line[getAmount(line):]) line_nr = 1 line_int = [] for line in no_intend: intend_brf = intend line_int.append(intend_brf) plu_int = [1 for elem in line if elem == "{"] min_int = [1 for elem in line if elem == "}"] #print plu_int #print min_int for elem in plu_int: intend+=elem for elem in min_int: if intend == 0: print "ERROR on line %d: No intend to close" % line_nr sys.exit(1) intend-=elem line = line.replace("{",":") line = line.replace("}","") result.append("%s%s" % (intend_brf*intend_str,line)) line_nr+=1 result_str = '' for line in result: c_line = line.replace("\t","") c_line = c_line.replace("\n","") if c_line: result_str = ("%s%s" % (result_str, line)) if options.outputfile: outp = open(options.outputfile, "w") outp.write(result_str) outp.close() if options.run: namespace = {"__name__":"__main__"} exec result_str in namespace
------------------------------------------------------------------------
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Hi
Am 14.03.2007 19:20:29 schrieb Florian Mayer:
funktionierender Code, es ist eigentlich nur ein wrapper der die { und } in Einrueckungen umwandelt und dann ausfuehrt.
ohne das ich mir deinen Code genauer angesehen hab, was produziert der bei sowas:
class Test { def __init__(self) { print "initializing" } }
oder noch besser:
class Test {def __init__(self){ print "initializing"}}
Ist eigentlich am meisten an Umsteiger gerichtet, aber eigentlich nur just-4-fun, ohne besonderen Grund programmiert. Code ist im Anhang.
Was sagt ihr dazu?
Das Python ne ziemlich genial einfache Syntax hat ...
cu boesi

Alexander 'boesi' Bösecke wrote:
Hi
Am 14.03.2007 19:20:29 schrieb Florian Mayer:
funktionierender Code, es ist eigentlich nur ein wrapper der die { und } in Einrueckungen umwandelt und dann ausfuehrt.
ohne das ich mir deinen Code genauer angesehen hab, was produziert der bei sowas:
class Test { def __init__(self) { print "initializing" } }
oder noch besser:
class Test {def __init__(self){ print "initializing"}}
Ist eigentlich am meisten an Umsteiger gerichtet, aber eigentlich nur just-4-fun, ohne besonderen Grund programmiert. Code ist im Anhang.
Was sagt ihr dazu?
Das Python ne ziemlich genial einfache Syntax hat ...
cu boesi
Sollte beides gehen, das erste ist getestet, beim zweiten sollte er alle { mit : ersetzen und alle } loeschen...

Hi
Am 14.03.2007 22:26:34 schrieb Florian Mayer:
Sollte beides gehen, das erste ist getestet, beim zweiten sollte er alle { mit : ersetzen und alle } loeschen...
konsequenterweise musst du aber noch ; erlauben
Und bei so daemlichen Konstrukten wie def __init__() {Befehl1; Befehl2;} musst du zusätzliche Zeilenumbrüche einfügen
Je mehr ich darüber nachdenke, desto mehr frag ich mich, warum ich mir immer wieder C antue...
cu boesi

Hallo,
On Thu, 15 Mar 2007 19:14:06 +0100 Alexander 'boesi' Bösecke boesi.josi@gmx.net wrote:
Am 14.03.2007 22:26:34 schrieb Florian Mayer:
Sollte beides gehen, das erste ist getestet, beim zweiten sollte er alle { mit : ersetzen und alle } loeschen...
konsequenterweise musst du aber noch ; erlauben
Das ist in Python sowieso schon möglich.
Sowas auch: def foo(): print 'Hallo ',; print 'Welt'
Allerdings werden Programmierer die solche Konstrukte in der Python-Welt zusammenbauen sowieso recht schnell erschlafen, daher ist das nie sonderlich populär gewesen ;)
Was macht Bython eigentlich mit def foo() {}
oder mit def foo() { print 'Hallo ',; print 'Welt'; }
grüße, Marek

Florian Mayer florian-mayer@gmx.at writes:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hatte heute bisschen langeweile, also habe ich mich hingesetzt und mal wieder was gecodet, rausgekommen ist bython, ein python wo man { und } verwenden kann, z.B. ist dort:
class Test{ def __init__(self){ print "initializing" } }
funktionierender Code, es ist eigentlich nur ein wrapper der die { und } in Einrueckungen umwandelt und dann ausfuehrt. Ist eigentlich am meisten an Umsteiger gerichtet, aber eigentlich nur just-4-fun, ohne besonderen Grund programmiert. Code ist im Anhang.
Was sagt ihr dazu?
Warum soll man den Umsteigern das Leben so schwer machen?
Gruß Berthold

Florian Mayer schrieb:
Hatte heute bisschen langeweile, also habe ich mich hingesetzt und mal wieder was gecodet, rausgekommen ist bython, ein python wo man { und } verwenden kann, z.B. ist dort:
class Test{ def __init__(self){ print "initializing" } }
funktionierender Code, es ist eigentlich nur ein wrapper der die { und } in Einrueckungen umwandelt und dann ausfuehrt. Ist eigentlich am meisten an Umsteiger gerichtet, aber eigentlich nur just-4-fun, ohne besonderen Grund programmiert. Code ist im Anhang.
Was sagt ihr dazu?
[snip]
`from __future__ import braces`. :-)

Am Mittwoch, 14. März 2007 21:47 schrieb Stargaming:
`from __future__ import braces`. :-)
Du schuldest mit einen neuen Monitor und Tastatur. Den Kaffee, den ich gerade eben da drauf geprustet habe, kriege ich nie wieder ab!
ymmd.
Karsten

--On 14. März 2007 19:20:29 +0100 Florian Mayer florian-mayer@gmx.at wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Was sagt ihr dazu?
...eines der Projekte, die niemand braucht. Sorry, aber das ist grober Unfug...aber nur meine persönliche Meinung :-)
Andreas
participants (7)
-
Alexander 'boesi' Bösecke
-
Andreas Jung
-
bhoel@despammed.com
-
Florian Mayer
-
Karsten Schulz
-
Marek Kubica
-
Stargaming