freeride-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [FR-devel] FreeRIDE Status Update


From: NISHIO Mizuho
Subject: Re: [FR-devel] FreeRIDE Status Update
Date: Mon, 01 Apr 2002 00:57:11 +0900
User-agent: Wanderlust/1.1.0 (Overjoyed) SEMI/1.13.5 (Meih ō) FLIM/1.13.2 (Kasanui) Emacs/20.4 (i386-*-windows98.1998) MULE/4.1 (AOI) Meadow/1.10 (TSUYU)

Hi.

At Sat, 30 Mar 2002 02:51:19 -0800,
Curt Hibbs <address@hidden> wrote:

> Here what I still need to do before releasing this to the FreeRIDE
> community:
> 
> - Replace about three of the more significant of the hacks with the real
> code. Right now, the ratio of hacks to real code is too high for the
> existing code to serve as an example for other FreeRIDE developers to
> follow.
> 
> - I need to document the code (RDoc).
> 
> - I need to update and augment the overview information on the  Wiki.
> 
> - I need to get (and start using) the latest FOX and FXScintilla -- I'm
> still using the ones you sent me. (BTW, can I just drop in the new
> FXScintilla, overwriting the current one and leaving your wrapper code
> untouched?)
> 
> - I'd really like to get Nishio Mizuho's source browser integrated, too
> (because it would be so impressive for a first internal release), but I
> think that would introduce too much of a delay and it really can be done as
> a second step after I release the code with all of the above completed.
I welcome your decision.
It is better to release the FreeRIDE to FreeRIDE developers 
as early as you can than to add some features. But, if possible, 
I want to know what role you and FreeRIDE developers expect about
the parser. 

First, I illustrate my parser a little. 
The parser recognize these tokens.

Module
Class
Method(only method name)
alias
attr, attr_reader, attr_writer, attr_accessor
include 
require 
control structure(if, case, while ...)
instance, class, global variables

From these tokens, the parser makes the simple syntax tree.
The simple syntax tree is very primitive.
For example, if this script is parsed, 

01: Module Foo
02:   class Bar < Hash
03:     def initialize
04:       super()
05:       @value = 1
06:     end
07:     def show
08:       p @value
09:     end
10:   end
11: end

the tree will be like this.

Top 
 |
 +- Foo(Module start 1:1, end 7:1)  # 1:1 means that both column and row are 1. 
    |
    +- Bar(Class start 2:3 end 10:3)
       |
       +- Bar.new(SingleMethod start 3:5 end 6:5)
       |  |
       |  +- @value (InstanceVar start 5:7) 
       |
       +- show(NormalMethod start 7:5 end 9:5)
          |
          +- @value (InstanceVar start 8:9) 
 
The tree provides only the information.
So, If you want to find the method from this tree, or if you 
want to know the context from the position, 
you must traverse this tree by yourself.
  
In next version, I will add these features to 
the syntax tree itself. But, I don't have a 
good idea about what feature the parser and syntax tree 
should have.

Please let me know your opinion.

***********************
NISHIO Mizuho
e-mail : address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]