Recent

Author Topic: What is LazC package?  (Read 1864 times)

guest65109

  • Guest
What is LazC package?
« on: January 06, 2020, 03:30:14 pm »
The package description said it add support for C source and compiler. But after I installed it I found nothing changed at all. Which features does this package really provide?

MarkMLl

  • Hero Member
  • *****
  • Posts: 8527
Re: What is LazC package?
« Reply #1 on: January 06, 2020, 03:53:48 pm »
First, what OS and Lazarus version are you running. Please don't expect us to remember this from other threads, and it would be entirely reasonable for you to have several systems with different oeprating systems etc.

Have you tested it with the file in the examples directory?

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

guest65109

  • Guest
Re: What is LazC package?
« Reply #2 on: January 06, 2020, 04:04:55 pm »
First, what OS and Lazarus version are you running. Please don't expect us to remember this from other threads, and it would be entirely reasonable for you to have several systems with different oeprating systems etc.

Have you tested it with the file in the examples directory?

MarkMLl

Why this is needed at all? This package is shipped with Lazarus by default. Search for LazC and you will see it.

With me it's just another useless package, no more, no less.

lucamar

  • Hero Member
  • *****
  • Posts: 4219
Re: What is LazC package?
« Reply #3 on: January 06, 2020, 04:12:46 pm »
The package is meant to add support to edit and compile C source files almost as is done with Pascal sources, but IIRC it's almost "alpha" state: it has a C completion "plugin" for the editor and little more.

Yes, for Pascal programmers it's mostly useless but it can be handy for mixed language projects or if you're doing a C-to-Pascal port, for example.
« Last Edit: January 06, 2020, 04:16:08 pm by lucamar »
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!) :P
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.

guest65109

  • Guest
Re: What is LazC package?
« Reply #4 on: January 06, 2020, 04:29:35 pm »
The package is meant to add support to edit and compile C source files almost as is done with Pascal sources, but IIRC it's almost "alpha" state: it has a C completion "plugin" for the editor and little more.

Yes, for Pascal programmers it's mostly useless but it can be handy for mixed language projects or if you're doing a C-to-Pascal port, for example.

OK. So it's very useful for me. But it's totally failed. Lazarus already has highlighting support for C source. The most important thing this package should do is enable compiling of the C source the same way as Pascal source or at least add an menu entry under Tool to allow compiling of the C source. I see none.

If you want C support, first you need highlighting support (done), later compiling of individual C source (I don't see anything), then having C project type template added to New Project (I also see none), after that is C project building (should be the same way as Pascal project), the last is C code completion. I think he's doing everything reversed or at least the package description is misleading.

C code parsing and code completion is hard. People now use something called libclang to do the heavy work for them. Professional IDEs also do that. If the author could add libclang integration package he's a real hero.

p/s: don't take thing serious, I didn't ask anyone to do anything he or see doesn't want to do, I only show how it should be done.

MarkMLl

  • Hero Member
  • *****
  • Posts: 8527
Re: What is LazC package?
« Reply #5 on: January 06, 2020, 04:45:20 pm »
Why this is needed at all? This package is shipped with Lazarus by default. Search for LazC and you will see it.

With me it's just another useless package, no more, no less.

Are you asking for help, complaining, or going out of your way to antagonise people?

I /did/ see it. I looked in trunk and saw that so far it's in a fairly minimal state, but that it's got a test file: did you look at the test file? Also I'd suggest not confusing the editor's (SynEdit) support for syntax highlighting with overall support by the IDE. I agree with you though: it /would/ be nice if the IDE could be extended to support C/C++, even if the RAD form designer wasn't intended to.

When you've fixed a few bugs in the IDE and possibly contributed some new work, /then/ you are in a position to say what should be in it. While I'm fairly critical of things at times I wouldn't /dare/ tell the core developers what to do, and I've been active in the FPC and Lazarus projects (and occasionally reporting bugs, and occasionally contributing to testing and bugfixes) for around 15 years.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

MarkMLl

  • Hero Member
  • *****
  • Posts: 8527
Re: What is LazC package?
« Reply #6 on: January 06, 2020, 04:49:13 pm »
OK. So it's very useful for me. But it's totally failed. Lazarus already has highlighting support for C source. The most important thing this package should do is enable compiling of the C source the same way as Pascal source or at least add an menu entry under Tool to allow compiling of the C source. I see none.

You might find it worth looking at Eclipse, which does its best to support multiple languages. However my experience with it is that it's over-complex, takes around a minute to start, and that development and bugfixing is extremely sporadic.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Logitech, TopSpeed & FTL Modula-2 on bare metal (Z80, '286 protected mode).
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

guest65109

  • Guest
Re: What is LazC package?
« Reply #7 on: January 06, 2020, 05:08:11 pm »
Don't be overly serious on me, Mark! As I already told, don't be serious!  :P

 

TinyPortal © 2005-2018