[Gambas-user] Locating a function's source code?

Benoît Minisini gambas at ...1...
Thu Sep 18 19:55:11 CEST 2014


Le 18/09/2014 19:24, T Lee Davidson a écrit :
> Hi All,
>
> I am almost lost when it comes to browsing the source code tree for
> specific pieces of code.
>
> The Gambas home page (http://gambas.sourceforge.net/en/main.html) has a
> "Browse Source Code" link, but that page only shows the latest commits.
> And, anything I do there to try to browse the tree, just seems to take
> me around in circles.
>
> The HTTP access command there and the SVN command on the Wiki's "How To
> Deal With Subversion" page (http://gambaswiki.org/wiki/howto/svn) both
> assume that one wants to checkout a copy of the repository. I do not.
>
> I found that I can browse the code by converting the SVN-protocol URI to
> a HTTP-protocol URI (http://svn.code.sf.net/p/gambas/code/gambas/), and
> use my web browser to view the code tree.
>
> Okay, good. Now where do I go from here?
>
>
> Suppose I wish to view the source code for the "Hex$" function. The Wiki
> page for that function (http://gambaswiki.org/wiki/lang/hex) does not
> give any clue as to what component or class it belongs to. A look at the
> gb component and the gb class does not reveal that function.
>
> So, I guess it is a built-in function native to the interpreter (?). If
> I decide to go with that assumption, that brings me back to, "where do I
> go from here?"
>
> I know that I would look in "trunk" for code upcoming in the next major
> release, and in "branches" if I want to see how the function is
> implemented in my current version. But exactly where would I look?
>
> In "app/", in "main/", somewhere else?
>
> And how might I be able to figure this out for myself next time?
>
>
> I appreciate any guidance anyone may care to give.
>
>
> Lee
>

All native functions are implemented in the interpreter source code.

The interpreter source code is located in /trunk/main/gbx.

The Hex$() function is implemented in the 'SUBR_hex_bin()' function of 
the 'gbx_subr_conv.c' file.

But I don't know what you want to do exactly. If you don't know C and 
don't know how the interpreter internally works without me telling you, 
you won't go very far.

Regards,

-- 
Benoît Minisini




More information about the User mailing list