Skip to content

Conversation

hirooih
Copy link
Contributor

@hirooih hirooih commented Nov 28, 2020

  • processDesignElement() is divided into processDesignElementL() (for module, interface, and program) and processDesignElementS() (for others).
  • tagging imported functions is implemented
  • skipping package import declaration is implemented
  • implement "interface class" support
  • implement coverage_event handling
  • units tests are heavily updated

systemverilog-task-function.d: add tests
systemverilog-prototype.d: subset of task-functions.d with kinds +Q
Tags "l" and "ifclass" are assigned.
test is added and expected.tags is updated.
"with function sample ()" is processed in the main loop.
"with" set prototype true for sample() function not to create a context.

add tests
@coveralls
Copy link

Coverage Status

Coverage increased (+0.0008%) to 86.982% when pulling 977cdf2 on hirooih:sv-design-element into de31d3e on universal-ctags:master.

@codecov
Copy link

codecov bot commented Nov 28, 2020

Codecov Report

Merging #2737 (977cdf2) into master (7f84a44) will increase coverage by 0.05%.
The diff coverage is 95.74%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2737      +/-   ##
==========================================
+ Coverage   86.83%   86.89%   +0.05%     
==========================================
  Files         189      190       +1     
  Lines       40256    40351      +95     
==========================================
+ Hits        34958    35063     +105     
+ Misses       5298     5288      -10     
Impacted Files Coverage Δ
parsers/verilog.c 97.94% <95.74%> (-0.25%) ⬇️
parsers/txt2tags.c 100.00% <0.00%> (ø)
parsers/php.c 94.46% <0.00%> (+1.83%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7f84a44...977cdf2. Read the comment docs.

@hirooih hirooih merged commit 27caf73 into universal-ctags:master Nov 28, 2020
{ "var", K_REGISTER, { 1, 0 } },
{ "void", K_REGISTER, { 1, 0 } }
{ "void", K_REGISTER, { 1, 0 } },
{ "with", K_WITH, { 1, 0 } }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(just comment) I recommend adding "," at the end. So we can make diff smaller when you add a new keyword next time.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know modern languages allow this, but I have been misunderstanding that C did not allowed this.

I've checked the K&R both the 1st and the 2nd edition, Most of examples do not use semicolon after the last item, but syntax rule says;

initializer:
	assignment-expression
	{ initializer-list }
	{ initializer-list , }


initializer-list:
	initializer
	initializer-list , initializer

Verilog/SystemVerilog does not allow this, it makes difficult scripting...

Thank!!!

@masatake
Copy link
Member

How should we handle "import", "using", "load", "require", "include", etc is one of the hard topic in ctags.
Of course, skipping it is the first step. If you have time, please, watch #2697 and #2727.

@hirooih
Copy link
Contributor Author

hirooih commented Nov 29, 2020

How should we handle "import", "using", "load", "require", "include", etc is one of the hard topic in ctags.

For import of System Verilog, it is not hard topic. Adding a field should be enough. I will add it on the TODO this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants