Commit Graph

2354 Commits

Author SHA1 Message Date
parrt b5648f405b tweak documentation about various targets 2017-03-30 10:44:28 -07:00
parrt 53641c552c fix build issue in C#. some weird changes snuck in. 2017-03-16 17:13:47 -07:00
Terence Parr 1f6a329692 Merge pull request #1765 from bhamiltoncx/unicode-cleanup-and-doc
Tidy up CharStreams and add new doc/unicode.md
2017-03-16 17:03:06 -07:00
Ben Hamilton 4f2168600d Tidy up CharStreams API. Add new doc/unicode.md 2017-03-16 17:01:46 -06:00
parrt b2e51e20b7 add C# keyword 2017-03-16 09:49:40 -07:00
parrt 4c1dc90064 tweak wildcard. Fixes #1213 2017-03-15 09:04:47 -07:00
Ben Hamilton c71b7d2f18 EmojiDefault and TextDefault 2017-03-14 13:27:01 -06:00
parrt 60f70e778c Fixes #1604 2017-03-14 11:09:37 -07:00
Terence Parr e2a19e5a85 Merge pull request #1754 from bhamiltoncx/extended-pictographic
Add new \p{Extended_Pictographic} and related Unicode property escapes
2017-03-14 10:10:53 -07:00
Ben Hamilton 3219f1c77d Extended Pictographic 2017-03-13 15:40:51 -06:00
Peter Boyer 39b3a35b48 Initialize decisionToDFA in init 2017-03-11 14:47:28 -05:00
Tom Everett cf422bb107 exclude icu4j from the final jar 2017-03-09 18:36:25 -07:00
Tom Everett 2c0ef5529d remove tool-codegen
tool-codegen is now part of tool
2017-03-09 17:43:33 -07:00
Tom Everett 3ae7aba765 fix for compile error
Currently the project tool-codegen generates the file UnicodeData.java into the /target directory of the project tool.  Running “mvn clean package” in tool erases this file and generates a compile error since UnicodeData.java can’t be found.

