01:20.46 |
CIA-62 |
BRL-CAD: 03brlcad * r45109
10/brlcad/trunk/include/bu.h: prefix all doxygen file markers with
the library they belong to in order to avoid conflicts with
same-named files in other directories being processed
simultaneously. |
02:10.22 |
CIA-62 |
BRL-CAD: 03brlcad * r45110
10/brlcad/trunk/include/bu.h: this file isn't in the libbu
dir |
02:11.22 |
CIA-62 |
BRL-CAD: 03brlcad * r45111
10/brlcad/trunk/src/libbn/ (22 files): prefix all of the doxygen
file commands with libbn so we don't conflict with same-named files
in other directories |
02:22.22 |
CIA-62 |
BRL-CAD: 03brlcad * r45112
10/brlcad/trunk/src/ (425 files in 15 dirs): prefix all of the
library @file doxygen commands with the library dir/name in order
to avoid conflicts with same-named files in other directories. was
causing processing woes. |
02:26.07 |
CIA-62 |
BRL-CAD: 03brlcad * r45113
10/brlcad/trunk/src/ (168 files in 5 dirs): more @file prefixing in
order to deconfuse doxygen bulk processing where file names are
non-unique. |
02:40.31 |
CIA-62 |
BRL-CAD: 03brlcad * r45114
10/brlcad/trunk/src/ (469 files in 10 dirs): more @file directive
clarification for doxygen to avoid naming conflicts with other
same-named files in other directories. |
02:43.38 |
CIA-62 |
BRL-CAD: 03brlcad * r45115
10/brlcad/trunk/src/ (59 files in 3 dirs): few more @file doxygen
conflict cases |
02:44.14 |
CIA-62 |
BRL-CAD: 03brlcad * r45116
10/brlcad/trunk/src/proc-db/brep_cube.cpp: proper header |
03:13.07 |
CIA-62 |
BRL-CAD: 03brlcad * r45117
10/brlcad/trunk/src/proc-db/ (brep_cube.cpp brep_simple.cpp
csgbrep.cpp): header cleanup, refer to the proper
filename |
03:17.22 |
CIA-62 |
BRL-CAD: 03brlcad * r45118
10/brlcad/trunk/src/vfont/vfont.h: filename is vfont |
03:21.09 |
CIA-62 |
BRL-CAD: 03brlcad * r45119
10/brlcad/trunk/include/vector_fpu.h: add missing common.h include
for UNUSED() definition. |
03:25.55 |
*** join/#brlcad juanman
(~quassel@unaffiliated/juanman) |
07:02.21 |
*** join/#brlcad d_rossberg
(~rossberg@BZ.BZFLAG.BZ) |
08:16.14 |
*** join/#brlcad merzo
(~merzo@193.254.217.44) |
09:05.10 |
*** join/#brlcad Stattrav
(~Stattrav@122.167.214.98) |
09:05.10 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
10:56.20 |
CIA-62 |
BRL-CAD: 03Kunigami 07http://brlcad.org * r2924
10/wiki/User:Kunigami/GSoc2011/Reports: /* Reports */ |
10:57.57 |
CIA-62 |
BRL-CAD: 03Kunigami 07http://brlcad.org * r2925
10/wiki/User:Kunigami/GSoc2011/Proposal: /* Timeline */ updated
timeline |
14:28.53 |
*** join/#brlcad merzo
(~merzo@193.254.217.44) |
14:37.35 |
*** join/#brlcad Stattrav
(~Stattrav@117.192.151.196) |
14:37.35 |
*** join/#brlcad Stattrav
(~Stattrav@unaffiliated/stattrav) |
14:50.11 |
CIA-62 |
BRL-CAD: 03erikgreenwald * r45120
10/brlcad/trunk/include/raytrace.h: Some parsers freak out when
they see */*stp*/, thinking it's an end of comment. Adding a space
seems to make them happy. |
15:11.48 |
brlcad |
wb |
15:12.31 |
``Erik |
yargh |
15:12.43 |
``Erik |
vacations never last long enough. :/ |
15:22.20 |
CIA-62 |
BRL-CAD: 03brlcad * r45121
10/brlcad/trunk/src/ (52 files in 7 dirs): (log message
trimmed) |
15:22.20 |
CIA-62 |
BRL-CAD: remove the SCLLOG/SCLBOOL wrappers on
the SCL Boolean and Logical enums. they |
15:22.20 |
CIA-62 |
BRL-CAD: were being conditionally put into a
namespace in order to be protected in case |
15:22.20 |
CIA-62 |
BRL-CAD: they're used within a 3rd party
context (like CORBA) that might also define |
15:22.20 |
CIA-62 |
BRL-CAD: same-named enums, but the macrofied
protection just adds complexity. iff a |
15:22.21 |
CIA-62 |
BRL-CAD: conflict is encountered, the types
can be put into an SCL or P23 or SDAI |
15:22.22 |
CIA-62 |
BRL-CAD: namespace. 'Boolean' would be prime
for outright removal/replacement with |
15:22.36 |
brlcad |
kunigami: make sure all files you add have a
proper header and footer, e.g.: sh/header.sh lgpl
src/liboptical/osl-renderer.cpp |
15:23.30 |
brlcad |
sh/header.sh, sh/footer.sh, or sh/template.sh
(to apply both header and footer) |
15:23.58 |
brlcad |
sh/ws.sh and sh/indent.sh will clean up the
formatting so it's consistent with the rest of the source
code |
15:24.50 |
brlcad |
just make sure any cleanup commits aren't
mixed with actual code/logic changes |
15:40.15 |
CIA-62 |
BRL-CAD: 03kunigami * r45122
10/brlcad/trunk/src/liboptical/osl-renderer.cpp: Cleaning up
formatting of osl-renderer.cpp |
15:50.21 |
CIA-62 |
BRL-CAD: 03erikgreenwald * r45123
10/brlcad/trunk/src/other/m4/lib/ohash.h: include sys/types.h for
u_int32_t |
16:28.43 |
CIA-62 |
BRL-CAD: 03starseeker * r45124
10/brlcad/trunk/src/other/m4/ (eval.c gnum4.c main.c misc.c): Try
the BRL-CAD wrapper for unistd.h here... |
16:31.10 |
kunigami |
when I run indent with osl-renderer.h it
changes spacing to 2 while in osl-renderer.cpp it keeps 4. it that
the default? |
16:34.11 |
kunigami |
hmm, actually I'd rather ask why footer.sh
does not add "c-basic-offset: 4" line? |
16:48.32 |
CIA-62 |
BRL-CAD: 03starseeker * r45125
10/brlcad/trunk/src/other/m4/lib/libyywrap.c: Hmm - MSVC doesn't
like __P for some reason. |
16:49.32 |
CIA-62 |
BRL-CAD: 03kunigami * r45126
10/brlcad/trunk/src/liboptical/ (osl-renderer.cpp osl-renderer.h
osl_rt.cpp osl_rt2.c): formatting changes for several
files |
16:50.21 |
CIA-62 |
BRL-CAD: 03starseeker * r45127
10/brlcad/trunk/src/other/m4/generated/tokenizer.c: one more
unistd.h case |
16:52.44 |
CIA-62 |
BRL-CAD: 03kunigami * r45128
10/brlcad/trunk/src/liboptical/osl-renderer.cpp: typo on
osl-renderer.cpp local variables |
16:53.23 |
brlcad |
starseeker: egads man |
16:53.56 |
brlcad |
if you had to paste it just twice .. should've
been a hint to refactor :) |
16:54.21 |
brlcad |
put that mess into a header and just #include
it... |
16:57.27 |
brlcad |
I know you're just trying to "get it to work"
.. but egads .. that's passing the buck and really making more work
for later |
16:59.35 |
CIA-62 |
BRL-CAD: 03starseeker * r45129
10/brlcad/trunk/src/other/m4/ (eval.c extern.h gnum4.c main.c
mdef.h): Remove the doesyscmd option from the m4 logic. May have to
revisit this if it turns out later we need it, but this will be
problematic on Win32. |
17:00.45 |
brlcad |
also, fwiw, __P is undoubtedly defined like
BU_ARGS() used to be .. it makes the parameter list
conditional |
17:01.17 |
brlcad |
the __P protection belongs where it's defined,
not where it was used in libyywrap.c |
17:04.43 |
CIA-62 |
BRL-CAD: 03starseeker * r45130
10/brlcad/trunk/src/other/m4/ (14 files in 2 dirs): |
17:04.43 |
CIA-62 |
BRL-CAD: Hack, slash and burn approach to MSVC
building - this has lots of unresolved |
17:04.43 |
CIA-62 |
BRL-CAD: external symbols and may not function
at all anywhere, but it should indicate |
17:04.43 |
CIA-62 |
BRL-CAD: what further changes are needed. Will
also need regex linked in, need to take |
17:04.43 |
CIA-62 |
BRL-CAD: care of that. |
17:05.02 |
brlcad |
kunigami: c-file-style: "Stroustrup" sets
4-char indents |
17:06.27 |
starseeker |
brlcad: oh, I know - I've got a lot of
refactoring to do - I'm just trying to get a feel for the scope of
what's needed |
17:06.37 |
kunigami |
that's strange. even with that line indent.sh
used 2 spaces. When I added c-basic-offset:4 it correclty used
4 |
17:07.00 |
starseeker |
brlcad: it wasn't immediately clear how deep
into "unixy" coding this m4 was |
17:10.02 |
CIA-62 |
BRL-CAD: 03brlcad * r45131
10/brlcad/trunk/src/liboptical/osl-renderer.h: restructure around a
WITH_OSL keyword instead of __cplusplus since it should always be
possible to compile the sh_osl C interface. |
17:11.07 |
brlcad |
starseeker: http://gnuwin32.sourceforge.net/packages/m4.htm |
17:11.50 |
brlcad |
enough to warrant someone making a fork
instead of trying to make it portable |
17:11.57 |
brlcad |
but then that could have just been laziness or
simplicity |
17:12.14 |
starseeker |
nods - yeah, saw that - but
this isn't GNU m4 |
17:12.25 |
starseeker |
it's the netbsd port of the openbsd
m4 |
17:12.41 |
starseeker |
was going for the smallest m4 that looked like
it might have a hope of working with flex |
17:12.55 |
starseeker |
both for build simplicity/porting simplicity
and to keep the size of src/other smaller :-P |
17:13.25 |
starseeker |
so far this feels a lot like working with the
find code for the search command |
17:13.54 |
kunigami |
brlcad: I didn't understand your changes to
osl-renderer.h. It was already possible to compile with sh_osl C
interface. |
17:14.34 |
brlcad |
if we really wanted simplicity and a small
src/other, we'd just generate the files, add them to svn, and
compile those on windows :) |
17:14.39 |
CIA-62 |
BRL-CAD: 03starseeker * r45132
10/brlcad/trunk/src/other/m4/lib/libyywrap.c: Ah, that's why cdefs
was included here. Win32 doesn't have cdefs, so be more
direct... |
17:15.02 |
brlcad |
way more simple than these 3-4 new
dependencies, build system mods, maintenance woes |
17:15.20 |
*** join/#brlcad roberthl
(~robert@mediawiki/RobertL) |
17:15.21 |
kunigami |
the reason for __cplusplus was that C++ code
would see a different interface than C code |
17:16.31 |
brlcad |
kunigami: which C++ code? |
17:16.56 |
kunigami |
brlcad: osl-renderer.cpp which is an interface
to osl system |
17:17.25 |
kunigami |
both osl-renderer.cpp and sh_osl.c share the
interface osl-renderer.h |
17:18.05 |
brlcad |
iirc, technically doesn' sh_osl.c only "share"
the inteface via the C callbacks declared at the bottom of
osl-renderer.h? |
17:18.26 |
*** join/#brlcad yukonbob
(~bch@S0106002191d1591c.ok.shawcable.net) |
17:18.26 |
brlcad |
it's "declare class" or "declare typedefs and
C funcs" |
17:18.31 |
yukonbob |
hello, #brlcad |
17:18.41 |
brlcad |
rather, it was |
17:18.46 |
brlcad |
hello yukonbob |
17:19.26 |
brlcad |
kunigami: something to consider, sh_osl
doesn't have to be C -- it can be a C++ file |
17:19.55 |
brlcad |
so you can call right into osl-renderer.h
classes |
17:20.17 |
brlcad |
the only protection really necessary is
whether we have OSL or not |
17:21.18 |
brlcad |
that was the motivation, move towards blocking
based on the build feature, since the compilation of the interface
file is already built-in |
17:22.35 |
kunigami |
I'm not sure if I understood what you meant,
but when OSL is not enabled, osl-renderer.h is not even
compiled. |
17:23.42 |
brlcad |
right, it's either on and OSL is available or
it's off |
17:23.51 |
brlcad |
sh_osl.c doesn't get compiled if it's off,
right? |
17:23.56 |
kunigami |
yup |
17:24.10 |
kunigami |
I added a conditional on
CMakeLists.txt |
17:24.28 |
brlcad |
so then if it's only on when osl is compiled,
and osl is c++, then sh_osl can be c++ |
17:24.41 |
brlcad |
and the c wrapping isn't needed |
17:25.07 |
brlcad |
just adds complexity and code that won't ever
get executed/used |
17:25.22 |
brlcad |
make sense? |
17:25.32 |
kunigami |
brlcad: right. I didn't know that sh_osl could
be c++. |
17:26.01 |
brlcad |
yep, you could svn mv sh_osl.c sh_osl.cpp if
you really wanted |
17:26.18 |
brlcad |
the only important part is that C++ types
aren't publicly exposed by liboptical |
17:26.56 |
brlcad |
so if you find yourself needing to add a C++
class / typedef into a header file in the top-level include/
directory, then it might be an issue and require some
rethought |
17:27.24 |
kunigami |
but if sh_osl is C++ then I'll have to export
functions using "extern C" anyway, because AFAIK C++ exports
mangled functions names |
17:27.52 |
brlcad |
sure, if you call C functions |
17:28.11 |
brlcad |
and call them outside that compilation
unit |
17:28.43 |
brlcad |
the c functions you had looked like logic that
wouldn't need to live in osl-renderer, they'd just be part of the
logic in sh_osl.c |
17:28.47 |
brlcad |
er sh_osl.cpp |
17:29.24 |
brlcad |
i.e., you don't need wrappers, you'd just
create OSL_Renderer objects and use them |
17:29.44 |
kunigami |
perfect |
17:29.50 |
kunigami |
I'll give it a try |
17:30.32 |
brlcad |
at most, you'd maybe have to stash an
OSL_Renderer* object into a struct so you could pass it around as a
void* through the various liboptical callback functions |
17:30.42 |
brlcad |
(the 'dpp' parameter) |
17:30.56 |
brlcad |
that's a user data pointer |
17:31.22 |
brlcad |
and that's only because c++ forbids casting
objects through void*, have to stash in struct and cast the struct
through void* |
17:32.00 |
brlcad |
make sure you quell all warnings ;) |
17:32.44 |
kunigami |
right |
17:34.35 |
brlcad |
starseeker: those big repeated code blocks are
more a mentality issue, not letting yourself create extra work in
the first place |
17:35.14 |
*** join/#brlcad crazy_imp
(~mj@a89-182-170-199.net-htp.de) |
17:35.56 |
brlcad |
plus, i've heard you say something to the
effect of "I've got a lot of refactoring to do" |
17:35.59 |
brlcad |
with plans to clean some bit of code up
"later" on at least three other occasions now :D |
17:36.24 |
brlcad |
and that "later" never manifested
itself |
17:36.54 |
brlcad |
code complete, deep not wide |
17:45.04 |
brlcad |
kunigami: not sure about the 2 vs 4 indents --
maybe something in your .emacs file? if I move mine out of the
way, I get 4char indents |
17:45.10 |
CIA-62 |
BRL-CAD: 03starseeker * r45133
10/brlcad/trunk/src/other/m4/ (common.h eval.c gnum4.c main.c
misc.c pstdint.h): move unistd.h wrapper to common file, add
portability guarantee with pstdint.h |
17:52.33 |
CIA-62 |
BRL-CAD: 03starseeker * r45134
10/brlcad/trunk/src/other/m4/ (expr.c look.c trace.c): Replace a
few direct calls to stdint.h |
17:53.40 |
CIA-62 |
BRL-CAD: 03brlcad * r45135
10/brlcad/trunk/src/other/m4/lib/libyywrap.c: even simpler, it's a
preansiism |
17:59.14 |
CIA-62 |
BRL-CAD: 03starseeker * r45136
10/brlcad/trunk/src/other/m4/ (generated/tokenizer.c parser.y
tokenizer.l): Ah, hiding in the tokenizer. Should get us down to
the regex header. |
18:00.44 |
CIA-62 |
BRL-CAD: 03starseeker * r45137
10/brlcad/trunk/src/other/m4/lib/ohash_int.h: Nope, one more -
ohash |
18:05.46 |
CIA-62 |
BRL-CAD: 03erikgreenwald * r45138
10/brlcad/trunk/src/other/m4/generated/parser.c: remove stdint.h in
favor of common.h/pstdint.h |
18:06.49 |
*** join/#brlcad yukonbob
(~bch@S0106002191d1591c.ok.shawcable.net) |
18:09.59 |
CIA-62 |
BRL-CAD: 03starseeker * r45139
10/brlcad/trunk/src/other/m4/ (CMake/ CMake/FindREGEX.cmake
CMakeLists.txt): Add logic to locate and link in regex
library. |
18:14.20 |
brlcad |
starseeker: so how's the prognosis looking ...
have a thought that might make the effort somewhat moot |
18:14.32 |
starseeker |
brlcad: not bad, actually |
18:14.36 |
starseeker |
at least, not so far |
18:14.41 |
starseeker |
what's the though? |
18:15.10 |
brlcad |
ditch lex/yacc for antlr |
18:15.10 |
CIA-62 |
BRL-CAD: 03starseeker * r45140
10/brlcad/trunk/src/other/m4/CMakeLists.txt: Dur - try linking the
library, not compiling it. |
18:15.26 |
brlcad |
it's half the code side and supports
windows |
18:15.42 |
starseeker |
huh, never heard of it before |
18:15.43 |
brlcad |
but would require rewriting our few existing
lex/yacc files in their syntax (which is nearly
identical) |
18:15.50 |
starseeker |
reads... |
18:17.03 |
starseeker |
brlcad: it's java based? |
18:18.24 |
starseeker |
or are you looking at the C runtime
distributions? |
18:19.01 |
brlcad |
http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3 |
18:23.03 |
brlcad |
another tutorial:
http://supportweb.cs.bham.ac.uk/docs/tutorials/docsystem/build/tutorials/antlr/antlr.html |
18:23.53 |
starseeker |
don't we need java to run antlr and generate
the code though? |
18:26.13 |
brlcad |
either hook in the java binary (which we could
probably bundle precompiled if it's small enough), or compile them
via the C runtime (which is about 25k lines of code, about the size
of flex) |
18:27.03 |
brlcad |
if I'm understanding their setup correctly,
that would even be more ideal than the lex/yacc approach for things
like libgcv where we just want the parsing functions, not a
main() |
18:28.06 |
brlcad |
of course, the java app may still be required
to compile the functions and then the C runtime to use them, not
100% sure on that detail |
18:28.13 |
starseeker |
I'm trying to figure out if the runtime can
eat the grammer and execute code, or if you still need the java
tools to generate the code |
18:28.17 |
starseeker |
er, yeah :-) |
18:29.51 |
starseeker |
I'm thinking you need java to compile the
grammar - I just built libantlr3c and there's no tool I can see to
generate C code... |
18:30.34 |
starseeker |
I did a survey a while back looking for
lex/yacc alternatives that were in C and I remember coming up
rather short... |
18:33.12 |
starseeker |
hmm... |
18:33.26 |
starseeker |
brlcad: maybe http://www.hwaci.com/sw/lemon/
? |
18:35.06 |
starseeker |
if we're willing to rewrite our definitions,
that might be a way to go |
18:35.54 |
*** join/#brlcad crazy_imp
(~mj@a89-182-141-171.net-htp.de) |
18:36.25 |
kunigami |
I didn't know in C it's allowed to set a
function like "void foo(int x)" to a function pointer "void
(*fp)()". In C++ it seems it is not allowed. Any
suggestions? |
18:36.55 |
brlcad |
starseeker: it'd be worth giving it a try,
maybe start with the simple parser in src/mged/points |
18:37.42 |
brlcad |
that's a prime simple test case for
conversion, if it works, that'd probably be good enough proof of
concept to run forward with it |
18:39.09 |
brlcad |
not nearly as complicated as the
others |
18:39.23 |
starseeker |
nods - sounds
good |
18:39.24 |
brlcad |
kunigami: I'm working on fixing that right
now |
18:39.39 |
brlcad |
kunigami: that's an old carry-over from
k&r days of C |
18:39.57 |
kunigami |
brlcad: ok, thanks! |
18:42.11 |
brlcad |
c++ has the same behavior as the concept of
"calling a function" in either is as simple as jumping to a pointer
address |
18:42.39 |
brlcad |
it just adds type safety during compilation so
it can enforce only jumping to a "compatible" address |
18:44.07 |
yukonbob |
starseeker: what are you looking for lex/yacc
alternatives for? |
18:44.34 |
brlcad |
C will happily jump to whatever you ask,
compiler won't even warn by default unless you ask it to |
18:44.47 |
kunigami |
hmm interesting |
18:45.08 |
starseeker |
yukonbob: we need to be able to handle a
(potentially large) number of grammar definitions for geometry
format conversion (and other uses, like MGED's point
abilities) |
18:45.35 |
starseeker |
we also need to be portable, and (right now)
recent flex versions aren't working on Windows |
18:45.46 |
yukonbob |
starseeker: and lex/yacc are unsuitable for
some reason? |
18:45.48 |
starseeker |
we also need something that's
LGPL-or-freer |
18:45.51 |
yukonbob |
ah |
18:46.07 |
yukonbob |
checks. |
18:46.14 |
starseeker |
The best combination I had come up with so far
was the netbsd m4 + byacc + flex |
18:46.21 |
brlcad |
license compatible and portable to windows ..
good luck ;) |
18:46.21 |
starseeker |
but that'll have to be ported to
Windows |
18:46.47 |
yukonbob |
heh -- that's what I was just looking
up. |
18:47.04 |
yukonbob |
NetBSD runs everything, even if it's
not. |
18:47.13 |
yukonbob |
;) |
18:47.29 |
starseeker |
the commits you saw earlier were me and ``Erik
getting NetBSD's m4 compiling on MSVC |
18:47.59 |
starseeker |
as long as we don't have to run system
commands, it doesn't look too bad - mostly just need to swat all
the uses of err, warnx, etc. |
18:48.45 |
starseeker |
flex will be a bit trickier, since it wants to
run m4 from within it's own source code (ick) |
18:49.09 |
yukonbob |
starseeker: like exec("m4"...");? |
18:49.10 |
starseeker |
fortunately we just need to run 'em during
build, and don't have to install them |
18:49.23 |
starseeker |
pretty much |
18:49.27 |
yukonbob |
sweet. |
18:50.38 |
starseeker |
byacc I'm more hopeful about - the dev was
very helpful and added a couple Bison features to get our libobj
examples working |
18:50.55 |
starseeker |
but of course that too is untried on
Windows |
18:51.16 |
starseeker |
yukonbob: if you know of something less gnarly
we'd LOVE to hear about it :-P |
18:51.16 |
yukonbob |
starseeker: I haven't worked w/ flex/yacc in
ages, but aren't their artifacts just .c and .h? Considered just
generating those on a *nix and shipping those artifacts as part of
the repo? |
18:51.47 |
starseeker |
yukonbob: the problem with that is the grammar
definitions are what you edit during the development
process |
18:52.17 |
starseeker |
we want potential developers to edit the
source, type "make" (or do the MSVC thing on Windows) and have it
Just Work |
18:52.50 |
yukonbob |
ya -- my suggestion is certainly non-elegant
in that regard. |
18:52.51 |
starseeker |
the temptation when you have generated source
files is to tweak those files and not the original grammar
definitions, which very quickly divorces the code (and fixes) from
what should be the canonical source code |
18:53.28 |
yukonbob |
inlucde a comment "Edit this code under threat
of death as punishment"... |
18:53.34 |
starseeker |
a geometry conversion library may potentially
grow to have dozens of grammars that need to be handled, and that
will be quite a job even if we AREN'T having to worry about syncing
back and forth |
18:53.46 |
starseeker |
heh |
18:54.10 |
starseeker |
that's a great way to encourage contributions
:-P |
18:54.35 |
yukonbob |
starseeker: anybody who's able to contribute
to a lexer/parser will know what it means. |
18:55.12 |
yukonbob |
but meh... best case is a truly portable
lex/yacc |
18:55.25 |
starseeker |
yukonbob: if we're building just the sources
though, new devs may head straight for the sources to fix a
problem |
18:55.37 |
starseeker |
would probably do that,
without knowing better |
18:55.56 |
starseeker |
and would probably run screaming :-P |
18:57.45 |
yukonbob |
starseeker: is your list of candidates posted
anywhere?| |
18:57.49 |
starseeker |
because the lex/yacc or whatever files are the
"user editable" form of the logic, we also want to make sure they
continue to work and don't "bit rot" - if the C files work, but no
one has done the generation in a few years, who knows what may have
gone wrong next time we NEED to do the generation? |
18:57.59 |
starseeker |
yukonbob: uh - src/other? :-P |
18:58.12 |
starseeker |
will make a wiki page
quick... |
19:05.59 |
yukonbob |
starseeker: re: bit rot -- build is automated
for producing various binaries, no? |
19:07.22 |
starseeker |
er, huh? |
19:07.56 |
yukonbob |
on major releases, you have a system that
generates binaries, no? |
19:08.15 |
starseeker |
Oh, you mean binary releases? yeah |
19:09.21 |
yukonbob |
so for case of ppl tweaking lex/yacc artifacts
and not being able to actually produce them canonically, that'd be
tested periodically w/ testing for formal releases... |
19:09.58 |
yukonbob |
should stop worrying about
project-wide builds and see if his NetBSD build still stands up to
latests sources... |
19:10.01 |
starseeker |
yukonbob: but if it's not integrated into our
build, it becomes an extra overhead/step that consumes developer
time (a lot of it, over the long pull) |
19:18.34 |
yukonbob |
! -- this has bumped 2 minor versions since I
last checked... |
19:21.07 |
CIA-62 |
BRL-CAD: 03Starseeker 07http://brlcad.org * r2926
10/wiki/Lexer_Parser: Stub in a page for discussing
lexers/parsers |
19:21.48 |
CIA-62 |
BRL-CAD: 03Starseeker 07http://brlcad.org * r2927
10/wiki/Lexer_Parser: |
19:26.08 |
starseeker |
hmm - re2c actually might be
interesting |
19:28.20 |
starseeker |
http://lekernel.net/blog/2009/02/re2c-and-lemon-an-elegant-alternative-to-flex-and-bison/ |
19:31.20 |
starseeker |
O.o apparently someone is building re2c on
MSVC? |
19:31.52 |
yukonbob |
familiar w/ lemon, but not
re2c |
19:32.11 |
starseeker |
yukonbob: what do you think of
lemon? |
19:35.16 |
yukonbob |
likes things that come from
drh |
19:35.24 |
starseeker |
yukonbob: know anything about styx? http://speculate.de/ |
19:35.58 |
yukonbob |
like I said, I haven't played in that domain
for a while, but conceptually, lemon is nice, and is thoroughly
tested via sqlite |
19:36.20 |
starseeker |
huh - styx has Express (from STEP) as an
example grammar |
19:36.26 |
yukonbob |
likes this "non statement" in
the re2c: |
19:36.33 |
yukonbob |
"...equal to hand-written code in terms of
size, speed and quality." |
19:36.43 |
yukonbob |
*re2c site.. |
19:37.25 |
yukonbob |
my understanding w/ parser code is that
rolling your own is often error-prone, difficult, often
inefficient, etc., etc. |
19:38.09 |
starseeker |
heh - if I read that right, it dates back to
when people were hand-tuning code due to machine speed
constraints |
19:38.35 |
yukonbob |
ya -- /me just getting into site, so may be
pulling out of context, but still made me chuckle. |
19:39.24 |
CIA-62 |
BRL-CAD: 03Starseeker 07http://brlcad.org * r2928
10/wiki/Lexer_Parser: Add a few more notes |
19:39.37 |
yukonbob |
heh -- oh, and holding up PHP as a flagship
project... |
19:42.50 |
starseeker |
still - if it doesn't need m4 and already
builds on Windows... |
19:46.07 |
*** join/#brlcad epileg
(~epileg@unaffiliated/epileg) |
19:46.44 |
CIA-62 |
BRL-CAD: 03Starseeker 07http://brlcad.org * r2929
10/wiki/Lexer_Parser: not links |
19:53.59 |
CIA-62 |
BRL-CAD: 03Starseeker 07http://brlcad.org * r2930
10/wiki/Lexer_Parser: Few more comments on re2c, link to example
using lemon |
20:30.13 |
CIA-62 |
BRL-CAD: 03erikgreenwald * r45141
10/brlcad/trunk/src/other/m4/ (14 files in 3 dirs): rename common.h
to commonm4.h, as our regex.h requires include/common.h |
20:30.30 |
starseeker |
nods - good
catch |
20:38.08 |
CIA-62 |
BRL-CAD: 03erikgreenwald * r45142
10/brlcad/trunk/src/other/m4/ (gnum4.c main.c misc.c):
errx->m4errx |
20:40.06 |
CIA-62 |
BRL-CAD: 03Starseeker 07http://brlcad.org * r2931
10/wiki/Lexer_Parser: Add notes on Antlr |
20:48.17 |
CIA-62 |
BRL-CAD: 03erikgreenwald * r45143
10/brlcad/trunk/src/other/m4/misc.c: add some windows portability
functions. Includes getopt from libbu, LGPL pollution. |
20:51.09 |
CIA-62 |
BRL-CAD: 03starseeker * r45144
10/brlcad/trunk/src/other/byacc/main.c: Looks like this is the only
use byacc makes of unistd, so just wrap it here. |
20:51.32 |
kunigami |
When I finish porting sh_osl.c to sh_osl.cpp,
OSLRenderer object will need to be declared at a global scope. In
which place do you think it's better to keep it? I though of
putting it on "struct application", but this struct is not passed
as parameter to osl_setup. |
20:59.49 |
kunigami |
hmm the problem of letting OSLRenderer global
is that we will need a opaque pointer because it will be visible
for C code. |
21:01.22 |
kunigami |
Is it possible to declare it in such a way
that it is visible to all sh_osl instances as a global object,
while not exposing it to C code? |
21:02.54 |
brlcad |
you mean like static? :) |
21:06.52 |
kunigami |
probably is that what I want |
21:08.31 |
brlcad |
definitely don't want something globally
visible |
21:09.09 |
brlcad |
a static global will limit scope to that file,
a static variable inside a callback will limit scope even further
to callers of an accessor function |
21:09.32 |
CIA-62 |
BRL-CAD: 03starseeker * r45145
10/brlcad/trunk/src/other/flex/ (CMake/ CMake/FindREGEX.cmake
CMakeLists.txt): flex will need the regex lib too (and a good deal
more, but start with this.) |
21:09.49 |
brlcad |
what else does flex need? |
21:10.03 |
starseeker |
er, sorry - phrased that wrong |
21:10.16 |
starseeker |
needs tests (limit.h, sys/wait.h,
etc.) |
21:10.24 |
brlcad |
ah |
21:16.48 |
kunigami |
I was thinking about a possible problem: I
only managed to make OSLRenderer work when I grouped all osl
shaders in a single class (I've tried using a OSLRenderer for each
osl shader, but it didn't work). It's probably the case that some
information must be stored in a global context and shared among the
shaders. If this is true, it won't be possible to mix brl-cad and
osl shaders :( I've to investigate it further... |
21:26.51 |
CIA-62 |
BRL-CAD: 03starseeker * r45146
10/brlcad/trunk/src/other/flex/CMakeLists.txt: No doubt a fair
number of these tests need to be more sophisticated, but this gives
us a first cut at supporting most of conf.in's variables. |
21:57.29 |
CIA-62 |
BRL-CAD: 03starseeker * r45147
10/brlcad/trunk/src/other/flex/CMakeLists.txt: Whoops - add in the
REGEX include dir too. |
21:58.57 |
*** join/#brlcad epileg
(~epileg@unaffiliated/epileg) |
22:01.02 |
CIA-62 |
BRL-CAD: 03brlcad * r45148
10/brlcad/trunk/include/optical.h: document
optical_shader_init() |
22:04.54 |
CIA-62 |
BRL-CAD: 03starseeker * r45149
10/brlcad/trunk/src/other/flex/scan.c: wrap unistd.h in scan.c -
will need to fix the generation in some fashion for this, probably
add the wrapper to the skeleton... |
22:07.35 |
CIA-62 |
BRL-CAD: 03starseeker * r45150
10/brlcad/trunk/src/other/flex/scan.c: Hmm... need something a bit
different here, apparently... - try going minimal... |
22:07.37 |
*** join/#brlcad dtidrow
(~dtidrow@c-68-60-53-123.hsd1.mi.comcast.net) |
22:10.12 |
CIA-62 |
BRL-CAD: 03starseeker * r45151
10/brlcad/trunk/src/other/flex/parse.c: Hmm. Possibly a stray
semicolon, could also be an error in the if/else logic... |
23:06.52 |
brlcad |
kunigami: if it's hooked through our shader
system, there really is no limitation on mixing shader types
because the mixing is per-pixel and happening on our end |
23:07.19 |
brlcad |
you might not be able to get neat blending
effects, like a caustic on a non-osl shader, but that's
okay |
23:07.58 |
*** join/#brlcad Ralith
(~ralith@S010600221561996a.vc.shawcable.net) |
23:08.39 |
brlcad |
it's really a question of whether osl can
shade a single pixel without shooting the ray itself -- if it can,
then it should be entirely possible |
23:09.06 |
brlcad |
finally finishes an
exhaustive day refactoring liboptical .. now to make sure it still
works! |
23:09.15 |
*** part/#brlcad Ralith
(~ralith@S010600221561996a.vc.shawcable.net) |
23:35.52 |
CIA-62 |
BRL-CAD: 03bhinesley * r45152
10/brlcad/trunk/src/libged/translate.c: adding 'f_tr_obj'
functionality to 'translate' |