Commit Graph

4613 Commits

Author SHA1 Message Date
Terence Parr e7ba4967bc tweak doc 2015-11-26 11:04:58 -08:00
Terence Parr 6068a4a2c7 Merge pull request #1054 from abego/patch-4
Possible NullPointerException in ActionTranslater#translateActionChunk
2015-11-25 09:05:46 -08:00
Terence Parr 36d8d41def Merge pull request #1046 from abego/extraNullCheckInTestRig
Extra 'null' check in TestRig#process
2015-11-25 09:04:43 -08:00
Terence Parr 6da877e895 Merge pull request #1053 from abego/patch-3
Doc: more details on remotes `origin` and `upstream` in local Git repo
2015-11-25 09:04:09 -08:00
Terence Parr bd947c90a6 Merge pull request #1055 from abego/patch-5
sign "contributors.txt" file
2015-11-25 09:03:47 -08:00
Udo Borkowski b9b1afe902 sign "contributors.txt" file 2015-11-25 10:08:35 +01:00
Udo Borkowski 10edd9a243 Possible NullPointerException in ActionTranslater#translateActionChunk
The parameter `RuleFunction rf` in `ActionTranslater#translateActionChunk` may be `null`.

The method's implementation takes care of this by checking `rf` before making its `ruleCtx` the translator's nodeContext:

```
if ( rf!=null ) translator.nodeContext = rf.ruleCtx;
```

However in the statement following this code the check for `rf!=null` is missing. This will lead to a `NullPointerException` when  `altLabel` is defined and `rf` is `null`:

```
if ( altLabel!=null ) translator.nodeContext = rf.altLabelCtxs.get(altLabel);
```

To avoid the problem only access `rf.altLabelCtxs` when `rf` is not null:

```
if ( rf!=null ) {
    translator.nodeContext = rf.ruleCtx;
    if ( altLabel!=null ) translator.nodeContext = rf.altLabelCtxs.get(altLabel);
}
```
2015-11-25 00:37:48 +01:00
Udo Borkowski 0857dc40f3 Doc: more details on remotes `origin` and `upstream` in local Git repo 2015-11-25 00:32:56 +01:00
Terence Parr 8d6203450d Merge pull request #1052 from parrt/master
this->self.
2015-11-24 11:14:37 -08:00
Terence Parr 15f69d6697 this->self. 2015-11-24 10:58:19 -08:00
Terence Parr 8a4aa39de2 fix links 2015-11-23 16:19:45 -08:00
Terence Parr 3726992071 Merge pull request #1051 from parrt/move-doc-to-repo
Move doc to repo from wiki.
2015-11-23 16:10:30 -08:00
Terence Parr 292dce4f6d add more doc 2015-11-23 16:06:04 -08:00
Terence Parr 5aa8b29453 add more doc 2015-11-23 15:57:58 -08:00
Terence Parr e1073410f8 more doc 2015-11-22 09:25:41 -08:00
Terence Parr 1c3b4515ea add more doc 2015-11-19 15:59:04 -08:00
Terence Parr 73f042139c add more doc 2015-11-19 12:47:28 -08:00
Terence Parr 586bcd2368 Merge branch 'master' of github.com:parrt/antlr4 into move-doc-to-repo 2015-11-19 12:39:11 -08:00
Terence Parr 05b50325a8 Merge pull request #991 from michaelpj/sync-before-predict
Reinstitute `sync` calls before `adaptivePredict`
2015-11-19 12:37:09 -08:00
Terence Parr 3fa8cfe29e add more doc 2015-11-19 12:34:04 -08:00
Udo Borkowski a71ffbe8bc Extra 'null' check in TestRig#process
After loading and casting the parserClass in TestRig#process using
`cl.loadClass(parserName).asSubclass(Parser.class)` there is a check if
the class returned by `#asSubclass` is not null:

```
parserClass = cl.loadClass(parserName).asSubclass(Parser.class);
if ( parserClass==null ) {
	System.err.println("Can't load "+parserName);
}
```

The method `#asSubclass` will never return `null`, but throw an
`ClassCastException` when the cast is not valid, therefore the check
can be removed.

