Volkan YAZICI <[EMAIL PROTECTED]> writes: > Ama benim daha güzel bir önerim var. Siz bize kullandığınız Perl > düzenli ifadelerinin Emacs'te çalışanlarını yollayın (Bunun için > replace-regexp ile deneme yanılma yaparak işe başlayabilirsiniz.), biz > de programınızın emacs lisp ile yazılmışını size gönderelim.
Bi biskrem versem? (defun make-getter-setter (type var) (format (concat "public %s get%s() { return %s; }\n" "public %s set%s(%s %s) { this.%s = %s; }\n") type var var ; getter line type var type var var var)) ; setter line (defun extract-class-variables (&rest modifiers) (let ((regexp (concat "^\\([ \t]*\\)" "\\(" (mapconcat (lambda (m) (format "%S" m)) modifiers "\\|") "\\)" "\\([ \t]*\\)" "\\([A-Za-z0-9<>]+\\)" "\\([ \t]*\\)" "\\([a-zA-Z0-9]+\\);$"))) (save-excursion (goto-char (point-min)) (loop for pos = (search-forward-regexp regexp nil t) while pos collect (let ((modifier (match-string 2)) (type (match-string 4)) (name (match-string 6))) (list modifier type name)))))) (defun generate-class-getter-setter (&rest modifiers) (insert (mapconcat (lambda (var) (apply 'make-getter-setter (rest var))) (apply 'extract-class-variables modifiers) "\n"))) Test için (generate-class-getter-setter 'private 'public) fonksiyonunu çağırabilirsiniz. Bundan sonra size kalan iş, bu fonksiyonu bir kısayol tuşuna atamak. Ama bunun çözümünü bi' biskrem için bile yapamam. İyi çalışmalar. _______________________________________________ cs-lisp mailing list cs-lisp@cs.bilgi.edu.tr http://church.cs.bilgi.edu.tr/lcg http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp