Menu ▾ ▴

Commit [r13121]  Maximize  Restore  History

Compiler: completion hooks, #line fixes, NULL lextype, fgllint in default build

- 4glc and fcompile can report which tokens the parser accepts at end of input
(A4GL_COMPLETE_FILE, see docs/completion_support.txt); fcompile spellings come from
complete_spell.h, generated from screen.lex by gen_complete_spell.sh.
- INCLINES (#line directives) never worked for programs without GLOBALS:
print_global_variable_init left suppress_lines raised. Also repeat the current #line
before continuation lines when merging the C file, so a multi-line declaration is not
attributed to later 4GL lines (debuggers put breakpoints in the prologue otherwise).
- LEX_NULL lextype (parse and check, write nothing) and A4GL_ERRFILE=- (errors to stdout):
docs/check_only_compile.txt.
- fglproto: terminate buffers, comma fix in the JS emitter.
- bin/fgllint is built by the default make in compilers/4glc.
- Move two prototypes into a4gl_incl_4gldef.h (generated code failed with implicit
declarations).

mikeaubury 2026-10-04

changed /aubit4glsrc/trunk/compilers/4glc/Makefile
changed /aubit4glsrc/trunk/compilers/4glc/compile.c
changed /aubit4glsrc/trunk/compilers/4glc/lexer.c
changed /aubit4glsrc/trunk/compilers/4glc/prototypes.c
added /aubit4glsrc/trunk/compilers/fcompile/complete_spell.h
changed /aubit4glsrc/trunk/compilers/fcompile/fcompile.c
added /aubit4glsrc/trunk/compilers/fcompile/gen_complete_spell.sh
changed /aubit4glsrc/trunk/compilers/fcompile/screen.lex
changed /aubit4glsrc/trunk/compilers/fcompile/screen.yacc
added /aubit4glsrc/trunk/docs/check_only_compile.txt
added /aubit4glsrc/trunk/docs/completion_support.txt
changed /aubit4glsrc/trunk/incl/a4gl_incl_4gldef.h
changed /aubit4glsrc/trunk/incl/a4gl_libaubit4gl.h
changed /aubit4glsrc/trunk/lib/Makefile
changed /aubit4glsrc/trunk/lib/libaubit4gl/errfile.c
changed /aubit4glsrc/trunk/lib/liblex/lex_esqlc/compile_c.c
added /aubit4glsrc/trunk/lib/liblex/lex_null
added /aubit4glsrc/trunk/lib/liblex/lex_null/Makefile
added /aubit4glsrc/trunk/lib/liblex/lex_null/null.c
changed /aubit4glsrc/trunk/m4/aubit_lists.m4
/aubit4glsrc/trunk/compilers/4glc/Makefile Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/compilers/4glc/compile.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/compilers/4glc/lexer.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/compilers/4glc/prototypes.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/compilers/fcompile/complete_spell.h Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/compilers/fcompile/fcompile.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/compilers/fcompile/gen_complete_spell.sh Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/compilers/fcompile/screen.lex Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/compilers/fcompile/screen.yacc Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/docs/check_only_compile.txt Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/docs/completion_support.txt Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/incl/a4gl_incl_4gldef.h Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/incl/a4gl_libaubit4gl.h Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/lib/Makefile Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/lib/libaubit4gl/errfile.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/lib/liblex/lex_esqlc/compile_c.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/lib/liblex/lex_null/Makefile Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/lib/liblex/lex_null/null.c Diff Switch to side-by-side view
Loading...
/aubit4glsrc/trunk/m4/aubit_lists.m4 Diff Switch to side-by-side view
Loading...