Commit Graph

6698 Commits

Author SHA1 Message Date
Eddy Reyes 2423359b28 Export Lexer methods
- They can be called in target-specific grammar actions, therefore must
  be exported.
- Their Java analogues are public methods.
2017-08-22 23:37:26 -05:00
Milan Aleksić d97400bb1e Update contributors.txt 2017-08-21 13:16:11 +02:00
Milan Aleksić 3beb771882 Fixed #1858: replacing implicit type with uint
This fix allows compilation and execution under ARM architecture, since default type couldn't handle all possible values
2017-08-21 13:13:37 +02:00
Tiago Mazzutti 715bfccb80 Update contributors.txt 2017-08-20 14:18:41 -03:00
WAKAYAMA Shirou 06f2dfebdf [Go] remove assert lib and re-implement in this package. 2017-08-08 11:03:37 +09:00
Sam Harwell 5f2f7981b7 Set the tab width in .editorconfig so GitHub shows source properly 2017-08-07 18:04:32 -05:00
WAKAYAMA Shirou bfd7a20e99 [Go] Add CommonTokenStream test.
This test is run by `go test`.
and also add test and testing utils.

Note: `github.com/stretchr/testify/assert` is required.
This assert library is almost same functionality for Java assert.
2017-08-07 20:31:55 +09:00
Terence Parr 1203794259 Merge pull request #1979 from hanjoes/swift-wiki
Updated swift-target.md.
2017-08-06 08:13:47 -07:00
Hanzhou Shi 4c93b71983 Updated swift-target.md. 2017-08-05 13:57:53 -07:00
Jan Martin Mikkelsen 5fd7a6eadb Merge branch 'master' of https://github.com/jm-mikkelsen/antlr4 2017-08-05 15:39:01 +10:00
Jan Martin Mikkelsen b106f8ee08 Remove byte order mark on utf8 files. 2017-08-05 15:38:11 +10:00
Jan Martin Mikkelsen e70e41282c Style changes as requested 2017-08-05 13:46:24 +10:00
Jan Mikkelsen 7d36c5f6b8 Merge https://github.com/antlr/antlr4 2017-08-05 13:14:14 +10:00
Arshinskiy Mike ba75dc9550 Added additional interval math functionality 2017-08-03 01:03:28 +02:00
Niels Basjes ac9f75303e Fixed empty CodePointCharStream throwing exception on getText. Fixes #1949 2017-08-02 14:30:46 +02:00
Terence Parr 590fa8394c Merge pull request #1942 from neatnerd/master
[Go] Implemented TokenStreamRewriter
2017-08-01 15:08:35 -07:00
Terence Parr a0421807db Merge pull request #1969 from sharwell/propagate-error-sets
Report InputMismatchException with original context information
2017-08-01 13:36:10 -07:00
Terence Parr 752d4d525a Merge pull request #1976 from hanjoes/doc
Swift Documentations
2017-07-30 10:34:41 -07:00
Hanzhou Shi 22caddc12f Autopass for doc conversion. 2017-07-29 23:28:15 -07:00
Hanzhou Shi 82b2480fe5 Tweak HTML comments. 2017-07-29 22:53:44 -07:00
Hanzhou Shi 0137218930 Removing dead code, malformed documentations, etc. 2017-07-29 17:27:33 -07:00
Arshinskiy Mike dced604c7c Corrected Start/Stop spelling 2017-07-29 22:05:46 +02:00
neatnerd c1c069cf5e Merge branch 'master' into master 2017-07-28 23:56:51 +02:00
neatnerd ca9409c7bc Remove duplicate comments 2017-07-28 23:55:40 +02:00
Matt Hauck a2fcad61f0 Differentiate windows static lib suffix to avoid being clobbered
Since the install target install static and shared libs into same
folder, and because on windows a shared lib also outputs a shared
.lib file to link against, need to make sure the static/shared
.lib files do not clobber each other.
2017-07-28 13:12:47 -07:00
Matt Hauck 11d185f744 add some missing flags; fix debug build 2017-07-27 22:08:13 -07:00
Matt Hauck b41782964b Add MSVC support to c++ cmake build 2017-07-27 21:37:09 -07:00
Matt Hauck f12a713062 sign contributors.txt 2017-07-27 20:56:54 -07:00
Matt Hauck 95338f710e Ignore Cmake policy CMP0054 2017-07-27 20:54:59 -07:00
Sam Harwell 0803c74eb2 Report InputMismatchException with original context information
Fixes #1922
2017-07-27 18:34:13 -05:00
Terence Parr 0ff5ad6f4c Merge pull request #1938 from shirou/master
[Go] Add getter method to Interval.
2017-07-27 16:31:31 -07:00
WAKAYAMA Shirou 1b11cbed18 Merge remote-tracking branch 'upstream/master' 2017-07-27 21:52:12 +09:00
Terence Parr 56f5190cd0 Merge pull request #1945 from dhalperi/all-imports-count
Many fixes to antlr4-maven-plugin dependency analysis
2017-07-26 11:09:48 -07:00
Venkat Peri e123bb8cea removed proto level stuff (one more) 2017-07-24 15:11:00 -04:00
Venkat Peri caa5e46def removed proto level stuff 2017-07-24 15:09:43 -04:00
Venkat Peri 61edb0204d signed contributors.txt 2017-07-23 10:14:34 -04:00
Venkat Peri e01af374d2 'requires' SUPERclass for Lexers in split mode, symbols/modes/channels available on Lexer prototype for use in lexer actions (this.SOME_MODE) like in Java actions, Utils.escapeWhiteSpace uses regex for global replace (was replacing only first occurnce of \n etc). 2017-07-22 18:11:37 -04:00
Terence Parr 2d6a4945a5 Merge pull request #1935 from mike-lischke/master
Build fixes after previous C++ patch
2017-07-21 08:55:00 -07:00
Daniel Halperin 62184c38eb Always refresh grammars with changed dependencies
The buildContext.hasDelta function is ignorant of importants. Since we have more advanced
dependency analysis, stop relying on hasDelta and instead just refresh grammars where we
know the dependencies have changed.
2017-07-19 18:03:36 -07:00
Mike Lischke 8149ff77fa Consequently use static_cast for (s)size_t casts.
Also fixed XCode tests.
2017-07-19 10:43:36 +02:00
Renata Hodovan 6e02088e6a Python: add public getter to parsers to access syntax error count.
ANTLR parsers in Java are allowed to access the number of encountered
syntax errors via the getNumberOfSyntaxErrors method. However, the
Python variants must use the protected _syntaxErrors member to get this
value. The patch defines the same getter for Python targets too.
2017-07-18 18:29:36 +02:00
Sam Harwell c8805ab584 Avoid adding to closureBusy before all ATNConfig properties are set
Setting ATNConfig properties can change the hash code of the instance, leading
to cases where the closureBusy set places objects in the wrong buckets. While
this has not led to known cases of stack overflow, it has led to cases where
one or more buckets contains a large number of duplicate objects, and the set's
add operation goes from O(1) to O(n).
2017-07-18 07:27:36 -05:00
Corey Kosak 2bce3a74d4 Remove the useless visibility attribute from this "enum class" declaration.
When compiling under gcc, ANTLR4CPP_PUBLIC macro expands to the following
gcc visibility attribute:
 __attribute__((visibility ("default")))