This patch changes tool-codegen to generate UnicodeData.java into the /src directory of tool.
2017-03-08 20:10:33 -07:00
Ben Hamilton 6007132e2e Also support Unicode enumerated properties via \p{East_Asian_Width=Ambiguous} escape 2017-03-08 09:43:50 -08:00
Mike Lischke 1cf28851c2 Merge branch 'master_upstream' into optimizations 2017-03-04 14:58:41 +01:00
Ivan Kochurkin e3f85774a4 Reverted unterminated ranges: [+-], [-+]. 2017-03-03 21:35:31 +03:00
Ivan Kochurkin fbc49f2f00 Moved and simplified getIntervalSetEscapedString to CharSupport. 2017-03-03 21:01:00 +03:00
Ivan Kochurkin b3e667c619 Fixed escaped charactes in error messages. 2017-03-03 16:44:41 +03:00
Ivan Kochurkin d59d193252 CharSupport code improved and cleared.
Tests fixed.
2017-03-03 16:44:41 +03:00
Ivan Kochurkin 9b5f039e46 Handle INVALID_CHAR_SET error. 2017-03-03 13:40:40 +03:00
Ivan Kochurkin f6cda7f0ea Added new error INVALID_CHAR_SET. 2017-03-03 13:39:19 +03:00
parrt 3df19fbcc8 make format consistent with most of antlr project 2017-03-02 10:38:48 -08:00
Ivan Kochurkin c5f9d5e2a1 More accurate escaping (different symbols for string literals (') and char sets(]-)).
Improved  testInvalidCharSetsAndStringLiterals test.
2017-03-02 18:16:05 +03:00
Ivan Kochurkin 77f7fd135d Fixed incorrect "used multiple times" warning.
Improved warning output in ATNOptimizer.
2017-03-02 14:56:50 +03:00
parrt d9ae13fc1a we left invalid escapes in string literals which was causing an error. This is related to #1537. All tool errors pass now. 2017-03-01 17:32:44 -08:00
Terence Parr 8d1df4c9e4 Merge pull request #1688 from bhamiltoncx/unicode-property-escape
New \p{Letter} Unicode property escape
2017-03-01 15:24:52 -08:00
parrt 070849698a error-> warnings. Fixes #1537 2017-03-01 15:10:44 -08:00
Ben Hamilton ca03e6ab5e New \p{Letter} Unicode property escape 2017-03-01 14:50:02 -08:00
Ben Hamilton 3557f48386 EscapeSequenceParsing 2017-03-01 14:06:04 -08:00
parrt 6215f18ec3 rename 4.6.1 to 4.7 everywhere 2017-02-23 14:48:58 -08:00
Ben Hamilton fd4246cf3f Implement new extended Unicode escape \u{10ABCD}. Bump UUID. Add lots more tests. 2017-02-23 09:39:44 -08:00
Ben Hamilton 5c5f52ab83 Use code generation in new tool-codegen build step instead of making tool depend on ICU at runtime 2017-02-22 11:09:02 -08:00
Ben Hamilton f384ef5fb4 New utility class Unicode 2017-02-21 12:40:31 -08:00
Ben Hamilton 291638ca2d CodePointTransitions 2017-02-17 13:30:22 -08:00
Terence Parr 2b3508d57e Merge pull request #1662 from bhamiltoncx/no-more-char-casts
Get rid of all (char) casts
2017-02-17 13:21:16 -08:00
Ivan Kochurkin fab6172749 Added "action" to badWords set for Go runtime.
Some spaced replaced with tabs.
2017-02-17 23:31:51 +03:00
Ben Hamilton 88ecb3d9fa Get rid of all (char) casts 2017-02-16 09:55:08 -08:00
Ben Hamilton c35bbabc16 PR #1658: Also write stderr to file 2017-02-16 09:44:40 -08:00
Terence Parr 6c878b0709 Merge pull request #1653 from bhamiltoncx/codegen-unicode-escapes
Emit language-specific Unicode escapes in codegen
2017-02-15 16:48:50 -08:00
Terence Parr 287f17b796 Merge pull request #1652 from bhamiltoncx/csharp-lexer-parser-output-file
C# support for lexer and parser output to a file
2017-02-13 15:10:54 -08:00
Terence Parr 9b7e2a81ce Merge pull request #1651 from bhamiltoncx/python-lexer-parser-output-file
Python 2 and Python 3 support for lexer and parser output to a file
2017-02-13 15:10:19 -08:00
Ben Hamilton c7e7550a12 Fix CSharpTarget.java 2017-02-13 08:56:57 -08:00
Ben Hamilton 0049d6d9ae Emit language-specific Unicode escapes when generating code containing non-ASCII Unicode values 2017-02-10 14:31:56 -08:00
Terence Parr ae5250685d Merge pull request #1637 from bhamiltoncx/char-streams
Make BaseJavaTest and TestRig work with Unicode values > U+FFFF
2017-02-10 14:11:34 -08:00
Ben Hamilton 6611c1ae27 C# runtime and test harness support for writing test output to file 2017-02-10 13:37:44 -08:00
Ben Hamilton 2c447a2b75 Python 2 and Python 3 support for lexer and parser output to a file instead of stdout 2017-02-10 13:11:24 -08:00
Ivan Kochurkin 23f59ad99d Removed trailing comma in channelNames for Python 2 & 3, JavaScript. 2017-01-31 00:34:10 +03:00
Ivan Kochurkin 7b8ba3550b channelNames support in LexerInterpreter (C#, C++, Java, Swift). 2017-01-31 00:34:10 +03:00
Ivan Kochurkin ccb325db42 Removed trailing comma in channel names. 2017-01-31 00:32:21 +03:00
Ivan Kochurkin 9998db82ce Added channel constants to Go runtime. 2017-01-31 00:32:21 +03:00
Ivan Kochurkin f9fa84213c Swift: mode constants written to file as tokens and channels. 2017-01-31 00:32:21 +03:00
Ivan Kochurkin 956dc0547f C++: mode constants written to file as tokens and channels. 2017-01-31 00:32:21 +03:00
Ivan Kochurkin 1fe1216e26 C#: mode constants written to file as tokens and channels. 2017-01-31 00:32:21 +03:00
Ivan Kochurkin 00d0ba129b Mode constants written to file as tokens and channels.
I mean:

```Java
public static final int M1=1, M2=2;
```

instead of

```Java
public static final int M1=1;
public static final int M2=2;
```
2017-01-31 00:32:21 +03:00
Ivan Kochurkin e9e83a69e7 Added channel constants to Python 2 & 3 runtimes.
Improved indentation.
2017-01-31 00:32:21 +03:00
Ivan Kochurkin def7e6afc8 Added channel constants to JavaScript runtime.
Improved indentation.
2017-01-31 00:32:21 +03:00
Ivan Kochurkin c3d96eb5d7 Added channelNames to all runtimes. 2017-01-31 00:32:21 +03:00
Ben Hamilton 0f52b7c0d9 CharStreams 2017-01-30 10:09:56 -08:00
Terence Parr 0901851719 Merge pull request #1585 from KvanTTT/left-recursive-rule-labels
The final fix (hopefully) for alternative labels check in left recursive rules
2017-01-29 13:34:32 -08:00
Gary Miller 7cbef5617c removed lower case formatting on types. Case has meaning in Go, needs preserving. 2017-01-11 22:33:35 +11:00
Gary Miller 810000c23e removed superClass import 2017-01-11 22:21:29 +11:00
Ivan Kochurkin d71c2157ce Fixed @sharwell note about comment. 2017-01-08 15:08:48 +03:00
Ivan Kochurkin 4a5717162e Fixed indents for else statements.
Fixed correct token in checkForTypeMismatch.
2017-01-07 18:37:17 +03:00
Ivan Kochurkin a558334a01 Code cleared, added comments. 2017-01-07 18:26:22 +03:00
Ivan Kochurkin 385e96784d Initial fix for labels in left recursive rules: https://github.com/antlr/antlr4/pull/1570 & https://github.com/antlr/antlr4/issues/1543 2017-01-07 18:16:22 +03:00
Sam Harwell 587ea3646c Don't use list labels for elements that appear twice in a block set 2017-01-06 00:21:42 -06:00
Sam Harwell 204c281772 Fix optional element analysis
* Properly handle elements that are optional in some alts but not others
* Properly handle block sets (a group of terminals producing a SetTransition)
* Properly handle OPTIONAL subrule
2017-01-06 00:19:43 -06:00
Sam Harwell 9009a1b989 Simplify logic leaving a subrule in ElementFrequenciesVisitor 2017-01-04 11:46:47 -06:00
Sam Harwell eb53e70e39 Implement support for optional getters
This analysis is required for proper code generation in the TypeScript target
when strict null checks are enabled. It also applies to targets intending to
differentiate optional values from required values.
2017-01-04 09:43:20 -06:00
Sam Harwell 6b007b445c Disable label checks for left recursive rules
See #1543
2017-01-02 14:14:06 -06:00
Mike Lischke c874ab68fb Merge branch 'master' into optimizations 2017-01-01 17:40:48 +01:00
Mike Lischke a60fcfed0f Removed the need of a shadow s0 copy in the DFA class. 2017-01-01 17:39:44 +01:00
Terence Parr aa909ddcb1 Merge pull request #1563 from parrt/bump-to-4.6.1
bump version to 4.6.1 in all files.
2016-12-28 14:09:33 -08:00
parrt 2629433830 bump version to 4.6.1 in all files. 2016-12-28 12:03:43 -08:00
parrt 36ee17449f Fixes #1556.
```
beast:/tmp $ a4.6 T.g4
org/antlr/v4/parse/GrammarTreeVisitor.g: node from line 2:7 no viable alternative at input '..'
org/antlr/v4/parse/GrammarTreeVisitor.g: node from line 2:7 no viable alternative at input '..'
org/antlr/v4/parse/GrammarTreeVisitor.g: node from line 2:7 no viable alternative at input '..'
org/antlr/v4/parse/GrammarTreeVisitor.g: node from line 2:7 no viable alternative at input '..'
org/antlr/v4/parse/GrammarTreeVisitor.g: node from line 2:7 no viable alternative at input '..'
context [/report INTERNAL_ERROR] 1:17 attribute arg isn't defined
error(20):  internal error:
beast:/tmp $ a4.6.1 T.g4
error(181): T.g4:2:4: token ranges not allowed in parser: 'A'..'Z'
```
2016-12-28 11:47:48 -08:00
Sam Harwell 7a83cd4910 Fix code generation for LL1OptionalBlock bypass alternative
See #1545
2016-12-23 16:12:43 -06:00
parrt 3ce00ec933 fix some typos Sam noticed. 2016-12-22 09:43:18 -08:00
Mike Lischke 367f09dcbe Removed command line option for exportMacro.
This is now handled via a grammar option.
2016-12-21 09:11:31 +01:00
Mike Lischke a9dc3ebd86 Merge branch 'master_upstream' 2016-12-19 16:47:39 +01:00
parrt 23313ee44e [maven-release-plugin] prepare for next development iteration 2016-12-15 14:25:41 -08:00
parrt aacd2a2c95 [maven-release-plugin] prepare release 4.6 2016-12-15 14:25:36 -08:00
parrt 31726311a8 add exportMacro to list of valid grammar options. verified it works in grammar and -D on command line. 2016-12-15 13:25:02 -08:00
Mike Lischke d1b429d94c Added a new setting required by the C++ runtime.
In order to export generated classes in DLLs we need a way to specify the __declspec setting. This is is usually done via a macro that takes the import or export value. The new parameter (`-export-macro`) allows to specify this, which increases the flexibility of the generated classes.

The C++ target documentation has been extended to describe build specific things, includig this new parameter.
2016-12-15 13:11:10 -08:00
parrt 160825a86f minor reformatting. 2016-12-15 11:41:56 -08:00
parrt e0460f103b simplify; reduce indentation. 2016-12-15 11:32:48 -08:00
parrt b503838a59 simplify 2016-12-15 11:22:42 -08:00
parrt 642d06ebb2 fix typo 2016-12-15 11:15:56 -08:00
Ivan Kochurkin 5d3b99b2ee Fixed error message for EMPTY_STRINGS_AND_SETS_NOT_ALLOWED. 2016-12-15 11:08:09 -08:00
Ivan Kochurkin 75d5db5941 Implemented CHARACTERS_COLLISION_IN_SET handling.
Implemented EMPTY_STRINGS_AND_SETS_NOT_ALLOWED for empty sets.
Improved INVALID_ESCAPE_SEQUENCE, fixes #1077
2016-12-15 11:08:09 -08:00
Ivan Kochurkin 37148ff7fa Added CHARACTERS_COLLISION_IN_SET warning.
EMPTY_STRINGS_NOT_ALLOWED rename to EMPTY_STRINGS_AND_SETS_NOT_ALLOWED.
2016-12-15 11:08:09 -08:00
Mike Lischke 428ff28f35 Added a new setting required by the C++ runtime.
In order to export generated classes in DLLs we need a way to specify the __declspec setting. This is is usually done via a macro that takes the import or export value. The new parameter (`-export-macro`) allows to specify this, which increases the flexibility of the generated classes.

The C++ target documentation has been extended to describe build specific things, includig this new parameter.
2016-12-15 16:44:26 +01:00
parrt f38ccba94a Fixes #1514 2016-12-14 12:26:32 -08:00
parrt a3aa610e3d get recognizer name properly. Fixes #958 2016-12-13 11:05:39 -08:00
Terence Parr ec5f2ecf31 Merge pull request #1498 from parrt/fix-1299
Fixes #1299. matching a set didn't properly notify error strategy of a successful match
2016-12-13 08:30:49 -08:00
parrt a69299c507 set javadoc to deploy phase. 2016-12-13 08:17:13 -08:00
parrt 068a13e0f8 Update all other targets 2016-12-12 18:09:55 -08:00
parrt b11ff9636a Fixes #1299. matching a set didn't properly notify error strategy of a successful match. 2016-12-12 17:54:53 -08:00
parrt 2739a0c9ef Fixes #1492. only create javadoc if we use `mvn -DskipTests javadoc:jar install` 2016-12-12 17:33:39 -08:00
Eric Vergnaud 39de8896f8 Merge branch 'master' into realign-csharp-runtime 2016-12-12 21:54:26 +08:00
Terence Parr 08a8e30864 Merge pull request #1470 from gaulouis/issue-1457
Issue 1457
2016-12-11 15:14:36 -08:00
parrt 42086eff6e Fix #980 2016-12-11 14:56:11 -08:00
Eric Vergnaud 0170c9a064 Good progress with parser 2016-12-12 02:00:09 +08:00
Eric Vergnaud 19d70cd777 TestLexerExec tests pass 2016-12-12 00:52:09 +08:00
parrt 0dae6359ec Fixes #1007. 2016-12-10 18:29:09 -08:00
parrt 52cecbe9e1 generates tool javadoc jar now 2016-12-10 18:21:10 -08:00
parrt 98900144b2 attempting to get src/javadoc back. 2016-12-10 18:09:37 -08:00
parrt 731603b489 maven shade and bundle don't work together so i dropped bundle for main complete jar. 2016-12-10 17:31:03 -08:00
parrt c0e7c49a9e update jar version, add implementation manifest entries. Fixes #1036 2016-12-10 16:43:10 -08:00
parrt 9b758cb668 update versions 2016-12-10 16:07:35 -08:00
parrt 0de8a9c414 simplify tool pom 2016-12-10 15:32:39 -08:00
parrt e65154c161 Fix #1073. Better token output. 2016-12-10 14:34:50 -08:00
parrt 0eb27279de fix LL1 analyzer 2016-12-09 18:07:47 -08:00
gaulouis 258b1a4a38 Redo dynamic cast 2016-12-09 21:37:52 +01:00
gaulouis e9859bcd2f Fix unnecessary cast 2016-12-09 18:43:07 +01:00
gaulouis ea53dac7b7 Fix antlr4:: namespace pollution in Lexer/Parser headers 2016-12-09 18:35:55 +01:00
Terence Parr 2dddd007e4 Merge pull request #1462 from pboyer/lafix
Fix for #1459
2016-12-08 12:19:14 -08:00
Terence Parr 11117e02d4 Merge pull request #1458 from KvanTTT/mixed_type_labels_1409
Check labels for tokens with different types
2016-12-08 11:47:09 -08:00
parrt 2c99f187a0 make it read "Copyright (c) 2012-2016 The ANTLR Project" 2016-12-08 11:43:06 -08:00
parrt 1b1a9862c4 contributors->authors 2016-12-08 11:43:06 -08:00
parrt 61e8eba4fc fix typo 2016-12-08 11:43:06 -08:00
parrt 891915de84 Update copyright on java, xml files. Make BSD license conform to standard. 2016-12-08 11:40:30 -08:00
Peter Boyer 0cb32c0620 Fix for repeat declaration of la_ 2016-12-07 21:03:03 -05:00
Ivan Kochurkin bdc1911e6e Removed not used LabelType. 2016-12-07 22:40:27 +03:00
Ivan Kochurkin d5dda9f998 Added check for labels with different token types.
Spaces -> Tabs.
2016-12-07 22:39:27 +03:00
Terence Parr abed9e733a Merge pull request #1449 from KvanTTT/duplicated_and_nonsensical_commands_1388
Duplicated and incompatible commands
2016-12-05 13:40:10 -08:00
Ivan Kochurkin e4c765aa27 Added comment. 2016-12-04 15:11:25 +03:00
Ivan Kochurkin bf3bff16e4 Misprints fixed, code style improved (removed unnecessary else). 2016-12-04 15:06:07 +03:00
Ivan Kochurkin cb16e369fe Misprint in comment. 2016-12-04 04:05:55 +03:00
Ivan Kochurkin 0e1b5d9d7a Merge branch 'command_wrong_id_1411' into duplicated_and_nonsensical_commands_1388
# Conflicts:
#	tool/src/org/antlr/v4/tool/ErrorType.java
2016-12-04 03:57:11 +03:00
Terence Parr f11a380609 Merge pull request #1417 from KvanTTT/command_wrong_id_1411
ANTLR generates a wrong lexer code if type, channel or mode commands use inproper identifier
2016-12-03 16:55:23 -08:00
Ivan Kochurkin 4e2f50aef8 Added new error types for not recognized token, mode or channel name. 2016-12-04 03:47:28 +03:00
Ivan Kochurkin b8585b7eb5 Fixed some missed cases for checkCommands. 2016-12-04 02:32:39 +03:00
Terence Parr 8ead51d8ff Merge pull request #1423 from wxio/master
Fix for redeclared error is generated Go code.
2016-12-01 10:51:40 -08:00
Peter Boyer f00e346ccd Add additional _alt decl 2016-11-30 11:18:26 -05:00
Peter Boyer ced8fba5bc Update Go.stg 2016-11-29 23:50:39 -05:00
Peter Boyer 39c77ca20f Potential fix for antlr/antlr4 #1397 2016-11-29 23:45:29 -05:00
Denis Blank c8279a1d89 Fix a dangerous c-cast in the cpp codegen 2016-11-29 17:14:02 +01:00
Ivan Kochurkin 9aab338021 Reverted old error types and numbers. 2016-11-29 19:12:43 +03:00
Ivan Kochurkin 44aab113f3 Added method checkCommands.
commands check micro optimization and code clearing.
2016-11-29 18:48:03 +03:00
Ivan Kochurkin f76ca22763 MODE_CONFLICTS_WITH_TOKEN error restored. 2016-11-29 18:13:57 +03:00
Ivan Kochurkin 8fe4def4ed Warnings for incompatible commands, added unit-test, fixes #1388.
Improved test for duplicated commands (added pushMode, popMode).
2016-11-29 16:03:33 +03:00
Ivan Kochurkin ed7f6f70da pushMode and popMode commands are not duplicated. 2016-11-29 16:00:41 +03:00
Gary Miller 763669ffc7 Fix for redeclared error is generated Go code. Create block so _x and _m var are created in a local scope. 2016-11-29 12:35:48 +11:00
Ivan Kochurkin bd1111ffa3 Fixed issue with duplicated commands in lexer rule. 2016-11-28 19:48:35 +03:00
Ivan Kochurkin a1def96500 getConstantValue replaced with getModeConstantValue, getTokenConstantValue and getChannelConstantValue methods.
ErrorType simplified, tests fixed.
Fixes #1411, added unit-test.
2016-11-28 14:41:04 +03:00
parrt 3506dcef1d add @Override to hush warnings. Manually did some of https://github.com/antlr/antlr4/pull/1066 2016-11-25 12:52:44 -08:00
Sam Harwell f196971565 Fix failure to identify prefix rules that also recurse
Fixes #1402
2016-11-24 14:38:34 -06:00
parrt 6c2d4e6225 Fixes #1211 2016-11-22 15:04:28 -08:00
parrt dc2c9b039e Fixes #1188 2016-11-22 14:21:07 -08:00