See also: [TestRig#process Documentation](http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#asSubclass(java.lang.Class\))
2015-11-19 18:27:32 +01:00
Michael Peyton Jones 42cb08f46a Add proper qualifiers to the JS and Python errHandler calls 2015-11-19 16:40:17 +00:00
Michael Peyton Jones b48c86cc30 Use correct sync method in C# codegen 2015-11-18 11:22:53 +00:00
Terence Parr f6920d87ed add more doc 2015-11-15 17:47:49 -08:00
Terence Parr c77c2a39e9 Merge pull request #1031 from HSorensen/patch-1
Update TestRig.java help text with correct package name
2015-11-12 14:00:42 -08:00
Terence Parr 99f818b529 Merge pull request #1032 from HSorensen/patch-2
TreeViewer: Fix NPE
2015-11-12 13:59:29 -08:00
Terence Parr bd4200bb89 Merge pull request #1040 from ericvergnaud/update-javascript-package
Update GitHub references in npm package
2015-11-12 13:58:47 -08:00
Eric Vergnaud 98abfc14f3 Update GitHub references in npm package 2015-11-12 07:57:52 +08:00
parrt fd2166984a add fuzzy doc 2015-11-04 17:22:26 -08:00
parrt 12e25a2ad7 add lexer rule doc 2015-11-04 16:51:42 -08:00
Terence Parr edc04740ba add more doc 2015-10-31 17:31:25 -07:00
Terence Parr a441b297af fix javadoc arg in pom, update javadoc instructions 2015-10-31 16:40:42 -07:00
Terence Parr fcffaca6bf fix index 2015-10-31 14:34:00 -07:00
Terence Parr 9b682b69b7 add to index 2015-10-31 14:30:36 -07:00
Terence Parr 3b00c09088 parser rules doc in 2015-10-31 14:28:59 -07:00
Terence Parr 1232e1bed1 table messed up 2015-10-31 13:54:24 -07:00
Terence Parr d6a075b843 mid-addition of parser rules 2015-10-31 13:51:09 -07:00
HSorensen dcbe2ae806 TreeViewer: Fix NPE
The `selectedTree.getSelectionPath()` return null if nothing is selected.
Added check to avoid NPE:
```java
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at org.antlr.v4.gui.TreeViewer$4.valueChanged(TreeViewer.java:376)
	at javax.swing.JTree.fireValueChanged(JTree.java:2921)
	at javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3382)
	at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:635)
	at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1093)
	at javax.swing.tree.DefaultTreeSelectionModel.removeSelectionPaths(DefaultTreeSelectionModel.java:502)
	at javax.swing.JTree.removeDescendantSelectedPaths(JTree.java:3714)
	at javax.swing.JTree.setExpandedState(JTree.java:3597)
	at javax.swing.JTree.collapsePath(JTree.java:2231)
	at javax.swing.plaf.basic.BasicTreeUI.toggleExpandState(BasicTreeUI.java:2297)
	at javax.swing.plaf.basic.BasicTreeUI.handleExpandControlClick(BasicTreeUI.java:2273)
	at javax.swing.plaf.basic.BasicTreeUI.checkForClickInExpandControl(BasicTreeUI.java:2231)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:3600)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:3548)
	at java.awt.Component.processMouseEvent(Component.java:6524)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6292)
	at java.awt.Container.processEvent(Container.java:2234)
	at java.awt.Component.dispatchEventImpl(Component.java:4883)
	at java.awt.Container.dispatchEventImpl(Container.java:2292)
	at java.awt.Component.dispatchEvent(Component.java:4705)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4530)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
	at java.awt.Container.dispatchEventImpl(Container.java:2278)
	at java.awt.Window.dispatchEventImpl(Window.java:2739)
	at java.awt.Component.dispatchEvent(Component.java:4705)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
	at java.awt.EventQueue.access$400(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:697)
	at java.awt.EventQueue$3.run(EventQueue.java:691)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:719)
	at java.awt.EventQueue$4.run(EventQueue.java:717)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
```
2015-10-29 08:56:42 -07:00
Terence Parr 147b7eb4ef fix grammars 2015-10-28 17:45:38 -07:00
Terence Parr 4d3e50844c fix grammars 2015-10-28 17:45:11 -07:00
Terence Parr 4aa9a6d237 add grammars 2015-10-28 17:43:18 -07:00
Terence Parr 2401e9688d add lexicon 2015-10-28 17:24:15 -07:00
Terence Parr b2db71a97e got doc in on adding tests 2015-10-28 17:06:40 -07:00
Terence Parr 7be6ff56a7 getting antlr build doc in 2015-10-28 16:03:49 -07:00
Ivan Kochurkin d692e1f0d9 Fixed @sharwell remarks: typos and etc. 2015-10-28 13:22:21 +03:00
HSorensen 84c283c3a9 Update TestRig.java
The help and error message from the TestRig program refers to the old `runtime.misc` instead of the new `gui` package:
```
java org.antlr.v4.runtime.misc.TestRig GrammarName startRuleName
  [-tokens] [-tree] [-gui] [-ps file.ps] [-encoding encodingname]
  [-trace] [-diagnostics] [-SLL]
  [input-filename(s)]
Use startRuleName='tokens' if GrammarName is a lexer grammar.
Omitting input-filename makes rig read from stdin.
```
2015-10-27 21:34:39 -07:00
Terence Parr 8e286bb372 first doc commit 2015-10-27 17:36:22 -07:00
Terence Parr 66c0aeb93c first doc commit 2015-10-27 17:19:06 -07:00
Terence Parr 78fde76fc5 first doc commit 2015-10-27 17:12:01 -07:00
Terence Parr 8aac8e7157 Merge branch 'master' into move-doc-to-repo 2015-10-27 10:53:45 -07:00