(when compiling under Windows it expands to the corresponding __declspec
attribute)

This change was introduced in commit 8ff852640a

Although the attribute makes perfect sense when applied to a "class"
declaration, it makes no sense (has no effect) when applied to an
"enum class" declaration. I assume that doing so was unintentional; that
when the change was introduced it was it was added mechanically to all
"class XXX" instances in the source code, a process which accidentally
picked up one "enum class XXX" instance.

Although it has no effect on the object code, it leads to the following
warning when compiling under gcc:
/usr/local/include/antlr4-runtime/atn/PredictionMode.h:18:31: error: type attributes ignored after type is already defined [-Werror=attributes]
   enum class ANTLR4CPP_PUBLIC PredictionMode {

This is a problem for people who would like their builds to be warning-free.

Happily, this declaration can be safely removed. The "enum class" construct
(just like with regular enum) does not cause any linker symbols to be
emitted. So having a linker attribute on the type does not actually have any
effect. It can therefore be safely removed.
2017-07-17 17:54:17 -04:00
vaibhavaingankar09 8b3da13259 fix to the ATN deserialiser issue on big endian architecture 2017-07-17 06:45:29 +00:00
Maurice van der Pot 162e2657b8 Fix two issues found by coverity 2017-07-15 17:20:59 +02:00
Eric Vergnaud 0930095207 fix inconsistent naming in target stg 2017-07-15 12:19:54 +08:00
Daniel Halperin 9cb5234539 Sign the contributors.txt 2017-07-11 21:01:08 -07:00
Daniel Halperin 7a882f7d5b Add test for multiple imports 2017-07-11 20:59:01 -07:00
Daniel Halperin d58e7e31bf GrammarDependencies: include all imports
For some reason, the grammar import dependency analysis only included
the first import on a line. This does not work so well...
2017-07-11 20:59:01 -07:00
Daniel Halperin a9dfca3666 isDependencyChanged: consider equal timestamps as out of date
Some systems have low-granularity timestamps, so that file modification
dates are rounded to seconds. This causes false negatives when detecting
if a grammar needs to be recompiled if it changes a second after producing
its tokens.

This likely only causes an issue for tests that frequently mutate files;
real humans are unlikely to compile within 1s of changing a grammar.
Still, this seems a cleaner solution that hacking the failing test to use
force a different modification time, as there will almost never be false
positives.

This fixes the failing test after making the test correct.
2017-07-11 20:59:01 -07:00