Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to run make from "main" and "parsers" sub-directories #300

Merged
merged 1 commit into from
Apr 29, 2015

Conversation

b4n
Copy link
Member

@b4n b4n commented Apr 28, 2015

This tries to address @techee's comment #298 (comment) @techee, does this actually solves your issue?

Note that the code here is particularly adapted for running against #298 (as it asks for parsers/$@ and not $@, e.g. object files in sub-directories), but also work fine on current master, as currently asking for e.g. parsers/go.o will involve the rule .c.o on parsers/go.c, rule that will generate go.o (and not the asked parsers/go.o, but that's what we want).

@landscape-bot
Copy link

Code Health
Code quality remained the same when pulling 562eae6 on b4n:make-in-subdir into 1c2e2c1 on fishman:master.

masatake added a commit that referenced this pull request Apr 29, 2015
Allow to run make from "main" and "parsers" sub-directories
@masatake masatake merged commit e0d6086 into universal-ctags:master Apr 29, 2015
@masatake
Copy link
Member

Thanks. This one is really needed, too.

toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 22, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 22, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 23, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 23, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 23, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 23, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 23, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 23, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 23, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
vhda pushed a commit to vhda/ctags that referenced this pull request Jul 23, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
toroidal-code added a commit to toroidal-code/ctags that referenced this pull request Jul 24, 2015
Summary:
This commit fixes ticket universal-ctags#300 (improper handling of ';;' at toplevel)
and universal-ctags#355 (error on parsing empty file). But more importantly, it adds
support for:

proper function recognition (kinda)
let rec ... and ...
module [rec] M : sig ... end = struct ... end
module [rec] M = struct ... end and N = struct ... end

Most of these changes required a single-token lookahead,
so I added this to all of the parsing functions. It's now
used rather prolifically.

Function discovery relies upon the assumption that most
people write functions like
let [rec] my_func a b c = ... or
let [rec] my_func () = ... or
let [rec] () = ...
let [rec] _ = ...

Still unsupported are things such as
let [rec] my_func = function MyCon1 -> ... | MyCon2 ...
let [rec] my_func = fun a b c d -> ...
The first would require two-token lookahead, while
last would require an n-token lookahead. Although, support
_may_ be able to be added by using a 'functionValidation'
function similar to constructorValidation. Something to look into.
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.

None yet

3 participants