ctf: Remove the callsite support
authorAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Wed, 27 May 2015 19:42:27 +0000 (15:42 -0400)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Wed, 30 Sep 2015 01:26:19 +0000 (21:26 -0400)
The existing support for CTF callsites was based on an out-of-tree
branch of LTTng-UST. This branch was since then abandonned, and
callsites (now rather called "debug info") will be implemented
differently.

This makes CtfTmfEvent not extend ITmfSourceLookup, because for
all intents and purposes it should never have. Correct source
lookup will be added with the new support.

Change-Id: Ic8b9c133965a1230f7754bbdcb7bc933414f38b2
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/50310
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
22 files changed:
ctf/org.eclipse.tracecompass.ctf.core.tests/perf/org/eclipse/tracecompass/ctf/core/tests/perf/trace/AllPerfTests.java
ctf/org.eclipse.tracecompass.ctf.core.tests/perf/org/eclipse/tracecompass/ctf/core/tests/perf/trace/CTFTraceCallsitePerformanceTest.java [deleted file]
ctf/org.eclipse.tracecompass.ctf.core.tests/src/org/eclipse/tracecompass/ctf/core/tests/event/CTFCallsiteTest.java [deleted file]
ctf/org.eclipse.tracecompass.ctf.core.tests/src/org/eclipse/tracecompass/ctf/core/tests/event/TestAll.java
ctf/org.eclipse.tracecompass.ctf.core.tests/src/org/eclipse/tracecompass/ctf/core/tests/trace/CTFTraceTest.java
ctf/org.eclipse.tracecompass.ctf.core.tests/src/org/eclipse/tracecompass/ctf/core/tests/trace/IOstructgenTest.java
ctf/org.eclipse.tracecompass.ctf.core/pom.xml
ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/ctf/core/event/CTFCallsite.java [deleted file]
ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/ctf/core/trace/CTFTrace.java
ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/internal/ctf/core/event/CTFCallsiteComparator.java [deleted file]
ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/internal/ctf/core/event/metadata/IOStructGen.java
ctf/org.eclipse.tracecompass.ctf.parser.tests/src/org/eclipse/tracecompass/ctf/parser/tests/CtfLexerTest.java
ctf/org.eclipse.tracecompass.ctf.parser/src/main/antlr3/org/eclipse/tracecompass/ctf/parser/CTFLexer.g
ctf/org.eclipse.tracecompass.ctf.parser/src/main/antlr3/org/eclipse/tracecompass/ctf/parser/CTFParser.g
ctf/org.eclipse.tracecompass.ctf.parser/target/generated-sources/antlr3/org/eclipse/tracecompass/ctf/parser/CTFLexer.java
ctf/org.eclipse.tracecompass.ctf.parser/target/generated-sources/antlr3/org/eclipse/tracecompass/ctf/parser/CTFParser.java
ctf/org.eclipse.tracecompass.tmf.ctf.core/META-INF/MANIFEST.MF
ctf/org.eclipse.tracecompass.tmf.ctf.core/pom.xml
ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/event/CtfTmfEvent.java
ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/event/lookup/CtfTmfCallsite.java [deleted file]
ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/trace/CtfTmfTrace.java
ctf/org.eclipse.tracecompass.tmf.ctf.ui.swtbot.tests/src/org/eclipse/tracecompass/tmf/ctf/ui/swtbot/tests/TestInvalidCtfTrace.java

index 6da02541c2fc41c7e24def442b2458f719b0c87f..07ad35e31d48e02d7585c6d9c2fa23b4fe4a8115 100644 (file)
@@ -20,7 +20,6 @@ import org.junit.runners.Suite;
  */
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
-        CTFTraceCallsitePerformanceTest.class,
         TraceReadBenchmark.class,
         TraceSeekBenchmark.class
 })
diff --git a/ctf/org.eclipse.tracecompass.ctf.core.tests/perf/org/eclipse/tracecompass/ctf/core/tests/perf/trace/CTFTraceCallsitePerformanceTest.java b/ctf/org.eclipse.tracecompass.ctf.core.tests/perf/org/eclipse/tracecompass/ctf/core/tests/perf/trace/CTFTraceCallsitePerformanceTest.java
deleted file mode 100644 (file)
index bd87f15..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 Ericsson
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.tracecompass.ctf.core.tests.perf.trace;
-
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assume.assumeTrue;
-
-import java.util.Random;
-import java.util.TreeSet;
-
-import org.eclipse.test.performance.Dimension;
-import org.eclipse.test.performance.Performance;
-import org.eclipse.test.performance.PerformanceMeter;
-import org.eclipse.tracecompass.ctf.core.CTFException;
-import org.eclipse.tracecompass.ctf.core.event.CTFCallsite;
-import org.eclipse.tracecompass.ctf.core.tests.shared.CtfTestTrace;
-import org.eclipse.tracecompass.ctf.core.trace.CTFTrace;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * Test the performance of the callsite storage in the CTF trace.
- *
- * @author Matthew Khouzam
- */
-public class CTFTraceCallsitePerformanceTest {
-
-    private static final String TEST_SUITE_NAME = "CTF Callsite Benchmark";
-    private static final String TEST_ID = "org.eclipse.linuxtools#" + TEST_SUITE_NAME;
-
-    private static final CtfTestTrace testTrace = CtfTestTrace.KERNEL;
-
-    private static final int NUMBER_OF_SEEKS = 100000;
-
-    private final String[] callsites = { "Alligator", "Bunny", "Cat",
-            "Dolphin", "Echidna", "Gazelle", "Heron", "Ibex", "Jackalope",
-            "Koala", "Lynx", "Meerkat", "Narwhal", "Ocelot", "Pangolin",
-            "Quetzal", "Ringtail", "Sandpiper", "Tiger", "Urchin", "Vulture",
-            "Walrus", "X-Ray Tetra", "Zonkey" };
-
-    private final String[] functions = { "sentence", "together", "children",
-            "mountain", "chipmunk", "crashing", "drinking", "insisted",
-            "insulted", "invented", "squinted", "standing", "swishing",
-            "talented", "whiplash", "complain", "granddad", "sprinkle",
-            "surprise", "umbrella", "anything", "anywhere", "baseball",
-            "birthday", "bluebird", "cheerful", "colorful", "daylight",
-            "doghouse", "driveway", "everyone" };
-
-    private final String[] files = { "Adult.java", "Aeroplane.java",
-            "Air.java", "Airforce.java", "Airport.java", "Album.java",
-            "Alphabet.java", "Apple.java", "Arm.java", "Army.java", "Babby.java" };
-
-    Random rnd = new Random();
-    CTFTrace fTrace = null;
-
-    /**
-     * main, launches the tests.
-     *
-     * @param args
-     *            not read
-     */
-    public static void main(String[] args) {
-        new org.junit.runner.JUnitCore().run(CTFTraceCallsitePerformanceTest.class);
-    }
-
-    /**
-     * sets up the test by making a new trace.
-     *
-     * @throws CTFException
-     *             an exception from the reader
-     * @throws SecurityException
-     *             an exception from accessing files illegally
-     * @throws IllegalArgumentException
-     *             an exception for passing bad values
-     */
-    @Before
-    public void setup() throws CTFException, SecurityException,
-            IllegalArgumentException {
-        assumeTrue(testTrace.exists());
-        fTrace = new CTFTrace(testTrace.getPath());
-    }
-
-    private void addCallsites(int numCallsites) {
-        long stepSize = (Long.MAX_VALUE / (numCallsites + 1));
-        int jitter = (int) Math.min(stepSize, Integer.MAX_VALUE);
-        for (int i = 0; i < numCallsites; i++) {
-            final long ip = ((i)) * stepSize + rnd.nextInt(jitter);
-            fTrace.addCallsite(getRandomElement(callsites),
-                    getRandomElement(functions), ip, getRandomElement(files),
-                    (ip / 1000000) * 100);
-        }
-    }
-
-    private String getRandomElement(String[] array) {
-        return array[rnd.nextInt(array.length)];
-    }
-
-    private void testMain(PerformanceMeter pm) {
-        TreeSet<CTFCallsite> l = fTrace.getCallsiteCandidates(callsites[0]);
-        CTFCallsite cs = fTrace.getCallsite(1);
-        CTFCallsite cs1 = fTrace.getCallsite(callsites[0]);
-        CTFCallsite cs2 = fTrace.getCallsite(callsites[0], 1);
-        assertNotNull(l);
-        assertNotNull(cs);
-        assertNotNull(cs1);
-        assertNotNull(cs2);
-        /* performance test */
-        pm.start();
-        perfTest();
-        pm.stop();
-    }
-
-    /**
-     * @param callsiteSize
-     */
-    private void test(int callsiteSize) {
-        String testName = "Test" + callsiteSize + " callsites";
-        addCallsites(callsiteSize);
-        Performance perf = Performance.getDefault();
-        PerformanceMeter pm = perf.createPerformanceMeter(TEST_ID + '#' + testName);
-        perf.tagAsSummary(pm, TEST_SUITE_NAME + ':' + callsiteSize + " callsites", Dimension.CPU_TIME);
-        testMain(pm);
-        pm.commit();
-    }
-
-    private void perfTest() {
-        for (int i = 0; i < NUMBER_OF_SEEKS; i++) {
-            fTrace.getCallsite((((long) rnd.nextInt()) << 16L));
-        }
-    }
-
-    /**
-     * Test seeks with 1000 callsites
-     */
-    @Test
-    public void test1KCallsites() {
-
-        test(1000);
-    }
-
-    /**
-     * Test seeks with 2000 callsites
-     */
-    @Test
-    public void test2KCallsites() {
-        test(2000);
-    }
-
-    /**
-     * Test seeks with 5000 callsites
-     */
-    @Test
-    public void test5KCallsites() {
-        test(5000);
-    }
-
-    /**
-     * Test seeks with 10000 callsites
-     */
-    @Test
-    public void test10KCallsites() {
-        test(10000);
-    }
-
-    /**
-     * Test seeks with 20000 callsites
-     */
-    @Test
-    public void test20KCallsites() {
-        test(20000);
-    }
-
-    /**
-     * Test seeks with 50000 callsites
-     */
-    @Test
-    public void test50KCallsites() {
-        test(50000);
-    }
-
-    /**
-     * Test seeks with 100000 callsites
-     */
-    @Test
-    public void test100KCallsites() {
-        test(100000);
-    }
-
-    /**
-     * Test seeks with 1000000 callsites
-     */
-    @Test
-    public void test1MCallsites() {
-        test(1000000);
-    }
-
-    /**
-     * Test seeks with 2000000 callsites
-     */
-    @Test
-    public void test2MCallsites() {
-        test(2000000);
-    }
-}
diff --git a/ctf/org.eclipse.tracecompass.ctf.core.tests/src/org/eclipse/tracecompass/ctf/core/tests/event/CTFCallsiteTest.java b/ctf/org.eclipse.tracecompass.ctf.core.tests/src/org/eclipse/tracecompass/ctf/core/tests/event/CTFCallsiteTest.java
deleted file mode 100644 (file)
index 64949f3..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 Ericsson
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Matthew Khouzam - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.tracecompass.ctf.core.tests.event;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.tracecompass.ctf.core.event.CTFCallsite;
-import org.junit.Test;
-
-/**
- * The class <code>CTFCallsiteTest</code> contains tests for the class
- * <code>{@link CTFCallsite}</code>.
- *
- * @author Matthew Khouzam
- * @version $Revision: 1.0 $
- */
-
-public class CTFCallsiteTest {
-
-    private static CTFCallsite GenerateCS(long ip){
-        return new CTFCallsite("event name", "func name", ip, "file.java", 1);
-    }
-
-    /**
-     * Test the constructor
-     */
-    @Test
-    public void constructorTest(){
-        CTFCallsite cs = GenerateCS(0x01);
-        assertNotNull(cs);
-    }
-
-    /**
-     * Test the getters
-     */
-    @Test
-    public void getterTest(){
-        CTFCallsite cs = GenerateCS(0x01);
-        assertEquals("ip", 1, cs.getIp());
-        assertEquals("ip", "event name", cs.getEventName());
-        assertEquals("ip", "file.java", cs.getFileName());
-        assertEquals("ip", "func name", cs.getFunctionName());
-    }
-
-    /**
-     * Test the hash code
-     */
-    @Test
-    public void hashCodeTest(){
-        CTFCallsite cs = GenerateCS(0x01);
-        Map<CTFCallsite, Object> test = new HashMap<>();
-        test.put(cs, new Object());
-        assertTrue(test.containsKey(cs));
-        assertTrue(test.containsKey(GenerateCS(0x01)));
-        assertFalse(test.containsKey(GenerateCS(0x02)));
-        assertFalse(test.containsKey(new CTFCallsite("event nam", "func name", 1, "file.java", 1)));
-        assertFalse(test.containsKey(new CTFCallsite("event name", "func nam", 1, "file.java", 1)));
-        assertFalse(test.containsKey(new CTFCallsite("event name", "func name", 1, "file.jav", 1)));
-        assertFalse(test.containsKey(new CTFCallsite("event name", "func name", 1, "file.java", 2)));
-    }
-
-    /**
-     * Test the comparator (it should sort using the IP)
-     */
-    @Test
-    public void comparatorTest(){
-        CTFCallsite cs[] = new CTFCallsite[5];
-        long vals[] = {1L, 0L, -2L, 2L, -1L};
-        for(int i = 0 ; i < 5 ; i++ ){
-            cs[i] = GenerateCS(vals[i]);
-        }
-
-        assertEquals(1, cs[0].compareTo(cs[1]));
-        assertEquals(-1, cs[1].compareTo(cs[0]));
-        assertEquals(0, cs[0].compareTo(cs[0]));
-        assertEquals(-1, cs[0].compareTo(cs[2]));
-        assertEquals(1, cs[2].compareTo(cs[0]));
-
-        Arrays.sort(cs);
-
-        assertEquals( 0L, cs[0].getIp());
-        assertEquals( 1L, cs[1].getIp());
-        assertEquals( 2L, cs[2].getIp());
-        assertEquals( -2L , cs[3].getIp());
-        assertEquals( -1L, cs[4].getIp());
-    }
-
-    /**
-     * Tests the output of a callsite toString function
-     */
-    @Test
-    public void toStringTest(){
-        CTFCallsite cs = GenerateCS(0x01);
-        assertEquals("file.java/func name:1", cs.toString());
-    }
-}
index 94fee20cd444c89fda566a25b8b47a0e9ea0d010..2c43f56cda6a4d883a33b1326b093e85c349d6b9 100644 (file)
@@ -24,7 +24,6 @@ import org.junit.runners.Suite;
  */
 @RunWith(Suite.class)
 @Suite.SuiteClasses({
-        CTFCallsiteTest.class,
         CTFEventDefinitionTest.class,
         CTFEventFieldTest.class
 })
index 78031d78ffe156caf3ae01f6017bb7d6d3d8bde6..90aa9139ba3ca32ae7b246f931b7ec7a688a2c04 100644 (file)
@@ -386,29 +386,4 @@ public class CTFTraceTest {
         String result = fixture.getEnvironment().get(key);
         assertNotNull(result);
     }
-
-    /**
-     * Test for getCallsite(eventName, ip)
-     *
-     * @throws CTFException
-     *             not expected
-     */
-    @Test
-    public void callsitePosition() throws CTFException {
-        long ip1 = 2;
-        long ip2 = 5;
-        long ip3 = 7;
-        CTFTrace callsiteTest = testTrace.getTraceFromFile();
-        callsiteTest.addCallsite("testEvent", null, ip1, null, 23);
-        callsiteTest.addCallsite("testEvent", null, ip2, null, 50);
-        callsiteTest.addCallsite("testEvent", null, ip3, null, 15);
-
-        assertEquals(2, (callsiteTest.getCallsite("testEvent", 1)).getIp());
-        assertEquals(2, (callsiteTest.getCallsite("testEvent", 2)).getIp());
-        assertEquals(5, (callsiteTest.getCallsite("testEvent", 3)).getIp());
-        assertEquals(5, (callsiteTest.getCallsite("testEvent", 5)).getIp());
-        assertEquals(7, (callsiteTest.getCallsite("testEvent", 6)).getIp());
-        assertEquals(7, (callsiteTest.getCallsite("testEvent", 7)).getIp());
-        assertEquals(7, (callsiteTest.getCallsite("testEvent", 8)).getIp());
-    }
 }
index 370b2af456c7b079981c8fe75455552a4a1f0e67..875ce79ca38cadba02c35bc659e2477f6f286856 100644 (file)
@@ -243,21 +243,6 @@ public class IOstructgenTest {
                     "};\n " +
                     "\n";
 
-    private static final String callsiteMD =
-            "callsite {\n"
-                    + "    name = \"ust_tests_demo2:loop\";\n"
-                    + "    func = \"main\";\n" + "    ip = 0x400a29;\n"
-                    + "    file = \"demo.c\";\n" + "    line = 59;\n" + "};\n" + "\n"
-                    + "callsite {\n" + "    name = \"ust_tests_demo3:done\";\n"
-                    + "    func = \"main\";\n" + "    ip = 0x400a6c;\n"
-                    + "    file = \"demo.c\";\n" + "    line = 62;\n" + "};\n" + "\n"
-                    + "callsite {\n" + "    name = \"ust_tests_demo:done\";\n"
-                    + "    func = \"main\";\n" + "    ip = 0x400aaf;\n"
-                    + "    file = \"demo.c\";\n" + "    line = 61;\n" + "};\n" + "\n"
-                    + "callsite {\n" + "    name = \"ust_tests_demo:starting\";\n"
-                    + "    func = \"main\";\n" + "    ip = 0x400af2;\n"
-                    + "    file = \"demo.c\";\n" + "    line = 55;\n" + "};\n";
-
     private static final String simpleTSDL = metadataDecs + ctfStart + ctfHeaders
             + ctfBody;
     private static final String enumTSDL = metadataDecs + ctfStart + ctfHeaders
@@ -268,10 +253,8 @@ public class IOstructgenTest {
             + ctfHeaders + ctfBody;
     private static final String contextTSDL = metadataDecs + environmentMD + ctfStart
             + ctfHeaders + ctfBody + contextMD;
-    private static final String callsiteTSDL = metadataDecs + ctfStart + ctfHeaders
-            + ctfBody + callsiteMD;
     private static final String allDressedTSDL = metadataDecs + environmentMD + clockMD
-            + ctfStart + ctfHeaders + ctfBody + enumMd + callsiteMD;
+            + ctfStart + ctfHeaders + ctfBody + enumMd;
 
     static final String tempTraceDir = CtfCoreTestPlugin.getTemporaryDirPath()
             + File.separator + "tempTrace";
@@ -477,19 +460,6 @@ public class IOstructgenTest {
         assertNotNull(trace);
     }
 
-    /**
-     * Test with Callsites
-     *
-     * @throws CTFException
-     *             something wrong happened
-     */
-    @Test
-    public void TSDLCallsiteTest() throws CTFException {
-        createDummyTrace(callsiteTSDL);
-        trace = new CTFTrace(tempTraceDir);
-        assertNotNull(trace);
-    }
-
     /**
      * Test everything
      *
index 202f4524630083411426bdb4864913f582a9f2e8..6edab6e48a486f5e5d180098269d4208e9b9ee95 100644 (file)
@@ -18,9 +18,7 @@
   </parent>
 
   <name>Trace Compass CTF Core Plug-in</name>
-  <groupId>org.eclipse.tracecompass</groupId>
   <artifactId>org.eclipse.tracecompass.ctf.core</artifactId>
-  <version>2.0.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
  <build>
diff --git a/ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/ctf/core/event/CTFCallsite.java b/ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/ctf/core/event/CTFCallsite.java
deleted file mode 100644 (file)
index b532915..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2014 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Matthew Khouzam - Initial API and implementation
- *
- *******************************************************************************/
-
-package org.eclipse.tracecompass.ctf.core.event;
-
-import static org.eclipse.tracecompass.common.core.NonNullUtils.equalsNullable;
-
-/**
- * Callsite information to help with cdt integration
- *
- * @author Matthew Khouzam
- */
-public class CTFCallsite implements Comparable<CTFCallsite> {
-
-    // Integer size
-    private static final int INT_BITS = Integer.SIZE;
-
-    // a bitmask for the size of an integer
-    private static final long INT_MASK = (1L << INT_BITS) - 1;
-
-    /**
-     * The event name
-     */
-    private final String fEventName;
-
-    /**
-     * the file name of the callsite
-     */
-    private final String fFileName;
-
-    /**
-     * the instruction pointer
-     */
-    private final long fIp;
-
-    /**
-     * the function name
-     */
-    private final String fFunctionName;
-
-    /**
-     * the line number of the callsite
-     */
-    private final long fLineNumber;
-
-    /**
-     * The callsite constructor
-     *
-     * @param en
-     *            The event name
-     * @param func
-     *            the function name
-     * @param ip
-     *            the instruction pointer of the callsite
-     * @param fn
-     *            the file name of the callsite
-     * @param line
-     *            the line number of the callsite
-     */
-    public CTFCallsite(String en, String func, long ip, String fn, long line) {
-        fEventName = en;
-        fFileName = fn;
-        fFunctionName = func;
-        fIp = ip;
-        fLineNumber = line;
-    }
-
-    /**
-     * @return the eventName
-     */
-    public String getEventName() {
-        return fEventName;
-    }
-
-    /**
-     * @return the fileName
-     */
-    public String getFileName() {
-        return fFileName;
-    }
-
-    /**
-     * @return the ip
-     */
-    public long getIp() {
-        return fIp;
-    }
-
-    /**
-     * @return the functionName
-     */
-    public String getFunctionName() {
-        return fFunctionName;
-    }
-
-    /**
-     * @return the lineNumber
-     */
-    public long getLineNumber() {
-        return fLineNumber;
-    }
-
-    /*
-     * The callsites will be sorted by calling addresses. To do this we take IPs
-     * (instruction pointers) and compare them. Java only supports signed
-     * operation and since memory addresses are unsigned, we will convert the
-     * longs into integers that contain the high and low bytes and compare them.
-     */
-    @Override
-    public int compareTo(CTFCallsite o) {
-        /*
-         * mask32 is 32 zeros followed by 32 ones, when we bitwise and this it
-         * will return the lower 32 bits
-         */
-
-        long other = o.fIp;
-        /*
-         * To get a high int: we downshift by 32 and bitwise and with the mask
-         * to get rid of the sign
-         *
-         * To get the low int: we bitwise and with the mask.
-         */
-        long otherHigh = (other >> INT_BITS) & INT_MASK;
-        long otherLow = other & INT_MASK;
-        long ownHigh = (fIp >> INT_BITS) & INT_MASK;
-        long ownLow = fIp & INT_MASK;
-        /* are the high values different, if so ignore the lower values */
-        if (ownHigh > otherHigh) {
-            return 1;
-        }
-        if (ownHigh < otherHigh) {
-            return -1;
-        }
-        /* the high values are the same, compare the lower values */
-        if (ownLow > otherLow) {
-            return 1;
-        }
-        if (ownLow < otherLow) {
-            return -1;
-        }
-        /* the values are identical */
-        return 0;
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((fEventName == null) ? 0 : fEventName.hashCode());
-        result = prime * result + ((fFileName == null) ? 0 : fFileName.hashCode());
-        result = prime * result + ((fFunctionName == null) ? 0 : fFunctionName.hashCode());
-        result = prime * result + (int) (fIp ^ (fIp >>> 32));
-        result = prime * result + (int) (fLineNumber ^ (fLineNumber >>> 32));
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        CTFCallsite other = (CTFCallsite) obj;
-        if (!equalsNullable(fEventName, other.fEventName)) {
-            return false;
-        }
-        if (!equalsNullable(fFileName, other.fFileName)) {
-            return false;
-        }
-        if (!equalsNullable(fFunctionName, other.fFunctionName)) {
-            return false;
-        }
-        if (fIp != other.fIp) {
-            return false;
-        }
-        if (fLineNumber != other.fLineNumber) {
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        return fFileName + "/" + fFunctionName + ":" + fLineNumber; //$NON-NLS-1$ //$NON-NLS-2$
-    }
-}
index b3702a413898e28096bd3fb837974c688ff64440..cac02c3e65af02cdacb20c02631164c55ff8a7c8 100644 (file)
@@ -30,12 +30,10 @@ import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
-import java.util.TreeSet;
 import java.util.UUID;
 
 import org.eclipse.tracecompass.ctf.core.CTFException;
 import org.eclipse.tracecompass.ctf.core.CTFStrings;
-import org.eclipse.tracecompass.ctf.core.event.CTFCallsite;
 import org.eclipse.tracecompass.ctf.core.event.CTFClock;
 import org.eclipse.tracecompass.ctf.core.event.IEventDeclaration;
 import org.eclipse.tracecompass.ctf.core.event.io.BitBuffer;
@@ -49,7 +47,6 @@ import org.eclipse.tracecompass.ctf.core.event.types.IntegerDefinition;
 import org.eclipse.tracecompass.ctf.core.event.types.StructDeclaration;
 import org.eclipse.tracecompass.ctf.core.event.types.StructDefinition;
 import org.eclipse.tracecompass.internal.ctf.core.SafeMappedByteBuffer;
-import org.eclipse.tracecompass.internal.ctf.core.event.CTFCallsiteComparator;
 import org.eclipse.tracecompass.internal.ctf.core.event.metadata.MetadataStrings;
 import org.eclipse.tracecompass.internal.ctf.core.event.metadata.exceptions.ParseException;
 import org.eclipse.tracecompass.internal.ctf.core.trace.Utils;
@@ -138,14 +135,6 @@ public class CTFTrace implements IDefinitionScope {
     private static final FileFilter METADATA_FILE_FILTER = new MetadataFileFilter();
     private static final Comparator<File> METADATA_COMPARATOR = new MetadataComparator();
 
-    /** Callsite helpers */
-    private CTFCallsiteComparator fCtfCallsiteComparator = new CTFCallsiteComparator();
-
-    private Map<String, TreeSet<CTFCallsite>> fCallsitesByName = new HashMap<>();
-
-    /** Callsite helpers */
-    private TreeSet<CTFCallsite> fCallsitesByIP = new TreeSet<>();
-
     private final DeclarationScope fScope = new DeclarationScope(null, MetadataStrings.TRACE);
 
     // ------------------------------------------------------------------------
@@ -798,100 +787,6 @@ public class CTFTrace implements IDefinitionScope {
         return retVal - getOffset();
     }
 
-    /**
-     * Adds a callsite
-     *
-     * @param eventName
-     *            the event name of the callsite
-     * @param funcName
-     *            the name of the callsite function
-     * @param ip
-     *            the ip of the callsite
-     * @param fileName
-     *            the filename of the callsite
-     * @param lineNumber
-     *            the line number of the callsite
-     */
-    public void addCallsite(String eventName, String funcName, long ip,
-            String fileName, long lineNumber) {
-        final CTFCallsite cs = new CTFCallsite(eventName, funcName, ip,
-                fileName, lineNumber);
-        TreeSet<CTFCallsite> csl = fCallsitesByName.get(eventName);
-        if (csl == null) {
-            csl = new TreeSet<>(fCtfCallsiteComparator);
-            fCallsitesByName.put(eventName, csl);
-        }
-
-        csl.add(cs);
-
-        fCallsitesByIP.add(cs);
-    }
-
-    /**
-     * Gets the set of callsites associated to an event name. O(1)
-     *
-     * @param eventName
-     *            the event name
-     * @return the callsite set can be empty
-     */
-    public TreeSet<CTFCallsite> getCallsiteCandidates(String eventName) {
-        TreeSet<CTFCallsite> retVal = fCallsitesByName.get(eventName);
-        if (retVal == null) {
-            retVal = new TreeSet<>(fCtfCallsiteComparator);
-        }
-        return retVal;
-    }
-
-    /**
-     * The I'm feeling lucky of getCallsiteCandidates O(1)
-     *
-     * @param eventName
-     *            the event name
-     * @return the first callsite that has that event name, can be null
-     */
-    public CTFCallsite getCallsite(String eventName) {
-        TreeSet<CTFCallsite> callsites = fCallsitesByName.get(eventName);
-        if (callsites != null) {
-            return callsites.first();
-        }
-        return null;
-    }
-
-    /**
-     * Gets a callsite from the instruction pointer O(log(n))
-     *
-     * @param ip
-     *            the instruction pointer to lookup
-     * @return the callsite just before that IP in the list remember the IP is
-     *         backwards on X86, can be null if no callsite is before the IP.
-     */
-    public CTFCallsite getCallsite(long ip) {
-        CTFCallsite cs = new CTFCallsite(null, null, ip, null, 0L);
-        return fCallsitesByIP.ceiling(cs);
-    }
-
-    /**
-     * Gets a callsite using the event name and instruction pointer O(log(n))
-     *
-     * @param eventName
-     *            the name of the event
-     * @param ip
-     *            the instruction pointer
-     * @return the closest matching callsite, can be null
-     */
-    public CTFCallsite getCallsite(String eventName, long ip) {
-        final TreeSet<CTFCallsite> candidates = fCallsitesByName.get(eventName);
-        if (candidates == null) {
-            return null;
-        }
-        final CTFCallsite dummyCs = new CTFCallsite(null, null, ip, null, -1);
-        final CTFCallsite callsite = candidates.ceiling(dummyCs);
-        if (callsite == null) {
-            return candidates.floor(dummyCs);
-        }
-        return callsite;
-    }
-
     /**
      * Add a new stream
      *
diff --git a/ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/internal/ctf/core/event/CTFCallsiteComparator.java b/ctf/org.eclipse.tracecompass.ctf.core/src/org/eclipse/tracecompass/internal/ctf/core/event/CTFCallsiteComparator.java
deleted file mode 100644 (file)
index 3c58e79..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *  Simon Delisle - Initial implementation
- *******************************************************************************/
-
-package org.eclipse.tracecompass.internal.ctf.core.event;
-
-import java.util.Comparator;
-
-import org.eclipse.tracecompass.ctf.core.event.CTFCallsite;
-
-/**
- * Comparator for CTFCallsite
- *
- * @author Simon Delisle
- */
-public class CTFCallsiteComparator implements Comparator<CTFCallsite> {
-
-    private static final long MASK32 = 0x00000000ffffffffL;
-
-    /*
-     * The callsites will be sorted by calling addresses. To do this we take IPs
-     * (instruction pointers) and compare them. Java only supports signed
-     * operation and since memory addresses are unsigned, we will convert the
-     * longs into integers that contain the high and low bytes and compare them.
-     */
-    @Override
-    public int compare(CTFCallsite o1, CTFCallsite o2) {
-        /*
-         * mask32 is 32 zeros followed by 32 ones, when we bitwise and this it
-         * will return the lower 32 bits
-         */
-
-        long other = o2.getIp();
-        /*
-         * To get a high int: we downshift by 32 and bitwise and with the mask
-         * to get rid of the sign
-         *
-         * To get the low int: we bitwise and with the mask.
-         */
-        long otherHigh = (other >> 32) & MASK32;
-        long otherLow = other & MASK32;
-        long ownHigh = (o1.getIp() >> 32) & MASK32;
-        long ownLow = o1.getIp() & MASK32;
-        /* are the high values different, if so ignore the lower values */
-        if (ownHigh > otherHigh) {
-            return 1;
-        }
-        if (ownHigh < otherHigh ) {
-            return -1;
-        }
-        /* the high values are the same, compare the lower values */
-        if (ownLow > otherLow) {
-            return 1;
-        }
-        if (ownLow < otherLow) {
-            return -1;
-        }
-        /* the values are identical */
-        return 0;
-    }
-
-}
index 8cac31332b4293f0c6c3e73c2adb42788c02773d..1076181b9453f8fe3fcd30a23b5be5d1086bcd2d 100644 (file)
@@ -73,11 +73,6 @@ public class IOStructGen {
     private static final @NonNull String BASE = "base"; //$NON-NLS-1$
     private static final @NonNull String SIZE = "size"; //$NON-NLS-1$
     private static final @NonNull String SIGNED = "signed"; //$NON-NLS-1$
-    private static final @NonNull String LINE = "line"; //$NON-NLS-1$
-    private static final @NonNull String FILE = "file"; //$NON-NLS-1$
-    private static final @NonNull String IP = "ip"; //$NON-NLS-1$
-    private static final @NonNull String FUNC = "func"; //$NON-NLS-1$
-    private static final @NonNull String NAME = "name"; //$NON-NLS-1$
     private static final @NonNull String EMPTY_STRING = ""; //$NON-NLS-1$
     private static final int INTEGER_BASE_16 = 16;
     private static final int INTEGER_BASE_10 = 10;
@@ -201,9 +196,6 @@ public class IOStructGen {
             case CTFParser.ENV:
                 parseEnvironment(child);
                 break;
-            case CTFParser.CALLSITE:
-                parseCallsite(child);
-                break;
             default:
                 throw childTypeError(child);
             }
@@ -253,9 +245,6 @@ public class IOStructGen {
             case CTFParser.ENV:
                 parseEnvironment(child);
                 break;
-            case CTFParser.CALLSITE:
-                parseCallsite(child);
-                break;
             default:
                 throw childTypeError(child);
             }
@@ -268,40 +257,6 @@ public class IOStructGen {
         fScope = fRoot;
     }
 
-    private void parseCallsite(CommonTree callsite) {
-
-        List<CommonTree> children = callsite.getChildren();
-        String name = null;
-        String funcName = null;
-        long lineNumber = -1;
-        long ip = -1;
-        String fileName = null;
-
-        for (CommonTree child : children) {
-            String left;
-            /* this is a regex to find the leading and trailing quotes */
-            final String regex = "^\"|\"$"; //$NON-NLS-1$
-            /*
-             * this is to replace the previous quotes with nothing...
-             * effectively deleting them
-             */
-            final String nullString = EMPTY_STRING;
-            left = child.getChild(0).getChild(0).getChild(0).getText();
-            if (left.equals(NAME)) {
-                name = child.getChild(1).getChild(0).getChild(0).getText().replaceAll(regex, nullString);
-            } else if (left.equals(FUNC)) {
-                funcName = child.getChild(1).getChild(0).getChild(0).getText().replaceAll(regex, nullString);
-            } else if (left.equals(IP)) {
-                ip = Long.decode(child.getChild(1).getChild(0).getChild(0).getText());
-            } else if (left.equals(FILE)) {
-                fileName = child.getChild(1).getChild(0).getChild(0).getText().replaceAll(regex, nullString);
-            } else if (left.equals(LINE)) {
-                lineNumber = Long.parseLong(child.getChild(1).getChild(0).getChild(0).getText());
-            }
-        }
-        fTrace.addCallsite(name, funcName, ip, fileName, lineNumber);
-    }
-
     private void parseEnvironment(CommonTree environment) {
         List<CommonTree> children = environment.getChildren();
         for (CommonTree child : children) {
index 320a975888c2c92f73059a208ae9a9ba58040871..e54c5179aec31f64baf21d26e580c528f2f3eb09 100644 (file)
@@ -112,7 +112,6 @@ public class CtfLexerTest {
         checkSingle(CTFLexer.IMAGINARYTOK, "_Imaginary");
         checkSingle(CTFLexer.ENVTOK, "env");
         checkSingle(CTFLexer.CLOCKTOK, "clock");
-        checkSingle(CTFLexer.CALLSITETOK, "callsite");
         checkSingle(CTFLexer.NANNUMBERTOK, "NaN");
         checkSingle(CTFLexer.INFINITYTOK,  "+inf");
         checkSingle(CTFLexer.NINFINITYTOK, "-inf");
index 0a3c236e49f2554015bdb59b3ba024f045f78a0d..4ff2fdf3adbb57f6a1a8ba54fc5fdd4ed0482a4e 100644 (file)
@@ -56,10 +56,6 @@ COMPLEXTOK       : '_Complex' ;
 IMAGINARYTOK     : '_Imaginary' ;
 ENVTOK           : 'env' ;
 CLOCKTOK         : 'clock' ;
-/*
- * Callsite tokens (CTF v1.9)
- */
-CALLSITETOK      : 'callsite' ;
 
 
 /*
index 1b399b00e758ac9c545c0da856e476e420c14127..093506b7c4393d6bbc76784e24afa44db1db8c68 100644 (file)
@@ -15,7 +15,6 @@ tokens {
     TRACE;
     ENV;
     CLOCK;
-    CALLSITE;
 
     DECLARATION;
     SV_DECLARATION;
@@ -608,7 +607,6 @@ ctfSpecifierHead
   | TRACETOK -> TRACE
   | ENVTOK -> ENV
   | CLOCKTOK -> CLOCK
-  | CALLSITETOK -> CALLSITE
   ;
 
 ctfTypeSpecifier
index dbc57163904aac9c229d9a289e04b06f34567875..0ac655c64a223c400a6f7fc1badb3b641953af6f 100644 (file)
@@ -1,4 +1,4 @@
-// $ANTLR 3.5.2 org/eclipse/tracecompass/ctf/parser/CTFLexer.g 2015-07-09 14:10:51
+// $ANTLR 3.5.2 org/eclipse/tracecompass/ctf/parser/CTFLexer.g 2015-08-06 19:37:53
 
 /*******************************************************************************
  * Copyright (c) 2010, 2015 Ericsson, Ecole Polytechnique de Montréal and others
@@ -30,79 +30,78 @@ public class CTFLexer extends Lexer {
        public static final int ASSIGNMENT=6;
        public static final int BACKSLASH=7;
        public static final int BOOLTOK=8;
-       public static final int CALLSITETOK=9;
-       public static final int CHARACTER_LITERAL=10;
-       public static final int CHARTOK=11;
-       public static final int CHAR_CONTENT=12;
-       public static final int CLOCKTOK=13;
-       public static final int CLOSEBRAC=14;
-       public static final int COLON=15;
-       public static final int COMMENT=16;
-       public static final int COMMENT_CLOSE=17;
-       public static final int COMMENT_OPEN=18;
-       public static final int COMPLEXTOK=19;
-       public static final int CONSTTOK=20;
-       public static final int DECIMAL_LITERAL=21;
-       public static final int DIGIT=22;
-       public static final int DOT=23;
-       public static final int DOUBLEQUOTE=24;
-       public static final int DOUBLETOK=25;
-       public static final int ELIPSES=26;
-       public static final int ENUMTOK=27;
-       public static final int ENVTOK=28;
-       public static final int ESCAPE_SEQUENCE=29;
-       public static final int EVENTTOK=30;
-       public static final int FLOATINGPOINTTOK=31;
-       public static final int FLOATTOK=32;
-       public static final int GT=33;
-       public static final int HEXADECIMAL_ESCAPE=34;
-       public static final int HEX_DIGIT=35;
-       public static final int HEX_LITERAL=36;
-       public static final int HEX_PREFIX=37;
-       public static final int IDENTIFIER=38;
-       public static final int IMAGINARYTOK=39;
-       public static final int INFINITYTOK=40;
-       public static final int INTEGERTOK=41;
-       public static final int INTEGER_TYPES_SUFFIX=42;
-       public static final int INTTOK=43;
-       public static final int LCURL=44;
-       public static final int LINE_COMMENT=45;
-       public static final int LONGTOK=46;
-       public static final int LPAREN=47;
-       public static final int LT=48;
-       public static final int NANNUMBERTOK=49;
-       public static final int NINFINITYTOK=50;
-       public static final int NONDIGIT=51;
-       public static final int NONZERO_DIGIT=52;
-       public static final int OCTAL_ESCAPE=53;
-       public static final int OCTAL_LITERAL=54;
-       public static final int OCT_DIGIT=55;
-       public static final int OCT_PREFIX=56;
-       public static final int OPENBRAC=57;
-       public static final int POINTER=58;
-       public static final int RCURL=59;
-       public static final int RPAREN=60;
-       public static final int SEPARATOR=61;
-       public static final int SHORTTOK=62;
-       public static final int SIGN=63;
-       public static final int SIGNEDTOK=64;
-       public static final int SINGLEQUOTE=65;
-       public static final int STREAMTOK=66;
-       public static final int STRINGPREFIX=67;
-       public static final int STRINGTOK=68;
-       public static final int STRING_CONTENT=69;
-       public static final int STRING_LITERAL=70;
-       public static final int STRUCTTOK=71;
-       public static final int TERM=72;
-       public static final int TRACETOK=73;
-       public static final int TYPEALIASTOK=74;
-       public static final int TYPEDEFTOK=75;
-       public static final int TYPE_ASSIGNMENT=76;
-       public static final int UNICODE_ESCAPE=77;
-       public static final int UNSIGNEDTOK=78;
-       public static final int VARIANTTOK=79;
-       public static final int VOIDTOK=80;
-       public static final int WS=81;
+       public static final int CHARACTER_LITERAL=9;
+       public static final int CHARTOK=10;
+       public static final int CHAR_CONTENT=11;
+       public static final int CLOCKTOK=12;
+       public static final int CLOSEBRAC=13;
+       public static final int COLON=14;
+       public static final int COMMENT=15;
+       public static final int COMMENT_CLOSE=16;
+       public static final int COMMENT_OPEN=17;
+       public static final int COMPLEXTOK=18;
+       public static final int CONSTTOK=19;
+       public static final int DECIMAL_LITERAL=20;
+       public static final int DIGIT=21;
+       public static final int DOT=22;
+       public static final int DOUBLEQUOTE=23;
+       public static final int DOUBLETOK=24;
+       public static final int ELIPSES=25;
+       public static final int ENUMTOK=26;
+       public static final int ENVTOK=27;
+       public static final int ESCAPE_SEQUENCE=28;
+       public static final int EVENTTOK=29;
+       public static final int FLOATINGPOINTTOK=30;
+       public static final int FLOATTOK=31;
+       public static final int GT=32;
+       public static final int HEXADECIMAL_ESCAPE=33;
+       public static final int HEX_DIGIT=34;
+       public static final int HEX_LITERAL=35;
+       public static final int HEX_PREFIX=36;
+       public static final int IDENTIFIER=37;
+       public static final int IMAGINARYTOK=38;
+       public static final int INFINITYTOK=39;
+       public static final int INTEGERTOK=40;
+       public static final int INTEGER_TYPES_SUFFIX=41;
+       public static final int INTTOK=42;
+       public static final int LCURL=43;
+       public static final int LINE_COMMENT=44;
+       public static final int LONGTOK=45;
+       public static final int LPAREN=46;
+       public static final int LT=47;
+       public static final int NANNUMBERTOK=48;
+       public static final int NINFINITYTOK=49;
+       public static final int NONDIGIT=50;
+       public static final int NONZERO_DIGIT=51;
+       public static final int OCTAL_ESCAPE=52;
+       public static final int OCTAL_LITERAL=53;
+       public static final int OCT_DIGIT=54;
+       public static final int OCT_PREFIX=55;
+       public static final int OPENBRAC=56;
+       public static final int POINTER=57;
+       public static final int RCURL=58;
+       public static final int RPAREN=59;
+       public static final int SEPARATOR=60;
+       public static final int SHORTTOK=61;
+       public static final int SIGN=62;
+       public static final int SIGNEDTOK=63;
+       public static final int SINGLEQUOTE=64;
+       public static final int STREAMTOK=65;
+       public static final int STRINGPREFIX=66;
+       public static final int STRINGTOK=67;
+       public static final int STRING_CONTENT=68;
+       public static final int STRING_LITERAL=69;
+       public static final int STRUCTTOK=70;
+       public static final int TERM=71;
+       public static final int TRACETOK=72;
+       public static final int TYPEALIASTOK=73;
+       public static final int TYPEDEFTOK=74;
+       public static final int TYPE_ASSIGNMENT=75;
+       public static final int UNICODE_ESCAPE=76;
+       public static final int UNSIGNEDTOK=77;
+       public static final int VARIANTTOK=78;
+       public static final int VOIDTOK=79;
+       public static final int WS=80;
 
        // delegates
        // delegators
@@ -686,34 +685,13 @@ public class CTFLexer extends Lexer {
        }
        // $ANTLR end "CLOCKTOK"
 
-       // $ANTLR start "CALLSITETOK"
-       public final void mCALLSITETOK() throws RecognitionException {
-               try {
-                       int _type = CALLSITETOK;
-                       int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:62:18: ( 'callsite' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:62:20: 'callsite'
-                       {
-                       match("callsite"); 
-
-                       }
-
-                       state.type = _type;
-                       state.channel = _channel;
-               }
-               finally {
-                       // do for sure before leaving
-               }
-       }
-       // $ANTLR end "CALLSITETOK"
-
        // $ANTLR start "NANNUMBERTOK"
        public final void mNANNUMBERTOK() throws RecognitionException {
                try {
                        int _type = NANNUMBERTOK;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:69:15: ( 'NaN' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:69:17: 'NaN'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:65:15: ( 'NaN' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:65:17: 'NaN'
                        {
                        match("NaN"); 
 
@@ -733,8 +711,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = INFINITYTOK;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:70:15: ( '+inf' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:70:17: '+inf'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:66:15: ( '+inf' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:66:17: '+inf'
                        {
                        match("+inf"); 
 
@@ -754,8 +732,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = NINFINITYTOK;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:71:15: ( '-inf' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:71:17: '-inf'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:67:15: ( '-inf' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:67:17: '-inf'
                        {
                        match("-inf"); 
 
@@ -775,8 +753,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = SEPARATOR;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:76:20: ( ',' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:76:22: ','
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:72:20: ( ',' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:72:22: ','
                        {
                        match(','); 
                        }
@@ -795,8 +773,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = COLON;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:77:20: ( ':' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:77:22: ':'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:73:20: ( ':' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:73:22: ':'
                        {
                        match(':'); 
                        }
@@ -815,8 +793,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = ELIPSES;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:78:20: ( '...' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:78:22: '...'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:74:20: ( '...' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:74:22: '...'
                        {
                        match("..."); 
 
@@ -836,8 +814,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = ASSIGNMENT;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:79:20: ( '=' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:79:22: '='
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:75:20: ( '=' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:75:22: '='
                        {
                        match('='); 
                        }
@@ -856,8 +834,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = TYPE_ASSIGNMENT;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:80:20: ( ':=' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:80:22: ':='
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:76:20: ( ':=' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:76:22: ':='
                        {
                        match(":="); 
 
@@ -877,8 +855,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = LT;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:81:20: ( '<' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:81:22: '<'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:77:20: ( '<' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:77:22: '<'
                        {
                        match('<'); 
                        }
@@ -897,8 +875,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = GT;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:82:20: ( '>' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:82:22: '>'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:78:20: ( '>' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:78:22: '>'
                        {
                        match('>'); 
                        }
@@ -917,8 +895,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = OPENBRAC;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:83:20: ( '[' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:83:22: '['
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:79:20: ( '[' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:79:22: '['
                        {
                        match('['); 
                        }
@@ -937,8 +915,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = CLOSEBRAC;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:84:20: ( ']' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:84:22: ']'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:80:20: ( ']' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:80:22: ']'
                        {
                        match(']'); 
                        }
@@ -957,8 +935,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = LPAREN;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:85:20: ( '(' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:85:22: '('
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:81:20: ( '(' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:81:22: '('
                        {
                        match('('); 
                        }
@@ -977,8 +955,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = RPAREN;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:86:20: ( ')' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:86:22: ')'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:82:20: ( ')' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:82:22: ')'
                        {
                        match(')'); 
                        }
@@ -997,8 +975,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = LCURL;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:87:20: ( '{' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:87:22: '{'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:83:20: ( '{' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:83:22: '{'
                        {
                        match('{'); 
                        }
@@ -1017,8 +995,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = RCURL;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:88:20: ( '}' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:88:22: '}'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:84:20: ( '}' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:84:22: '}'
                        {
                        match('}'); 
                        }
@@ -1037,8 +1015,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = TERM;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:89:20: ( ';' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:89:22: ';'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:85:20: ( ';' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:85:22: ';'
                        {
                        match(';'); 
                        }
@@ -1057,8 +1035,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = POINTER;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:90:20: ( '*' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:90:22: '*'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:86:20: ( '*' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:86:22: '*'
                        {
                        match('*'); 
                        }
@@ -1077,7 +1055,7 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = SIGN;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:91:20: ( '+' | '-' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:87:20: ( '+' | '-' )
                        // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:
                        {
                        if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
@@ -1104,8 +1082,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = ARROW;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:92:20: ( '->' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:92:22: '->'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:88:20: ( '->' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:88:22: '->'
                        {
                        match("->"); 
 
@@ -1125,8 +1103,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = DOT;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:93:20: ( '.' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:93:22: '.'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:89:20: ( '.' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:89:22: '.'
                        {
                        match('.'); 
                        }
@@ -1143,8 +1121,8 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "BACKSLASH"
        public final void mBACKSLASH() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:94:20: ( '\\\\' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:94:22: '\\\\'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:90:20: ( '\\\\' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:90:22: '\\\\'
                        {
                        match('\\'); 
                        }
@@ -1159,7 +1137,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "DIGIT"
        public final void mDIGIT() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:97:16: ( '0' .. '9' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:93:16: ( '0' .. '9' )
                        // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:
                        {
                        if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
@@ -1182,7 +1160,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "OCT_DIGIT"
        public final void mOCT_DIGIT() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:98:20: ( '0' .. '7' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:94:20: ( '0' .. '7' )
                        // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:
                        {
                        if ( (input.LA(1) >= '0' && input.LA(1) <= '7') ) {
@@ -1205,8 +1183,8 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "OCT_PREFIX"
        public final void mOCT_PREFIX() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:99:21: ( '0' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:99:23: '0'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:95:21: ( '0' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:95:23: '0'
                        {
                        match('0'); 
                        }
@@ -1221,7 +1199,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "NONZERO_DIGIT"
        public final void mNONZERO_DIGIT() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:100:24: ( '1' .. '9' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:96:24: ( '1' .. '9' )
                        // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:
                        {
                        if ( (input.LA(1) >= '1' && input.LA(1) <= '9') ) {
@@ -1244,7 +1222,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "HEX_DIGIT"
        public final void mHEX_DIGIT() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:101:20: ( DIGIT | ( 'a' .. 'f' ) | ( 'A' .. 'F' ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:97:20: ( DIGIT | ( 'a' .. 'f' ) | ( 'A' .. 'F' ) )
                        // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:
                        {
                        if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
@@ -1267,8 +1245,8 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "HEX_PREFIX"
        public final void mHEX_PREFIX() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:102:21: ( '0' ( 'x' | 'X' ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:102:23: '0' ( 'x' | 'X' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:98:21: ( '0' ( 'x' | 'X' ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:98:23: '0' ( 'x' | 'X' )
                        {
                        match('0'); 
                        if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
@@ -1293,12 +1271,12 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = OCTAL_LITERAL;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:107:15: ( OCT_PREFIX ( OCT_DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:107:17: OCT_PREFIX ( OCT_DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:103:15: ( OCT_PREFIX ( OCT_DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:103:17: OCT_PREFIX ( OCT_DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
                        {
                        mOCT_PREFIX(); 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:107:28: ( OCT_DIGIT )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:103:28: ( OCT_DIGIT )+
                        int cnt1=0;
                        loop1:
                        while (true) {
@@ -1331,7 +1309,7 @@ public class CTFLexer extends Lexer {
                                cnt1++;
                        }
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:107:41: ( INTEGER_TYPES_SUFFIX )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:103:41: ( INTEGER_TYPES_SUFFIX )?
                        int alt2=2;
                        int LA2_0 = input.LA(1);
                        if ( (LA2_0=='L'||LA2_0=='U'||LA2_0=='l'||LA2_0=='u') ) {
@@ -1339,7 +1317,7 @@ public class CTFLexer extends Lexer {
                        }
                        switch (alt2) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:107:41: INTEGER_TYPES_SUFFIX
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:103:41: INTEGER_TYPES_SUFFIX
                                        {
                                        mINTEGER_TYPES_SUFFIX(); 
 
@@ -1364,10 +1342,10 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = DECIMAL_LITERAL;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:108:17: ( ( DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:108:19: ( DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:104:17: ( ( DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:104:19: ( DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:108:19: ( DIGIT )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:104:19: ( DIGIT )+
                        int cnt3=0;
                        loop3:
                        while (true) {
@@ -1400,7 +1378,7 @@ public class CTFLexer extends Lexer {
                                cnt3++;
                        }
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:108:26: ( INTEGER_TYPES_SUFFIX )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:104:26: ( INTEGER_TYPES_SUFFIX )?
                        int alt4=2;
                        int LA4_0 = input.LA(1);
                        if ( (LA4_0=='L'||LA4_0=='U'||LA4_0=='l'||LA4_0=='u') ) {
@@ -1408,7 +1386,7 @@ public class CTFLexer extends Lexer {
                        }
                        switch (alt4) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:108:26: INTEGER_TYPES_SUFFIX
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:104:26: INTEGER_TYPES_SUFFIX
                                        {
                                        mINTEGER_TYPES_SUFFIX(); 
 
@@ -1433,12 +1411,12 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = HEX_LITERAL;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:109:13: ( HEX_PREFIX ( HEX_DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:109:15: HEX_PREFIX ( HEX_DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:105:13: ( HEX_PREFIX ( HEX_DIGIT )+ ( INTEGER_TYPES_SUFFIX )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:105:15: HEX_PREFIX ( HEX_DIGIT )+ ( INTEGER_TYPES_SUFFIX )?
                        {
                        mHEX_PREFIX(); 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:109:26: ( HEX_DIGIT )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:105:26: ( HEX_DIGIT )+
                        int cnt5=0;
                        loop5:
                        while (true) {
@@ -1471,7 +1449,7 @@ public class CTFLexer extends Lexer {
                                cnt5++;
                        }
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:109:37: ( INTEGER_TYPES_SUFFIX )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:105:37: ( INTEGER_TYPES_SUFFIX )?
                        int alt6=2;
                        int LA6_0 = input.LA(1);
                        if ( (LA6_0=='L'||LA6_0=='U'||LA6_0=='l'||LA6_0=='u') ) {
@@ -1479,7 +1457,7 @@ public class CTFLexer extends Lexer {
                        }
                        switch (alt6) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:109:37: INTEGER_TYPES_SUFFIX
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:105:37: INTEGER_TYPES_SUFFIX
                                        {
                                        mINTEGER_TYPES_SUFFIX(); 
 
@@ -1502,7 +1480,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "INTEGER_TYPES_SUFFIX"
        public final void mINTEGER_TYPES_SUFFIX() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:3: ( ( 'l' ( 'l' )? | 'L' ( 'L' )? ) | ( 'u' | 'U' ) | ( 'u' | 'U' ) ( 'l' ( 'l' )? | 'L' ( 'L' )? ) | ( 'l' ( 'l' )? | 'L' ( 'L' )? ) ( 'u' | 'U' ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:3: ( ( 'l' ( 'l' )? | 'L' ( 'L' )? ) | ( 'u' | 'U' ) | ( 'u' | 'U' ) ( 'l' ( 'l' )? | 'L' ( 'L' )? ) | ( 'l' ( 'l' )? | 'L' ( 'L' )? ) ( 'u' | 'U' ) )
                        int alt16=4;
                        switch ( input.LA(1) ) {
                        case 'l':
@@ -1580,9 +1558,9 @@ public class CTFLexer extends Lexer {
                        }
                        switch (alt16) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
                                        int alt9=2;
                                        int LA9_0 = input.LA(1);
                                        if ( (LA9_0=='l') ) {
@@ -1600,10 +1578,10 @@ public class CTFLexer extends Lexer {
 
                                        switch (alt9) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:6: 'l' ( 'l' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:6: 'l' ( 'l' )?
                                                        {
                                                        match('l'); 
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:10: ( 'l' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:10: ( 'l' )?
                                                        int alt7=2;
                                                        int LA7_0 = input.LA(1);
                                                        if ( (LA7_0=='l') ) {
@@ -1611,7 +1589,7 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        switch (alt7) {
                                                                case 1 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:11: 'l'
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:11: 'l'
                                                                        {
                                                                        match('l'); 
                                                                        }
@@ -1622,10 +1600,10 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:19: 'L' ( 'L' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:19: 'L' ( 'L' )?
                                                        {
                                                        match('L'); 
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:23: ( 'L' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:23: ( 'L' )?
                                                        int alt8=2;
                                                        int LA8_0 = input.LA(1);
                                                        if ( (LA8_0=='L') ) {
@@ -1633,7 +1611,7 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        switch (alt8) {
                                                                case 1 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:117:24: 'L'
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:113:24: 'L'
                                                                        {
                                                                        match('L'); 
                                                                        }
@@ -1649,7 +1627,7 @@ public class CTFLexer extends Lexer {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:118:5: ( 'u' | 'U' )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:114:5: ( 'u' | 'U' )
                                        {
                                        if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
                                                input.consume();
@@ -1662,7 +1640,7 @@ public class CTFLexer extends Lexer {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:119:5: ( 'u' | 'U' ) ( 'l' ( 'l' )? | 'L' ( 'L' )? )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:115:5: ( 'u' | 'U' ) ( 'l' ( 'l' )? | 'L' ( 'L' )? )
                                        {
                                        if ( input.LA(1)=='U'||input.LA(1)=='u' ) {
                                                input.consume();
@@ -1672,7 +1650,7 @@ public class CTFLexer extends Lexer {
                                                recover(mse);
                                                throw mse;
                                        }
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:119:17: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:115:17: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
                                        int alt12=2;
                                        int LA12_0 = input.LA(1);
                                        if ( (LA12_0=='l') ) {
@@ -1690,10 +1668,10 @@ public class CTFLexer extends Lexer {
 
                                        switch (alt12) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:119:18: 'l' ( 'l' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:115:18: 'l' ( 'l' )?
                                                        {
                                                        match('l'); 
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:119:22: ( 'l' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:115:22: ( 'l' )?
                                                        int alt10=2;
                                                        int LA10_0 = input.LA(1);
                                                        if ( (LA10_0=='l') ) {
@@ -1701,7 +1679,7 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        switch (alt10) {
                                                                case 1 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:119:23: 'l'
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:115:23: 'l'
                                                                        {
                                                                        match('l'); 
                                                                        }
@@ -1712,10 +1690,10 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:119:31: 'L' ( 'L' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:115:31: 'L' ( 'L' )?
                                                        {
                                                        match('L'); 
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:119:35: ( 'L' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:115:35: ( 'L' )?
                                                        int alt11=2;
                                                        int LA11_0 = input.LA(1);
                                                        if ( (LA11_0=='L') ) {
@@ -1723,7 +1701,7 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        switch (alt11) {
                                                                case 1 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:119:36: 'L'
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:115:36: 'L'
                                                                        {
                                                                        match('L'); 
                                                                        }
@@ -1739,9 +1717,9 @@ public class CTFLexer extends Lexer {
                                        }
                                        break;
                                case 4 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:120:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? ) ( 'u' | 'U' )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:116:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? ) ( 'u' | 'U' )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:120:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:116:5: ( 'l' ( 'l' )? | 'L' ( 'L' )? )
                                        int alt15=2;
                                        int LA15_0 = input.LA(1);
                                        if ( (LA15_0=='l') ) {
@@ -1759,10 +1737,10 @@ public class CTFLexer extends Lexer {
 
                                        switch (alt15) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:120:6: 'l' ( 'l' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:116:6: 'l' ( 'l' )?
                                                        {
                                                        match('l'); 
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:120:10: ( 'l' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:116:10: ( 'l' )?
                                                        int alt13=2;
                                                        int LA13_0 = input.LA(1);
                                                        if ( (LA13_0=='l') ) {
@@ -1770,7 +1748,7 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        switch (alt13) {
                                                                case 1 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:120:11: 'l'
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:116:11: 'l'
                                                                        {
                                                                        match('l'); 
                                                                        }
@@ -1781,10 +1759,10 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:120:19: 'L' ( 'L' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:116:19: 'L' ( 'L' )?
                                                        {
                                                        match('L'); 
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:120:23: ( 'L' )?
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:116:23: ( 'L' )?
                                                        int alt14=2;
                                                        int LA14_0 = input.LA(1);
                                                        if ( (LA14_0=='L') ) {
@@ -1792,7 +1770,7 @@ public class CTFLexer extends Lexer {
                                                        }
                                                        switch (alt14) {
                                                                case 1 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:120:24: 'L'
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:116:24: 'L'
                                                                        {
                                                                        match('L'); 
                                                                        }
@@ -1827,7 +1805,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "ESCAPE_SEQUENCE"
        public final void mESCAPE_SEQUENCE() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:127:3: ( BACKSLASH ( '\\'' | '\"' | '?' | BACKSLASH | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' ) | OCTAL_ESCAPE | UNICODE_ESCAPE | HEXADECIMAL_ESCAPE )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:123:3: ( BACKSLASH ( '\\'' | '\"' | '?' | BACKSLASH | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' ) | OCTAL_ESCAPE | UNICODE_ESCAPE | HEXADECIMAL_ESCAPE )
                        int alt17=4;
                        int LA17_0 = input.LA(1);
                        if ( (LA17_0=='\\') ) {
@@ -1891,7 +1869,7 @@ public class CTFLexer extends Lexer {
 
                        switch (alt17) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:127:5: BACKSLASH ( '\\'' | '\"' | '?' | BACKSLASH | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:123:5: BACKSLASH ( '\\'' | '\"' | '?' | BACKSLASH | 'a' | 'b' | 'f' | 'n' | 'r' | 't' | 'v' )
                                        {
                                        mBACKSLASH(); 
 
@@ -1906,21 +1884,21 @@ public class CTFLexer extends Lexer {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:128:5: OCTAL_ESCAPE
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:124:5: OCTAL_ESCAPE
                                        {
                                        mOCTAL_ESCAPE(); 
 
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:129:5: UNICODE_ESCAPE
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:125:5: UNICODE_ESCAPE
                                        {
                                        mUNICODE_ESCAPE(); 
 
                                        }
                                        break;
                                case 4 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:130:5: HEXADECIMAL_ESCAPE
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:126:5: HEXADECIMAL_ESCAPE
                                        {
                                        mHEXADECIMAL_ESCAPE(); 
 
@@ -1938,7 +1916,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "OCTAL_ESCAPE"
        public final void mOCTAL_ESCAPE() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:137:3: ( BACKSLASH ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | BACKSLASH ( '0' .. '7' ) ( '0' .. '7' ) | BACKSLASH ( '0' .. '7' ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:133:3: ( BACKSLASH ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | BACKSLASH ( '0' .. '7' ) ( '0' .. '7' ) | BACKSLASH ( '0' .. '7' ) )
                        int alt18=3;
                        int LA18_0 = input.LA(1);
                        if ( (LA18_0=='\\') ) {
@@ -1996,7 +1974,7 @@ public class CTFLexer extends Lexer {
 
                        switch (alt18) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:137:5: BACKSLASH ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:133:5: BACKSLASH ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
                                        {
                                        mBACKSLASH(); 
 
@@ -2027,7 +2005,7 @@ public class CTFLexer extends Lexer {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:138:5: BACKSLASH ( '0' .. '7' ) ( '0' .. '7' )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:134:5: BACKSLASH ( '0' .. '7' ) ( '0' .. '7' )
                                        {
                                        mBACKSLASH(); 
 
@@ -2050,7 +2028,7 @@ public class CTFLexer extends Lexer {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:139:5: BACKSLASH ( '0' .. '7' )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:135:5: BACKSLASH ( '0' .. '7' )
                                        {
                                        mBACKSLASH(); 
 
@@ -2076,13 +2054,13 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "HEXADECIMAL_ESCAPE"
        public final void mHEXADECIMAL_ESCAPE() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:145:29: ( BACKSLASH 'x' ( HEX_DIGIT )+ )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:145:31: BACKSLASH 'x' ( HEX_DIGIT )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:141:29: ( BACKSLASH 'x' ( HEX_DIGIT )+ )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:141:31: BACKSLASH 'x' ( HEX_DIGIT )+
                        {
                        mBACKSLASH(); 
 
                        match('x'); 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:145:45: ( HEX_DIGIT )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:141:45: ( HEX_DIGIT )+
                        int cnt19=0;
                        loop19:
                        while (true) {
@@ -2127,7 +2105,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "UNICODE_ESCAPE"
        public final void mUNICODE_ESCAPE() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:151:3: ( BACKSLASH 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT | BACKSLASH 'U' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:147:3: ( BACKSLASH 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT | BACKSLASH 'U' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
                        int alt20=2;
                        int LA20_0 = input.LA(1);
                        if ( (LA20_0=='\\') ) {
@@ -2161,7 +2139,7 @@ public class CTFLexer extends Lexer {
 
                        switch (alt20) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:151:5: BACKSLASH 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:147:5: BACKSLASH 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
                                        {
                                        mBACKSLASH(); 
 
@@ -2177,7 +2155,7 @@ public class CTFLexer extends Lexer {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:152:5: BACKSLASH 'U' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:148:5: BACKSLASH 'U' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
                                        {
                                        mBACKSLASH(); 
 
@@ -2212,8 +2190,8 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "STRINGPREFIX"
        public final void mSTRINGPREFIX() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:157:23: ( 'L' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:157:25: 'L'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:153:23: ( 'L' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:153:25: 'L'
                        {
                        match('L'); 
                        }
@@ -2230,10 +2208,10 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = CHARACTER_LITERAL;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:162:19: ( ( STRINGPREFIX )? SINGLEQUOTE ( CHAR_CONTENT )+ SINGLEQUOTE )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:162:21: ( STRINGPREFIX )? SINGLEQUOTE ( CHAR_CONTENT )+ SINGLEQUOTE
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:158:19: ( ( STRINGPREFIX )? SINGLEQUOTE ( CHAR_CONTENT )+ SINGLEQUOTE )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:158:21: ( STRINGPREFIX )? SINGLEQUOTE ( CHAR_CONTENT )+ SINGLEQUOTE
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:162:21: ( STRINGPREFIX )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:158:21: ( STRINGPREFIX )?
                        int alt21=2;
                        int LA21_0 = input.LA(1);
                        if ( (LA21_0=='L') ) {
@@ -2258,7 +2236,7 @@ public class CTFLexer extends Lexer {
 
                        mSINGLEQUOTE(); 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:162:47: ( CHAR_CONTENT )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:158:47: ( CHAR_CONTENT )+
                        int cnt22=0;
                        loop22:
                        while (true) {
@@ -2270,7 +2248,7 @@ public class CTFLexer extends Lexer {
 
                                switch (alt22) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:162:47: CHAR_CONTENT
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:158:47: CHAR_CONTENT
                                        {
                                        mCHAR_CONTENT(); 
 
@@ -2301,10 +2279,10 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "CHAR_CONTENT"
        public final void mCHAR_CONTENT() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:163:23: ( ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:163:25: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:159:23: ( ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:159:25: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) )
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:163:25: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:159:25: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | SINGLEQUOTE ) )
                        int alt23=2;
                        int LA23_0 = input.LA(1);
                        if ( (LA23_0=='\\') ) {
@@ -2322,14 +2300,14 @@ public class CTFLexer extends Lexer {
 
                        switch (alt23) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:163:26: ESCAPE_SEQUENCE
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:159:26: ESCAPE_SEQUENCE
                                        {
                                        mESCAPE_SEQUENCE(); 
 
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:163:44: ~ ( BACKSLASH | SINGLEQUOTE )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:159:44: ~ ( BACKSLASH | SINGLEQUOTE )
                                        {
                                        if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
                                                input.consume();
@@ -2356,8 +2334,8 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "SINGLEQUOTE"
        public final void mSINGLEQUOTE() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:164:22: ( '\\'' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:164:24: '\\''
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:160:22: ( '\\'' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:160:24: '\\''
                        {
                        match('\''); 
                        }
@@ -2374,10 +2352,10 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = STRING_LITERAL;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:169:16: ( ( STRINGPREFIX )? DOUBLEQUOTE ( STRING_CONTENT )* DOUBLEQUOTE )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:169:18: ( STRINGPREFIX )? DOUBLEQUOTE ( STRING_CONTENT )* DOUBLEQUOTE
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:165:16: ( ( STRINGPREFIX )? DOUBLEQUOTE ( STRING_CONTENT )* DOUBLEQUOTE )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:165:18: ( STRINGPREFIX )? DOUBLEQUOTE ( STRING_CONTENT )* DOUBLEQUOTE
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:169:18: ( STRINGPREFIX )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:165:18: ( STRINGPREFIX )?
                        int alt24=2;
                        int LA24_0 = input.LA(1);
                        if ( (LA24_0=='L') ) {
@@ -2402,7 +2380,7 @@ public class CTFLexer extends Lexer {
 
                        mDOUBLEQUOTE(); 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:169:44: ( STRING_CONTENT )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:165:44: ( STRING_CONTENT )*
                        loop25:
                        while (true) {
                                int alt25=2;
@@ -2413,7 +2391,7 @@ public class CTFLexer extends Lexer {
 
                                switch (alt25) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:169:44: STRING_CONTENT
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:165:44: STRING_CONTENT
                                        {
                                        mSTRING_CONTENT(); 
 
@@ -2441,10 +2419,10 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "STRING_CONTENT"
        public final void mSTRING_CONTENT() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:170:25: ( ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:170:27: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:166:25: ( ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:166:27: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) )
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:170:27: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:166:27: ( ESCAPE_SEQUENCE |~ ( BACKSLASH | DOUBLEQUOTE ) )
                        int alt26=2;
                        int LA26_0 = input.LA(1);
                        if ( (LA26_0=='\\') ) {
@@ -2462,14 +2440,14 @@ public class CTFLexer extends Lexer {
 
                        switch (alt26) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:170:28: ESCAPE_SEQUENCE
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:166:28: ESCAPE_SEQUENCE
                                        {
                                        mESCAPE_SEQUENCE(); 
 
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:170:46: ~ ( BACKSLASH | DOUBLEQUOTE )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:166:46: ~ ( BACKSLASH | DOUBLEQUOTE )
                                        {
                                        if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
                                                input.consume();
@@ -2496,8 +2474,8 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "DOUBLEQUOTE"
        public final void mDOUBLEQUOTE() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:171:22: ( '\"' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:171:24: '\"'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:167:22: ( '\"' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:167:24: '\"'
                        {
                        match('\"'); 
                        }
@@ -2514,8 +2492,8 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = WS;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:176:4: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:176:6: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:172:4: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:172:6: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
                        {
                        if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||(input.LA(1) >= '\f' && input.LA(1) <= '\r')||input.LA(1)==' ' ) {
                                input.consume();
@@ -2542,12 +2520,12 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = COMMENT;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:183:9: ( COMMENT_OPEN ( . )* COMMENT_CLOSE )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:183:11: COMMENT_OPEN ( . )* COMMENT_CLOSE
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:179:9: ( COMMENT_OPEN ( . )* COMMENT_CLOSE )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:179:11: COMMENT_OPEN ( . )* COMMENT_CLOSE
                        {
                        mCOMMENT_OPEN(); 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:183:24: ( . )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:179:24: ( . )*
                        loop27:
                        while (true) {
                                int alt27=2;
@@ -2568,7 +2546,7 @@ public class CTFLexer extends Lexer {
 
                                switch (alt27) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:183:24: .
+                                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:179:24: .
                                        {
                                        matchAny(); 
                                        }
@@ -2596,8 +2574,8 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "COMMENT_OPEN"
        public final void mCOMMENT_OPEN() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:184:23: ( '/*' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:184:25: '/*'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:180:23: ( '/*' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:180:25: '/*'
                        {
                        match("/*"); 
 
@@ -2613,8 +2591,8 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "COMMENT_CLOSE"
        public final void mCOMMENT_CLOSE() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:185:24: ( '*/' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:185:26: '*/'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:181:24: ( '*/' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:181:26: '*/'
                        {
                        match("*/"); 
 
@@ -2632,12 +2610,12 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = LINE_COMMENT;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:190:14: ( '//' (~ ( '\\n' ) )* '\\n' )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:190:16: '//' (~ ( '\\n' ) )* '\\n'
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:186:14: ( '//' (~ ( '\\n' ) )* '\\n' )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:186:16: '//' (~ ( '\\n' ) )* '\\n'
                        {
                        match("//"); 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:190:21: (~ ( '\\n' ) )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:186:21: (~ ( '\\n' ) )*
                        loop28:
                        while (true) {
                                int alt28=2;
@@ -2684,12 +2662,12 @@ public class CTFLexer extends Lexer {
                try {
                        int _type = IDENTIFIER;
                        int _channel = DEFAULT_TOKEN_CHANNEL;
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:195:12: ( NONDIGIT ( NONDIGIT | DIGIT )* )
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:195:14: NONDIGIT ( NONDIGIT | DIGIT )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:191:12: ( NONDIGIT ( NONDIGIT | DIGIT )* )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:191:14: NONDIGIT ( NONDIGIT | DIGIT )*
                        {
                        mNONDIGIT(); 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:195:23: ( NONDIGIT | DIGIT )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:191:23: ( NONDIGIT | DIGIT )*
                        loop29:
                        while (true) {
                                int alt29=2;
@@ -2732,7 +2710,7 @@ public class CTFLexer extends Lexer {
        // $ANTLR start "NONDIGIT"
        public final void mNONDIGIT() throws RecognitionException {
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:196:19: ( ( '_' ) | ( 'A' .. 'Z' ) | ( 'a' .. 'z' ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:192:19: ( ( '_' ) | ( 'A' .. 'Z' ) | ( 'a' .. 'z' ) )
                        // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:
                        {
                        if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
@@ -2754,8 +2732,8 @@ public class CTFLexer extends Lexer {
 
        @Override
        public void mTokens() throws RecognitionException {
-               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:8: ( ALIGNTOK | CONSTTOK | CHARTOK | DOUBLETOK | ENUMTOK | EVENTTOK | FLOATINGPOINTTOK | FLOATTOK | INTEGERTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | STREAMTOK | STRINGTOK | STRUCTTOK | TRACETOK | TYPEALIASTOK | TYPEDEFTOK | UNSIGNEDTOK | VARIANTTOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | ENVTOK | CLOCKTOK | CALLSITETOK | NANNUMBERTOK | INFINITYTOK | NINFINITYTOK | SEPARATOR | COLON | ELIPSES | ASSIGNMENT | TYPE_ASSIGNMENT | LT | GT | OPENBRAC | CLOSEBRAC | LPAREN | RPAREN | LCURL | RCURL | TERM | POINTER | SIGN | ARROW | DOT | OCTAL_LITERAL | DECIMAL_LITERAL | HEX_LITERAL | CHARACTER_LITERAL | STRING_LITERAL | WS | COMMENT | LINE_COMMENT | IDENTIFIER )
-               int alt30=58;
+               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:8: ( ALIGNTOK | CONSTTOK | CHARTOK | DOUBLETOK | ENUMTOK | EVENTTOK | FLOATINGPOINTTOK | FLOATTOK | INTEGERTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | STREAMTOK | STRINGTOK | STRUCTTOK | TRACETOK | TYPEALIASTOK | TYPEDEFTOK | UNSIGNEDTOK | VARIANTTOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | ENVTOK | CLOCKTOK | NANNUMBERTOK | INFINITYTOK | NINFINITYTOK | SEPARATOR | COLON | ELIPSES | ASSIGNMENT | TYPE_ASSIGNMENT | LT | GT | OPENBRAC | CLOSEBRAC | LPAREN | RPAREN | LCURL | RCURL | TERM | POINTER | SIGN | ARROW | DOT | OCTAL_LITERAL | DECIMAL_LITERAL | HEX_LITERAL | CHARACTER_LITERAL | STRING_LITERAL | WS | COMMENT | LINE_COMMENT | IDENTIFIER )
+               int alt30=57;
                alt30 = dfa30.predict(input);
                switch (alt30) {
                        case 1 :
@@ -2948,217 +2926,210 @@ public class CTFLexer extends Lexer {
                                }
                                break;
                        case 28 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:276: CALLSITETOK
-                               {
-                               mCALLSITETOK(); 
-
-                               }
-                               break;
-                       case 29 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:288: NANNUMBERTOK
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:276: NANNUMBERTOK
                                {
                                mNANNUMBERTOK(); 
 
                                }
                                break;
-                       case 30 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:301: INFINITYTOK
+                       case 29 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:289: INFINITYTOK
                                {
                                mINFINITYTOK(); 
 
                                }
                                break;
-                       case 31 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:313: NINFINITYTOK
+                       case 30 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:301: NINFINITYTOK
                                {
                                mNINFINITYTOK(); 
 
                                }
                                break;
-                       case 32 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:326: SEPARATOR
+                       case 31 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:314: SEPARATOR
                                {
                                mSEPARATOR(); 
 
                                }
                                break;
-                       case 33 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:336: COLON
+                       case 32 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:324: COLON
                                {
                                mCOLON(); 
 
                                }
                                break;
-                       case 34 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:342: ELIPSES
+                       case 33 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:330: ELIPSES
                                {
                                mELIPSES(); 
 
                                }
                                break;
-                       case 35 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:350: ASSIGNMENT
+                       case 34 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:338: ASSIGNMENT
                                {
                                mASSIGNMENT(); 
 
                                }
                                break;
-                       case 36 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:361: TYPE_ASSIGNMENT
+                       case 35 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:349: TYPE_ASSIGNMENT
                                {
                                mTYPE_ASSIGNMENT(); 
 
                                }
                                break;
-                       case 37 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:377: LT
+                       case 36 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:365: LT
                                {
                                mLT(); 
 
                                }
                                break;
-                       case 38 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:380: GT
+                       case 37 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:368: GT
                                {
                                mGT(); 
 
                                }
                                break;
-                       case 39 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:383: OPENBRAC
+                       case 38 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:371: OPENBRAC
                                {
                                mOPENBRAC(); 
 
                                }
                                break;
-                       case 40 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:392: CLOSEBRAC
+                       case 39 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:380: CLOSEBRAC
                                {
                                mCLOSEBRAC(); 
 
                                }
                                break;
-                       case 41 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:402: LPAREN
+                       case 40 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:390: LPAREN
                                {
                                mLPAREN(); 
 
                                }
                                break;
-                       case 42 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:409: RPAREN
+                       case 41 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:397: RPAREN
                                {
                                mRPAREN(); 
 
                                }
                                break;
-                       case 43 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:416: LCURL
+                       case 42 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:404: LCURL
                                {
                                mLCURL(); 
 
                                }
                                break;
-                       case 44 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:422: RCURL
+                       case 43 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:410: RCURL
                                {
                                mRCURL(); 
 
                                }
                                break;
-                       case 45 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:428: TERM
+                       case 44 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:416: TERM
                                {
                                mTERM(); 
 
                                }
                                break;
-                       case 46 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:433: POINTER
+                       case 45 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:421: POINTER
                                {
                                mPOINTER(); 
 
                                }
                                break;
-                       case 47 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:441: SIGN
+                       case 46 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:429: SIGN
                                {
                                mSIGN(); 
 
                                }
                                break;
-                       case 48 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:446: ARROW
+                       case 47 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:434: ARROW
                                {
                                mARROW(); 
 
                                }
                                break;
-                       case 49 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:452: DOT
+                       case 48 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:440: DOT
                                {
                                mDOT(); 
 
                                }
                                break;
-                       case 50 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:456: OCTAL_LITERAL
+                       case 49 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:444: OCTAL_LITERAL
                                {
                                mOCTAL_LITERAL(); 
 
                                }
                                break;
-                       case 51 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:470: DECIMAL_LITERAL
+                       case 50 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:458: DECIMAL_LITERAL
                                {
                                mDECIMAL_LITERAL(); 
 
                                }
                                break;
-                       case 52 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:486: HEX_LITERAL
+                       case 51 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:474: HEX_LITERAL
                                {
                                mHEX_LITERAL(); 
 
                                }
                                break;
-                       case 53 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:498: CHARACTER_LITERAL
+                       case 52 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:486: CHARACTER_LITERAL
                                {
                                mCHARACTER_LITERAL(); 
 
                                }
                                break;
-                       case 54 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:516: STRING_LITERAL
+                       case 53 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:504: STRING_LITERAL
                                {
                                mSTRING_LITERAL(); 
 
                                }
                                break;
-                       case 55 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:531: WS
+                       case 54 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:519: WS
                                {
                                mWS(); 
 
                                }
                                break;
-                       case 56 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:534: COMMENT
+                       case 55 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:522: COMMENT
                                {
                                mCOMMENT(); 
 
                                }
                                break;
-                       case 57 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:542: LINE_COMMENT
+                       case 56 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:530: LINE_COMMENT
                                {
                                mLINE_COMMENT(); 
 
                                }
                                break;
-                       case 58 :
-                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:555: IDENTIFIER
+                       case 57 :
+                               // org/eclipse/tracecompass/ctf/parser/CTFLexer.g:1:543: IDENTIFIER
                                {
                                mIDENTIFIER(); 
 
@@ -3171,63 +3142,63 @@ public class CTFLexer extends Lexer {
 
        protected DFA30 dfa30 = new DFA30(this);
        static final String DFA30_eotS =
-               "\1\uffff\15\45\2\76\1\uffff\1\102\1\104\13\uffff\1\37\1\uffff\1\45\5\uffff"+
-               "\27\45\11\uffff\1\144\2\uffff\7\45\1\154\2\45\1\160\14\45\1\177\3\144"+
-               "\1\uffff\2\45\1\u0087\3\45\1\u008b\1\uffff\3\45\1\uffff\1\u008f\11\45"+
-               "\1\u009a\3\45\1\uffff\1\144\1\uffff\3\144\1\u00a0\1\u00a1\1\uffff\1\u00a2"+
-               "\2\45\1\uffff\1\u00a5\1\u00a7\1\45\1\uffff\1\u00a9\4\45\1\u00ae\4\45\1"+
-               "\uffff\1\u00b3\2\45\5\uffff\1\45\1\u00b7\1\uffff\1\45\1\uffff\1\45\1\uffff"+
-               "\1\u00ba\1\u00bb\1\u00bc\1\u00bd\1\uffff\4\45\1\uffff\3\45\1\uffff\1\45"+
-               "\1\u00c6\4\uffff\1\45\1\u00c8\1\45\1\u00ca\2\45\1\u00cd\1\45\1\uffff\1"+
-               "\45\1\uffff\1\u00d0\1\uffff\1\u00d1\1\45\1\uffff\1\45\1\u00d4\2\uffff"+
-               "\2\45\1\uffff\1\u00d7\1\45\1\uffff\2\45\1\u00db\1\uffff";
+               "\1\uffff\15\45\2\75\1\uffff\1\101\1\103\13\uffff\1\37\1\uffff\1\45\5\uffff"+
+               "\26\45\11\uffff\1\142\2\uffff\6\45\1\151\2\45\1\155\14\45\1\174\3\142"+
+               "\1\uffff\2\45\1\u0084\2\45\1\u0087\1\uffff\3\45\1\uffff\1\u008b\11\45"+
+               "\1\u0096\3\45\1\uffff\1\142\1\uffff\3\142\1\u009c\1\u009d\1\uffff\1\u009e"+
+               "\1\45\1\uffff\1\u00a0\1\u00a2\1\45\1\uffff\1\u00a4\4\45\1\u00a9\4\45\1"+
+               "\uffff\1\u00ae\2\45\5\uffff\1\u00b1\1\uffff\1\45\1\uffff\1\45\1\uffff"+
+               "\1\u00b4\1\u00b5\1\u00b6\1\u00b7\1\uffff\4\45\1\uffff\2\45\1\uffff\1\45"+
+               "\1\u00bf\4\uffff\1\45\1\u00c1\1\45\1\u00c3\3\45\1\uffff\1\45\1\uffff\1"+
+               "\u00c8\1\uffff\1\u00c9\2\45\1\u00cc\2\uffff\2\45\1\uffff\1\u00cf\1\45"+
+               "\1\uffff\2\45\1\u00d3\1\uffff";
        static final String DFA30_eofS =
-               "\u00dc\uffff";
+               "\u00d4\uffff";
        static final String DFA30_minS =
-               "\1\11\1\154\1\141\1\157\1\156\1\154\1\156\1\157\1\150\1\162\1\156\1\141"+
+               "\1\11\1\154\1\150\1\157\1\156\1\154\1\156\1\157\1\150\1\162\1\156\1\141"+
                "\1\102\1\141\1\151\1\76\1\uffff\1\75\1\56\13\uffff\1\60\1\uffff\1\42\3"+
-               "\uffff\1\52\1\uffff\1\151\1\156\1\141\1\157\1\154\2\165\1\145\1\157\1"+
-               "\164\1\156\1\157\1\147\1\162\1\141\1\160\1\163\1\162\1\151\2\157\1\155"+
-               "\1\116\11\uffff\1\60\2\uffff\1\147\1\163\1\162\1\143\1\154\1\142\1\155"+
-               "\1\60\1\156\1\141\1\60\1\147\1\162\1\156\1\145\1\143\1\145\2\151\1\144"+
-               "\1\157\1\155\1\141\1\60\1\125\2\114\1\uffff\1\156\1\164\1\60\1\153\1\163"+
-               "\1\154\1\60\1\uffff\2\164\1\147\1\uffff\1\60\1\164\1\145\1\141\1\156\1"+
-               "\143\1\145\1\141\1\147\1\141\1\60\1\154\1\160\1\147\1\uffff\1\125\1\uffff"+
-               "\1\125\1\154\1\114\2\60\1\uffff\1\60\1\151\1\145\1\uffff\2\60\1\145\1"+
-               "\uffff\1\60\1\144\1\155\1\147\1\164\1\60\1\154\1\145\2\156\1\uffff\1\60"+
-               "\1\154\1\151\5\uffff\1\164\1\60\1\uffff\1\156\1\uffff\1\162\1\uffff\4"+
-               "\60\1\uffff\1\151\1\146\1\145\1\164\1\uffff\1\145\1\156\1\145\1\uffff"+
-               "\1\147\1\60\4\uffff\1\141\1\60\1\144\1\60\1\170\1\141\1\60\1\137\1\uffff"+
-               "\1\163\1\uffff\1\60\1\uffff\1\60\1\162\1\uffff\1\160\1\60\2\uffff\1\171"+
-               "\1\157\1\uffff\1\60\1\151\1\uffff\1\156\1\164\1\60\1\uffff";
+               "\uffff\1\52\1\uffff\1\151\1\156\1\141\1\157\2\165\1\145\1\157\1\164\1"+
+               "\156\1\157\1\147\1\162\1\141\1\160\1\163\1\162\1\151\2\157\1\155\1\116"+
+               "\11\uffff\1\60\2\uffff\1\147\1\163\1\162\1\143\1\142\1\155\1\60\1\156"+
+               "\1\141\1\60\1\147\1\162\1\156\1\145\1\143\1\145\2\151\1\144\1\157\1\155"+
+               "\1\141\1\60\1\125\2\114\1\uffff\1\156\1\164\1\60\1\153\1\154\1\60\1\uffff"+
+               "\2\164\1\147\1\uffff\1\60\1\164\1\145\1\141\1\156\1\143\1\145\1\141\1"+
+               "\147\1\141\1\60\1\154\1\160\1\147\1\uffff\1\125\1\uffff\1\125\1\154\1"+
+               "\114\2\60\1\uffff\1\60\1\145\1\uffff\2\60\1\145\1\uffff\1\60\1\144\1\155"+
+               "\1\147\1\164\1\60\1\154\1\145\2\156\1\uffff\1\60\1\154\1\151\5\uffff\1"+
+               "\60\1\uffff\1\156\1\uffff\1\162\1\uffff\4\60\1\uffff\1\151\1\146\1\145"+
+               "\1\164\1\uffff\1\145\1\156\1\uffff\1\147\1\60\4\uffff\1\141\1\60\1\144"+
+               "\1\60\1\170\1\141\1\137\1\uffff\1\163\1\uffff\1\60\1\uffff\1\60\1\162"+
+               "\1\160\1\60\2\uffff\1\171\1\157\1\uffff\1\60\1\151\1\uffff\1\156\1\164"+
+               "\1\60\1\uffff";
        static final String DFA30_maxS =
                "\1\175\1\154\2\157\1\166\1\154\1\156\1\157\1\164\1\171\1\156\1\157\1\111"+
                "\1\141\2\151\1\uffff\1\75\1\56\13\uffff\1\170\1\uffff\1\47\3\uffff\1\57"+
-               "\1\uffff\1\151\1\156\1\141\1\157\1\154\1\165\1\166\1\145\1\157\1\164\1"+
-               "\156\1\157\1\147\1\162\1\141\1\160\1\163\1\162\1\151\2\157\1\155\1\116"+
-               "\11\uffff\1\165\2\uffff\1\147\1\163\1\162\1\143\1\154\1\142\1\155\1\172"+
-               "\1\156\1\141\1\172\1\147\1\162\1\156\1\165\1\143\1\145\2\151\1\144\1\157"+
-               "\1\155\1\141\1\172\2\165\1\154\1\uffff\1\156\1\164\1\172\1\153\1\163\1"+
-               "\154\1\172\1\uffff\2\164\1\147\1\uffff\1\172\1\164\1\145\1\141\1\156\1"+
-               "\143\1\145\1\144\1\147\1\141\1\172\1\154\1\160\1\147\1\uffff\1\165\1\uffff"+
-               "\1\165\1\154\1\114\2\172\1\uffff\1\172\1\151\1\145\1\uffff\2\172\1\145"+
-               "\1\uffff\1\172\1\144\1\155\1\147\1\164\1\172\1\154\1\145\2\156\1\uffff"+
-               "\1\172\1\154\1\151\5\uffff\1\164\1\172\1\uffff\1\156\1\uffff\1\162\1\uffff"+
-               "\4\172\1\uffff\1\151\1\146\1\145\1\164\1\uffff\1\145\1\156\1\145\1\uffff"+
-               "\1\147\1\172\4\uffff\1\141\1\172\1\144\1\172\1\170\1\141\1\172\1\137\1"+
-               "\uffff\1\163\1\uffff\1\172\1\uffff\1\172\1\162\1\uffff\1\160\1\172\2\uffff"+
-               "\1\171\1\157\1\uffff\1\172\1\151\1\uffff\1\156\1\164\1\172\1\uffff";
+               "\1\uffff\1\151\1\156\1\141\1\157\1\165\1\166\1\145\1\157\1\164\1\156\1"+
+               "\157\1\147\1\162\1\141\1\160\1\163\1\162\1\151\2\157\1\155\1\116\11\uffff"+
+               "\1\165\2\uffff\1\147\1\163\1\162\1\143\1\142\1\155\1\172\1\156\1\141\1"+
+               "\172\1\147\1\162\1\156\1\165\1\143\1\145\2\151\1\144\1\157\1\155\1\141"+
+               "\1\172\2\165\1\154\1\uffff\1\156\1\164\1\172\1\153\1\154\1\172\1\uffff"+
+               "\2\164\1\147\1\uffff\1\172\1\164\1\145\1\141\1\156\1\143\1\145\1\144\1"+
+               "\147\1\141\1\172\1\154\1\160\1\147\1\uffff\1\165\1\uffff\1\165\1\154\1"+
+               "\114\2\172\1\uffff\1\172\1\145\1\uffff\2\172\1\145\1\uffff\1\172\1\144"+
+               "\1\155\1\147\1\164\1\172\1\154\1\145\2\156\1\uffff\1\172\1\154\1\151\5"+
+               "\uffff\1\172\1\uffff\1\156\1\uffff\1\162\1\uffff\4\172\1\uffff\1\151\1"+
+               "\146\1\145\1\164\1\uffff\1\145\1\156\1\uffff\1\147\1\172\4\uffff\1\141"+
+               "\1\172\1\144\1\172\1\170\1\141\1\137\1\uffff\1\163\1\uffff\1\172\1\uffff"+
+               "\1\172\1\162\1\160\1\172\2\uffff\1\171\1\157\1\uffff\1\172\1\151\1\uffff"+
+               "\1\156\1\164\1\172\1\uffff";
        static final String DFA30_acceptS =
-               "\20\uffff\1\40\2\uffff\1\43\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1"+
-               "\55\1\56\1\uffff\1\63\1\uffff\1\65\1\66\1\67\1\uffff\1\72\27\uffff\1\36"+
-               "\1\57\1\37\1\60\1\44\1\41\1\42\1\61\1\64\1\uffff\1\70\1\71\33\uffff\1"+
-               "\62\7\uffff\1\32\3\uffff\1\12\16\uffff\1\35\1\uffff\1\62\5\uffff\1\3\3"+
-               "\uffff\1\5\3\uffff\1\13\12\uffff\1\26\3\uffff\2\62\1\1\1\2\1\33\2\uffff"+
-               "\1\6\1\uffff\1\10\1\uffff\1\14\4\uffff\1\21\4\uffff\1\27\3\uffff\1\4\2"+
-               "\uffff\1\15\1\16\1\17\1\20\10\uffff\1\11\1\uffff\1\23\1\uffff\1\25\2\uffff"+
-               "\1\34\2\uffff\1\24\1\30\2\uffff\1\22\2\uffff\1\31\3\uffff\1\7";
+               "\20\uffff\1\37\2\uffff\1\42\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1"+
+               "\54\1\55\1\uffff\1\62\1\uffff\1\64\1\65\1\66\1\uffff\1\71\26\uffff\1\35"+
+               "\1\56\1\36\1\57\1\43\1\40\1\41\1\60\1\63\1\uffff\1\67\1\70\32\uffff\1"+
+               "\61\6\uffff\1\32\3\uffff\1\12\16\uffff\1\34\1\uffff\1\61\5\uffff\1\3\2"+
+               "\uffff\1\5\3\uffff\1\13\12\uffff\1\26\3\uffff\2\61\1\1\1\2\1\33\1\uffff"+
+               "\1\6\1\uffff\1\10\1\uffff\1\14\4\uffff\1\21\4\uffff\1\27\2\uffff\1\4\2"+
+               "\uffff\1\15\1\16\1\17\1\20\7\uffff\1\11\1\uffff\1\23\1\uffff\1\25\4\uffff"+
+               "\1\24\1\30\2\uffff\1\22\2\uffff\1\31\3\uffff\1\7";
        static final String DFA30_specialS =
-               "\u00dc\uffff}>";
+               "\u00d4\uffff}>";
        static final String[] DFA30_transitionS = {
                        "\2\43\1\uffff\2\43\22\uffff\1\43\1\uffff\1\42\4\uffff\1\41\1\30\1\31"+
                        "\1\35\1\16\1\20\1\17\1\22\1\44\1\36\11\37\1\21\1\34\1\24\1\23\1\25\2"+
@@ -3235,23 +3206,23 @@ public class CTFLexer extends Lexer {
                        "\1\1\1\45\1\2\1\3\1\4\1\5\2\45\1\6\2\45\1\7\6\45\1\10\1\11\1\12\1\13"+
                        "\4\45\1\32\1\uffff\1\33",
                        "\1\46",
-                       "\1\52\6\uffff\1\50\3\uffff\1\51\2\uffff\1\47",
-                       "\1\53",
-                       "\1\54\7\uffff\1\55",
+                       "\1\50\3\uffff\1\51\2\uffff\1\47",
+                       "\1\52",
+                       "\1\53\7\uffff\1\54",
+                       "\1\55",
                        "\1\56",
                        "\1\57",
-                       "\1\60",
-                       "\1\61\1\62\12\uffff\1\63",
-                       "\1\64\6\uffff\1\65",
-                       "\1\66",
-                       "\1\67\15\uffff\1\70",
-                       "\1\71\1\72\5\uffff\1\73",
+                       "\1\60\1\61\12\uffff\1\62",
+                       "\1\63\6\uffff\1\64",
+                       "\1\65",
+                       "\1\66\15\uffff\1\67",
+                       "\1\70\1\71\5\uffff\1\72",
+                       "\1\73",
                        "\1\74",
-                       "\1\75",
-                       "\1\100\52\uffff\1\77",
+                       "\1\77\52\uffff\1\76",
                        "",
-                       "\1\101",
-                       "\1\103",
+                       "\1\100",
+                       "\1\102",
                        "",
                        "",
                        "",
@@ -3263,21 +3234,22 @@ public class CTFLexer extends Lexer {
                        "",
                        "",
                        "",
-                       "\10\106\40\uffff\1\105\37\uffff\1\105",
+                       "\10\105\40\uffff\1\104\37\uffff\1\104",
                        "",
                        "\1\42\4\uffff\1\41",
                        "",
                        "",
                        "",
-                       "\1\107\4\uffff\1\110",
+                       "\1\106\4\uffff\1\107",
                        "",
+                       "\1\110",
                        "\1\111",
                        "\1\112",
                        "\1\113",
                        "\1\114",
-                       "\1\115",
-                       "\1\116",
-                       "\1\117\1\120",
+                       "\1\115\1\116",
+                       "\1\117",
+                       "\1\120",
                        "\1\121",
                        "\1\122",
                        "\1\123",
@@ -3292,8 +3264,6 @@ public class CTFLexer extends Lexer {
                        "\1\134",
                        "\1\135",
                        "\1\136",
-                       "\1\137",
-                       "\1\140",
                        "",
                        "",
                        "",
@@ -3303,155 +3273,148 @@ public class CTFLexer extends Lexer {
                        "",
                        "",
                        "",
-                       "\10\106\2\37\22\uffff\1\142\10\uffff\1\143\26\uffff\1\141\10\uffff\1"+
-                       "\143",
+                       "\10\105\2\37\22\uffff\1\140\10\uffff\1\141\26\uffff\1\137\10\uffff\1"+
+                       "\141",
                        "",
                        "",
+                       "\1\143",
+                       "\1\144",
                        "\1\145",
                        "\1\146",
                        "\1\147",
                        "\1\150",
-                       "\1\151",
+                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\1\152",
                        "\1\153",
-                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\155",
+                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\4\45\1\154\25\45",
                        "\1\156",
-                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\4\45\1\157\25\45",
-                       "\1\161",
-                       "\1\162",
-                       "\1\163",
-                       "\1\164\3\uffff\1\165\13\uffff\1\166",
+                       "\1\157",
+                       "\1\160",
+                       "\1\161\3\uffff\1\162\13\uffff\1\163",
+                       "\1\164",
+                       "\1\165",
+                       "\1\166",
                        "\1\167",
                        "\1\170",
                        "\1\171",
                        "\1\172",
                        "\1\173",
-                       "\1\174",
-                       "\1\175",
-                       "\1\176",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\u0081\26\uffff\1\u0080\10\uffff\1\u0081",
-                       "\1\u0082\10\uffff\1\u0081\37\uffff\1\u0081",
-                       "\1\u0084\37\uffff\1\u0083",
+                       "\1\176\26\uffff\1\175\10\uffff\1\176",
+                       "\1\177\10\uffff\1\176\37\uffff\1\176",
+                       "\1\u0081\37\uffff\1\u0080",
                        "",
+                       "\1\u0082",
+                       "\1\u0083",
+                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\1\u0085",
                        "\1\u0086",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+                       "",
                        "\1\u0088",
                        "\1\u0089",
                        "\1\u008a",
-                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "",
+                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\1\u008c",
                        "\1\u008d",
                        "\1\u008e",
-                       "",
-                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+                       "\1\u008f",
                        "\1\u0090",
                        "\1\u0091",
-                       "\1\u0092",
-                       "\1\u0093",
+                       "\1\u0092\2\uffff\1\u0093",
                        "\1\u0094",
                        "\1\u0095",
-                       "\1\u0096\2\uffff\1\u0097",
+                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+                       "\1\u0097",
                        "\1\u0098",
                        "\1\u0099",
-                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\u009b",
-                       "\1\u009c",
-                       "\1\u009d",
                        "",
-                       "\1\u0081\37\uffff\1\u0081",
+                       "\1\176\37\uffff\1\176",
                        "",
-                       "\1\u0081\37\uffff\1\u0081",
-                       "\1\u009e",
-                       "\1\u009f",
+                       "\1\176\37\uffff\1\176",
+                       "\1\u009a",
+                       "\1\u009b",
+                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+                       "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+                       "\1\u009f",
                        "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
+                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\10\45\1\u00a1\21\45",
                        "\1\u00a3",
-                       "\1\u00a4",
                        "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\10\45\1\u00a6\21\45",
+                       "\1\u00a5",
+                       "\1\u00a6",
+                       "\1\u00a7",
                        "\1\u00a8",
-                       "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\1\u00aa",
                        "\1\u00ab",
                        "\1\u00ac",
                        "\1\u00ad",
+                       "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\1\u00af",
                        "\1\u00b0",
-                       "\1\u00b1",
-                       "\1\u00b2",
-                       "",
-                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\u00b4",
-                       "\1\u00b5",
                        "",
                        "",
                        "",
                        "",
                        "",
-                       "\1\u00b6",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "",
-                       "\1\u00b8",
+                       "\1\u00b2",
                        "",
-                       "\1\u00b9",
+                       "\1\u00b3",
                        "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "",
-                       "\1\u00be",
-                       "\1\u00bf",
-                       "\1\u00c0",
-                       "\1\u00c1",
+                       "\1\u00b8",
+                       "\1\u00b9",
+                       "\1\u00ba",
+                       "\1\u00bb",
                        "",
-                       "\1\u00c2",
-                       "\1\u00c3",
-                       "\1\u00c4",
+                       "\1\u00bc",
+                       "\1\u00bd",
                        "",
-                       "\1\u00c5",
+                       "\1\u00be",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "",
                        "",
                        "",
                        "",
-                       "\1\u00c7",
-                       "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\u00c9",
+                       "\1\u00c0",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\u00cb",
-                       "\1\u00cc",
+                       "\1\u00c2",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\u00ce",
+                       "\1\u00c4",
+                       "\1\u00c5",
+                       "\1\u00c6",
                        "",
-                       "\1\u00cf",
+                       "\1\u00c7",
                        "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\u00d2",
-                       "",
-                       "\1\u00d3",
+                       "\1\u00ca",
+                       "\1\u00cb",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        "",
                        "",
-                       "\1\u00d5",
-                       "\1\u00d6",
+                       "\1\u00cd",
+                       "\1\u00ce",
                        "",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
-                       "\1\u00d8",
+                       "\1\u00d0",
                        "",
-                       "\1\u00d9",
-                       "\1\u00da",
+                       "\1\u00d1",
+                       "\1\u00d2",
                        "\12\45\7\uffff\32\45\4\uffff\1\45\1\uffff\32\45",
                        ""
        };
@@ -3487,7 +3450,7 @@ public class CTFLexer extends Lexer {
                }
                @Override
                public String getDescription() {
-                       return "1:1: Tokens : ( ALIGNTOK | CONSTTOK | CHARTOK | DOUBLETOK | ENUMTOK | EVENTTOK | FLOATINGPOINTTOK | FLOATTOK | INTEGERTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | STREAMTOK | STRINGTOK | STRUCTTOK | TRACETOK | TYPEALIASTOK | TYPEDEFTOK | UNSIGNEDTOK | VARIANTTOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | ENVTOK | CLOCKTOK | CALLSITETOK | NANNUMBERTOK | INFINITYTOK | NINFINITYTOK | SEPARATOR | COLON | ELIPSES | ASSIGNMENT | TYPE_ASSIGNMENT | LT | GT | OPENBRAC | CLOSEBRAC | LPAREN | RPAREN | LCURL | RCURL | TERM | POINTER | SIGN | ARROW | DOT | OCTAL_LITERAL | DECIMAL_LITERAL | HEX_LITERAL | CHARACTER_LITERAL | STRING_LITERAL | WS | COMMENT | LINE_COMMENT | IDENTIFIER );";
+                       return "1:1: Tokens : ( ALIGNTOK | CONSTTOK | CHARTOK | DOUBLETOK | ENUMTOK | EVENTTOK | FLOATINGPOINTTOK | FLOATTOK | INTEGERTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | STREAMTOK | STRINGTOK | STRUCTTOK | TRACETOK | TYPEALIASTOK | TYPEDEFTOK | UNSIGNEDTOK | VARIANTTOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | ENVTOK | CLOCKTOK | NANNUMBERTOK | INFINITYTOK | NINFINITYTOK | SEPARATOR | COLON | ELIPSES | ASSIGNMENT | TYPE_ASSIGNMENT | LT | GT | OPENBRAC | CLOSEBRAC | LPAREN | RPAREN | LCURL | RCURL | TERM | POINTER | SIGN | ARROW | DOT | OCTAL_LITERAL | DECIMAL_LITERAL | HEX_LITERAL | CHARACTER_LITERAL | STRING_LITERAL | WS | COMMENT | LINE_COMMENT | IDENTIFIER );";
                }
        }
 
index ede44caf00837a90016cd89aca7f8c6e965fee48..bf256e09230e0d8e19b696482bc6e38f1ab8742f 100644 (file)
@@ -1,4 +1,4 @@
-// $ANTLR 3.5.2 org/eclipse/tracecompass/ctf/parser/CTFParser.g 2015-07-09 14:10:52
+// $ANTLR 3.5.2 org/eclipse/tracecompass/ctf/parser/CTFParser.g 2015-08-06 19:37:54
 
 /*******************************************************************************
  * Copyright (c) 2010, 2015 Ericsson, Ecole Polytechnique de Montréal and others
@@ -34,29 +34,29 @@ import org.antlr.runtime.tree.*;
 public class CTFParser extends Parser {
        public static final String[] tokenNames = new String[] {
                "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ALIGNTOK", "ARROW", "ASSIGNMENT", 
-               "BACKSLASH", "BOOLTOK", "CALLSITETOK", "CHARACTER_LITERAL", "CHARTOK", 
-               "CHAR_CONTENT", "CLOCKTOK", "CLOSEBRAC", "COLON", "COMMENT", "COMMENT_CLOSE", 
-               "COMMENT_OPEN", "COMPLEXTOK", "CONSTTOK", "DECIMAL_LITERAL", "DIGIT", 
-               "DOT", "DOUBLEQUOTE", "DOUBLETOK", "ELIPSES", "ENUMTOK", "ENVTOK", "ESCAPE_SEQUENCE", 
-               "EVENTTOK", "FLOATINGPOINTTOK", "FLOATTOK", "GT", "HEXADECIMAL_ESCAPE", 
-               "HEX_DIGIT", "HEX_LITERAL", "HEX_PREFIX", "IDENTIFIER", "IMAGINARYTOK", 
-               "INFINITYTOK", "INTEGERTOK", "INTEGER_TYPES_SUFFIX", "INTTOK", "LCURL", 
-               "LINE_COMMENT", "LONGTOK", "LPAREN", "LT", "NANNUMBERTOK", "NINFINITYTOK", 
-               "NONDIGIT", "NONZERO_DIGIT", "OCTAL_ESCAPE", "OCTAL_LITERAL", "OCT_DIGIT", 
-               "OCT_PREFIX", "OPENBRAC", "POINTER", "RCURL", "RPAREN", "SEPARATOR", "SHORTTOK", 
-               "SIGN", "SIGNEDTOK", "SINGLEQUOTE", "STREAMTOK", "STRINGPREFIX", "STRINGTOK", 
+               "BACKSLASH", "BOOLTOK", "CHARACTER_LITERAL", "CHARTOK", "CHAR_CONTENT", 
+               "CLOCKTOK", "CLOSEBRAC", "COLON", "COMMENT", "COMMENT_CLOSE", "COMMENT_OPEN", 
+               "COMPLEXTOK", "CONSTTOK", "DECIMAL_LITERAL", "DIGIT", "DOT", "DOUBLEQUOTE", 
+               "DOUBLETOK", "ELIPSES", "ENUMTOK", "ENVTOK", "ESCAPE_SEQUENCE", "EVENTTOK", 
+               "FLOATINGPOINTTOK", "FLOATTOK", "GT", "HEXADECIMAL_ESCAPE", "HEX_DIGIT", 
+               "HEX_LITERAL", "HEX_PREFIX", "IDENTIFIER", "IMAGINARYTOK", "INFINITYTOK", 
+               "INTEGERTOK", "INTEGER_TYPES_SUFFIX", "INTTOK", "LCURL", "LINE_COMMENT", 
+               "LONGTOK", "LPAREN", "LT", "NANNUMBERTOK", "NINFINITYTOK", "NONDIGIT", 
+               "NONZERO_DIGIT", "OCTAL_ESCAPE", "OCTAL_LITERAL", "OCT_DIGIT", "OCT_PREFIX", 
+               "OPENBRAC", "POINTER", "RCURL", "RPAREN", "SEPARATOR", "SHORTTOK", "SIGN", 
+               "SIGNEDTOK", "SINGLEQUOTE", "STREAMTOK", "STRINGPREFIX", "STRINGTOK", 
                "STRING_CONTENT", "STRING_LITERAL", "STRUCTTOK", "TERM", "TRACETOK", "TYPEALIASTOK", 
                "TYPEDEFTOK", "TYPE_ASSIGNMENT", "UNICODE_ESCAPE", "UNSIGNEDTOK", "VARIANTTOK", 
-               "VOIDTOK", "WS", "ALIGN", "CALLSITE", "CLOCK", "CTF_EXPRESSION_TYPE", 
-               "CTF_EXPRESSION_VAL", "CTF_LEFT", "CTF_RIGHT", "DECLARATION", "DECLARATOR", 
-               "ENUM", "ENUM_BODY", "ENUM_CONTAINER_TYPE", "ENUM_ENUMERATOR", "ENUM_NAME", 
-               "ENUM_VALUE", "ENUM_VALUE_RANGE", "ENV", "EVENT", "FLOATING_POINT", "INTEGER", 
-               "LENGTH", "ROOT", "STREAM", "STRING", "STRUCT", "STRUCT_BODY", "STRUCT_NAME", 
-               "SV_DECLARATION", "TRACE", "TYPEALIAS", "TYPEALIAS_ALIAS", "TYPEALIAS_TARGET", 
-               "TYPEDEF", "TYPE_DECLARATOR", "TYPE_DECLARATOR_LIST", "TYPE_SPECIFIER_LIST", 
-               "UNARY_EXPRESSION_DEC", "UNARY_EXPRESSION_HEX", "UNARY_EXPRESSION_OCT", 
-               "UNARY_EXPRESSION_STRING", "UNARY_EXPRESSION_STRING_QUOTES", "VARIANT", 
-               "VARIANT_BODY", "VARIANT_NAME", "VARIANT_TAG"
+               "VOIDTOK", "WS", "ALIGN", "CLOCK", "CTF_EXPRESSION_TYPE", "CTF_EXPRESSION_VAL", 
+               "CTF_LEFT", "CTF_RIGHT", "DECLARATION", "DECLARATOR", "ENUM", "ENUM_BODY", 
+               "ENUM_CONTAINER_TYPE", "ENUM_ENUMERATOR", "ENUM_NAME", "ENUM_VALUE", "ENUM_VALUE_RANGE", 
+               "ENV", "EVENT", "FLOATING_POINT", "INTEGER", "LENGTH", "ROOT", "STREAM", 
+               "STRING", "STRUCT", "STRUCT_BODY", "STRUCT_NAME", "SV_DECLARATION", "TRACE", 
+               "TYPEALIAS", "TYPEALIAS_ALIAS", "TYPEALIAS_TARGET", "TYPEDEF", "TYPE_DECLARATOR", 
+               "TYPE_DECLARATOR_LIST", "TYPE_SPECIFIER_LIST", "UNARY_EXPRESSION_DEC", 
+               "UNARY_EXPRESSION_HEX", "UNARY_EXPRESSION_OCT", "UNARY_EXPRESSION_STRING", 
+               "UNARY_EXPRESSION_STRING_QUOTES", "VARIANT", "VARIANT_BODY", "VARIANT_NAME", 
+               "VARIANT_TAG"
        };
        public static final int EOF=-1;
        public static final int ALIGNTOK=4;
@@ -64,124 +64,122 @@ public class CTFParser extends Parser {
        public static final int ASSIGNMENT=6;
        public static final int BACKSLASH=7;
        public static final int BOOLTOK=8;
-       public static final int CALLSITETOK=9;
-       public static final int CHARACTER_LITERAL=10;
-       public static final int CHARTOK=11;
-       public static final int CHAR_CONTENT=12;
-       public static final int CLOCKTOK=13;
-       public static final int CLOSEBRAC=14;
-       public static final int COLON=15;
-       public static final int COMMENT=16;
-       public static final int COMMENT_CLOSE=17;
-       public static final int COMMENT_OPEN=18;
-       public static final int COMPLEXTOK=19;
-       public static final int CONSTTOK=20;
-       public static final int DECIMAL_LITERAL=21;
-       public static final int DIGIT=22;
-       public static final int DOT=23;
-       public static final int DOUBLEQUOTE=24;
-       public static final int DOUBLETOK=25;
-       public static final int ELIPSES=26;
-       public static final int ENUMTOK=27;
-       public static final int ENVTOK=28;
-       public static final int ESCAPE_SEQUENCE=29;
-       public static final int EVENTTOK=30;
-       public static final int FLOATINGPOINTTOK=31;
-       public static final int FLOATTOK=32;
-       public static final int GT=33;
-       public static final int HEXADECIMAL_ESCAPE=34;
-       public static final int HEX_DIGIT=35;
-       public static final int HEX_LITERAL=36;
-       public static final int HEX_PREFIX=37;
-       public static final int IDENTIFIER=38;
-       public static final int IMAGINARYTOK=39;
-       public static final int INFINITYTOK=40;
-       public static final int INTEGERTOK=41;
-       public static final int INTEGER_TYPES_SUFFIX=42;
-       public static final int INTTOK=43;
-       public static final int LCURL=44;
-       public static final int LINE_COMMENT=45;
-       public static final int LONGTOK=46;
-       public static final int LPAREN=47;
-       public static final int LT=48;
-       public static final int NANNUMBERTOK=49;
-       public static final int NINFINITYTOK=50;
-       public static final int NONDIGIT=51;
-       public static final int NONZERO_DIGIT=52;
-       public static final int OCTAL_ESCAPE=53;
-       public static final int OCTAL_LITERAL=54;
-       public static final int OCT_DIGIT=55;
-       public static final int OCT_PREFIX=56;
-       public static final int OPENBRAC=57;
-       public static final int POINTER=58;
-       public static final int RCURL=59;
-       public static final int RPAREN=60;
-       public static final int SEPARATOR=61;
-       public static final int SHORTTOK=62;
-       public static final int SIGN=63;
-       public static final int SIGNEDTOK=64;
-       public static final int SINGLEQUOTE=65;
-       public static final int STREAMTOK=66;
-       public static final int STRINGPREFIX=67;
-       public static final int STRINGTOK=68;
-       public static final int STRING_CONTENT=69;
-       public static final int STRING_LITERAL=70;
-       public static final int STRUCTTOK=71;
-       public static final int TERM=72;
-       public static final int TRACETOK=73;
-       public static final int TYPEALIASTOK=74;
-       public static final int TYPEDEFTOK=75;
-       public static final int TYPE_ASSIGNMENT=76;
-       public static final int UNICODE_ESCAPE=77;
-       public static final int UNSIGNEDTOK=78;
-       public static final int VARIANTTOK=79;
-       public static final int VOIDTOK=80;
-       public static final int WS=81;
-       public static final int ALIGN=82;
-       public static final int CALLSITE=83;
-       public static final int CLOCK=84;
-       public static final int CTF_EXPRESSION_TYPE=85;
-       public static final int CTF_EXPRESSION_VAL=86;
-       public static final int CTF_LEFT=87;
-       public static final int CTF_RIGHT=88;
-       public static final int DECLARATION=89;
-       public static final int DECLARATOR=90;
-       public static final int ENUM=91;
-       public static final int ENUM_BODY=92;
-       public static final int ENUM_CONTAINER_TYPE=93;
-       public static final int ENUM_ENUMERATOR=94;
-       public static final int ENUM_NAME=95;
-       public static final int ENUM_VALUE=96;
-       public static final int ENUM_VALUE_RANGE=97;
-       public static final int ENV=98;
-       public static final int EVENT=99;
-       public static final int FLOATING_POINT=100;
-       public static final int INTEGER=101;
-       public static final int LENGTH=102;
-       public static final int ROOT=103;
-       public static final int STREAM=104;
-       public static final int STRING=105;
-       public static final int STRUCT=106;
-       public static final int STRUCT_BODY=107;
-       public static final int STRUCT_NAME=108;
-       public static final int SV_DECLARATION=109;
-       public static final int TRACE=110;
-       public static final int TYPEALIAS=111;
-       public static final int TYPEALIAS_ALIAS=112;
-       public static final int TYPEALIAS_TARGET=113;
-       public static final int TYPEDEF=114;
-       public static final int TYPE_DECLARATOR=115;
-       public static final int TYPE_DECLARATOR_LIST=116;
-       public static final int TYPE_SPECIFIER_LIST=117;
-       public static final int UNARY_EXPRESSION_DEC=118;
-       public static final int UNARY_EXPRESSION_HEX=119;
-       public static final int UNARY_EXPRESSION_OCT=120;
-       public static final int UNARY_EXPRESSION_STRING=121;
-       public static final int UNARY_EXPRESSION_STRING_QUOTES=122;
-       public static final int VARIANT=123;
-       public static final int VARIANT_BODY=124;
-       public static final int VARIANT_NAME=125;
-       public static final int VARIANT_TAG=126;
+       public static final int CHARACTER_LITERAL=9;
+       public static final int CHARTOK=10;
+       public static final int CHAR_CONTENT=11;
+       public static final int CLOCKTOK=12;
+       public static final int CLOSEBRAC=13;
+       public static final int COLON=14;
+       public static final int COMMENT=15;
+       public static final int COMMENT_CLOSE=16;
+       public static final int COMMENT_OPEN=17;
+       public static final int COMPLEXTOK=18;
+       public static final int CONSTTOK=19;
+       public static final int DECIMAL_LITERAL=20;
+       public static final int DIGIT=21;
+       public static final int DOT=22;
+       public static final int DOUBLEQUOTE=23;
+       public static final int DOUBLETOK=24;
+       public static final int ELIPSES=25;
+       public static final int ENUMTOK=26;
+       public static final int ENVTOK=27;
+       public static final int ESCAPE_SEQUENCE=28;
+       public static final int EVENTTOK=29;
+       public static final int FLOATINGPOINTTOK=30;
+       public static final int FLOATTOK=31;
+       public static final int GT=32;
+       public static final int HEXADECIMAL_ESCAPE=33;
+       public static final int HEX_DIGIT=34;
+       public static final int HEX_LITERAL=35;
+       public static final int HEX_PREFIX=36;
+       public static final int IDENTIFIER=37;
+       public static final int IMAGINARYTOK=38;
+       public static final int INFINITYTOK=39;
+       public static final int INTEGERTOK=40;
+       public static final int INTEGER_TYPES_SUFFIX=41;
+       public static final int INTTOK=42;
+       public static final int LCURL=43;
+       public static final int LINE_COMMENT=44;
+       public static final int LONGTOK=45;
+       public static final int LPAREN=46;
+       public static final int LT=47;
+       public static final int NANNUMBERTOK=48;
+       public static final int NINFINITYTOK=49;
+       public static final int NONDIGIT=50;
+       public static final int NONZERO_DIGIT=51;
+       public static final int OCTAL_ESCAPE=52;
+       public static final int OCTAL_LITERAL=53;
+       public static final int OCT_DIGIT=54;
+       public static final int OCT_PREFIX=55;
+       public static final int OPENBRAC=56;
+       public static final int POINTER=57;
+       public static final int RCURL=58;
+       public static final int RPAREN=59;
+       public static final int SEPARATOR=60;
+       public static final int SHORTTOK=61;
+       public static final int SIGN=62;
+       public static final int SIGNEDTOK=63;
+       public static final int SINGLEQUOTE=64;
+       public static final int STREAMTOK=65;
+       public static final int STRINGPREFIX=66;
+       public static final int STRINGTOK=67;
+       public static final int STRING_CONTENT=68;
+       public static final int STRING_LITERAL=69;
+       public static final int STRUCTTOK=70;
+       public static final int TERM=71;
+       public static final int TRACETOK=72;
+       public static final int TYPEALIASTOK=73;
+       public static final int TYPEDEFTOK=74;
+       public static final int TYPE_ASSIGNMENT=75;
+       public static final int UNICODE_ESCAPE=76;
+       public static final int UNSIGNEDTOK=77;
+       public static final int VARIANTTOK=78;
+       public static final int VOIDTOK=79;
+       public static final int WS=80;
+       public static final int ALIGN=81;
+       public static final int CLOCK=82;
+       public static final int CTF_EXPRESSION_TYPE=83;
+       public static final int CTF_EXPRESSION_VAL=84;
+       public static final int CTF_LEFT=85;
+       public static final int CTF_RIGHT=86;
+       public static final int DECLARATION=87;
+       public static final int DECLARATOR=88;
+       public static final int ENUM=89;
+       public static final int ENUM_BODY=90;
+       public static final int ENUM_CONTAINER_TYPE=91;
+       public static final int ENUM_ENUMERATOR=92;
+       public static final int ENUM_NAME=93;
+       public static final int ENUM_VALUE=94;
+       public static final int ENUM_VALUE_RANGE=95;
+       public static final int ENV=96;
+       public static final int EVENT=97;
+       public static final int FLOATING_POINT=98;
+       public static final int INTEGER=99;
+       public static final int LENGTH=100;
+       public static final int ROOT=101;
+       public static final int STREAM=102;
+       public static final int STRING=103;
+       public static final int STRUCT=104;
+       public static final int STRUCT_BODY=105;
+       public static final int STRUCT_NAME=106;
+       public static final int SV_DECLARATION=107;
+       public static final int TRACE=108;
+       public static final int TYPEALIAS=109;
+       public static final int TYPEALIAS_ALIAS=110;
+       public static final int TYPEALIAS_TARGET=111;
+       public static final int TYPEDEF=112;
+       public static final int TYPE_DECLARATOR=113;
+       public static final int TYPE_DECLARATOR_LIST=114;
+       public static final int TYPE_SPECIFIER_LIST=115;
+       public static final int UNARY_EXPRESSION_DEC=116;
+       public static final int UNARY_EXPRESSION_HEX=117;
+       public static final int UNARY_EXPRESSION_OCT=118;
+       public static final int UNARY_EXPRESSION_STRING=119;
+       public static final int UNARY_EXPRESSION_STRING_QUOTES=120;
+       public static final int VARIANT=121;
+       public static final int VARIANT_BODY=122;
+       public static final int VARIANT_NAME=123;
+       public static final int VARIANT_TAG=124;
 
        // delegates
        public Parser[] getDelegates() {
@@ -301,7 +299,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "parse"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:190:1: parse : ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:189:1: parse : ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) ;
        public final CTFParser.parse_return parse() throws RecognitionException {
                Symbols_stack.push(new Symbols_scope());
 
@@ -321,10 +319,10 @@ public class CTFParser extends Parser {
                    Symbols_stack.peek().types = new HashSet<String>();
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:3: ( ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:5: ( declaration )+ EOF
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:3: ( ( declaration )+ EOF -> ^( ROOT ( declaration )+ ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:5: ( declaration )+ EOF
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:5: ( declaration )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:5: ( declaration )+
                        int cnt1=0;
                        loop1:
                        while (true) {
@@ -336,15 +334,15 @@ public class CTFParser extends Parser {
                                else if ( (LA1_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
                                        alt1=1;
                                }
-                               else if ( (LA1_0==CALLSITETOK||LA1_0==CLOCKTOK||LA1_0==ENVTOK||LA1_0==EVENTTOK||LA1_0==STREAMTOK||(LA1_0 >= TRACETOK && LA1_0 <= TYPEALIASTOK)) ) {
+                               else if ( (LA1_0==CLOCKTOK||LA1_0==ENVTOK||LA1_0==EVENTTOK||LA1_0==STREAMTOK||(LA1_0 >= TRACETOK && LA1_0 <= TYPEALIASTOK)) ) {
                                        alt1=1;
                                }
 
                                switch (alt1) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:5: declaration
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:5: declaration
                                        {
-                                       pushFollow(FOLLOW_declaration_in_parse449);
+                                       pushFollow(FOLLOW_declaration_in_parse442);
                                        declaration1=declaration();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -361,7 +359,7 @@ public class CTFParser extends Parser {
                                cnt1++;
                        }
 
-                       EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_parse452); if (state.failed) return retval; 
+                       EOF2=(Token)match(input,EOF,FOLLOW_EOF_in_parse445); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_EOF.add(EOF2);
 
                        // AST REWRITE
@@ -376,9 +374,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 195:22: -> ^( ROOT ( declaration )+ )
+                       // 194:22: -> ^( ROOT ( declaration )+ )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:195:25: ^( ROOT ( declaration )+ )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:194:25: ^( ROOT ( declaration )+ )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ROOT, "ROOT"), root_1);
@@ -431,7 +429,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "numberLiteral"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198:1: numberLiteral : ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:197:1: numberLiteral : ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) ) ;
        public final CTFParser.numberLiteral_return numberLiteral() throws RecognitionException {
                CTFParser.numberLiteral_return retval = new CTFParser.numberLiteral_return();
                retval.start = input.LT(1);
@@ -447,16 +445,16 @@ public class CTFParser extends Parser {
                CommonTree HEX_LITERAL4_tree=null;
                CommonTree DECIMAL_LITERAL5_tree=null;
                CommonTree OCTAL_LITERAL6_tree=null;
-               RewriteRuleTokenStream stream_SIGN=new RewriteRuleTokenStream(adaptor,"token SIGN");
                RewriteRuleTokenStream stream_OCTAL_LITERAL=new RewriteRuleTokenStream(adaptor,"token OCTAL_LITERAL");
                RewriteRuleTokenStream stream_HEX_LITERAL=new RewriteRuleTokenStream(adaptor,"token HEX_LITERAL");
+               RewriteRuleTokenStream stream_SIGN=new RewriteRuleTokenStream(adaptor,"token SIGN");
                RewriteRuleTokenStream stream_DECIMAL_LITERAL=new RewriteRuleTokenStream(adaptor,"token DECIMAL_LITERAL");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:3: ( ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:5: ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198:3: ( ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198:5: ( SIGN )* ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:5: ( SIGN )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198:5: ( SIGN )*
                        loop2:
                        while (true) {
                                int alt2=2;
@@ -467,9 +465,9 @@ public class CTFParser extends Parser {
 
                                switch (alt2) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:5: SIGN
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:198:5: SIGN
                                        {
-                                       SIGN3=(Token)match(input,SIGN,FOLLOW_SIGN_in_numberLiteral474); if (state.failed) return retval; 
+                                       SIGN3=(Token)match(input,SIGN,FOLLOW_SIGN_in_numberLiteral467); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_SIGN.add(SIGN3);
 
                                        }
@@ -480,7 +478,7 @@ public class CTFParser extends Parser {
                                }
                        }
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:7: ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:7: ( HEX_LITERAL -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* ) | DECIMAL_LITERAL -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* ) | OCTAL_LITERAL -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* ) )
                        int alt3=3;
                        switch ( input.LA(1) ) {
                        case HEX_LITERAL:
@@ -506,9 +504,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt3) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:9: HEX_LITERAL
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:9: HEX_LITERAL
                                        {
-                                       HEX_LITERAL4=(Token)match(input,HEX_LITERAL,FOLLOW_HEX_LITERAL_in_numberLiteral485); if (state.failed) return retval; 
+                                       HEX_LITERAL4=(Token)match(input,HEX_LITERAL,FOLLOW_HEX_LITERAL_in_numberLiteral478); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_HEX_LITERAL.add(HEX_LITERAL4);
 
                                        // AST REWRITE
@@ -523,14 +521,14 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 200:21: -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
+                                       // 199:21: -> ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:24: ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:24: ^( UNARY_EXPRESSION_HEX HEX_LITERAL ( SIGN )* )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_HEX, "UNARY_EXPRESSION_HEX"), root_1);
                                                adaptor.addChild(root_1, stream_HEX_LITERAL.nextNode());
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:59: ( SIGN )*
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:199:59: ( SIGN )*
                                                while ( stream_SIGN.hasNext() ) {
                                                        adaptor.addChild(root_1, stream_SIGN.nextNode());
                                                }
@@ -548,13 +546,13 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:9: DECIMAL_LITERAL
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:9: DECIMAL_LITERAL
                                        {
-                                       DECIMAL_LITERAL5=(Token)match(input,DECIMAL_LITERAL,FOLLOW_DECIMAL_LITERAL_in_numberLiteral506); if (state.failed) return retval; 
+                                       DECIMAL_LITERAL5=(Token)match(input,DECIMAL_LITERAL,FOLLOW_DECIMAL_LITERAL_in_numberLiteral499); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_DECIMAL_LITERAL.add(DECIMAL_LITERAL5);
 
                                        // AST REWRITE
-                                       // elements: DECIMAL_LITERAL, SIGN
+                                       // elements: SIGN, DECIMAL_LITERAL
                                        // token labels: 
                                        // rule labels: retval
                                        // token list labels: 
@@ -565,14 +563,14 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 201:25: -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
+                                       // 200:25: -> ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:28: ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:28: ^( UNARY_EXPRESSION_DEC DECIMAL_LITERAL ( SIGN )* )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_DEC, "UNARY_EXPRESSION_DEC"), root_1);
                                                adaptor.addChild(root_1, stream_DECIMAL_LITERAL.nextNode());
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:67: ( SIGN )*
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:200:67: ( SIGN )*
                                                while ( stream_SIGN.hasNext() ) {
                                                        adaptor.addChild(root_1, stream_SIGN.nextNode());
                                                }
@@ -590,9 +588,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:202:9: OCTAL_LITERAL
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:9: OCTAL_LITERAL
                                        {
-                                       OCTAL_LITERAL6=(Token)match(input,OCTAL_LITERAL,FOLLOW_OCTAL_LITERAL_in_numberLiteral527); if (state.failed) return retval; 
+                                       OCTAL_LITERAL6=(Token)match(input,OCTAL_LITERAL,FOLLOW_OCTAL_LITERAL_in_numberLiteral520); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_OCTAL_LITERAL.add(OCTAL_LITERAL6);
 
                                        // AST REWRITE
@@ -607,14 +605,14 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 202:23: -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
+                                       // 201:23: -> ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:202:26: ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:26: ^( UNARY_EXPRESSION_OCT OCTAL_LITERAL ( SIGN )* )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_OCT, "UNARY_EXPRESSION_OCT"), root_1);
                                                adaptor.addChild(root_1, stream_OCTAL_LITERAL.nextNode());
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:202:63: ( SIGN )*
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:201:63: ( SIGN )*
                                                while ( stream_SIGN.hasNext() ) {
                                                        adaptor.addChild(root_1, stream_SIGN.nextNode());
                                                }
@@ -664,7 +662,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "primaryExpression"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:1: primaryExpression : ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | numberLiteral | enumConstant | CHARACTER_LITERAL );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:205:1: primaryExpression : ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | numberLiteral | enumConstant | CHARACTER_LITERAL );
        public final CTFParser.primaryExpression_return primaryExpression() throws RecognitionException {
                CTFParser.primaryExpression_return retval = new CTFParser.primaryExpression_return();
                retval.start = input.LT(1);
@@ -686,7 +684,7 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_ctfKeyword=new RewriteRuleSubtreeStream(adaptor,"rule ctfKeyword");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:3: ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | numberLiteral | enumConstant | CHARACTER_LITERAL )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:3: ( ( IDENTIFIER )=> IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ( ctfKeyword )=> ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) | ( STRING_LITERAL )=> STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | numberLiteral | enumConstant | CHARACTER_LITERAL )
                        int alt4=6;
                        switch ( input.LA(1) ) {
                        case IDENTIFIER:
@@ -749,9 +747,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt4) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:5: ( IDENTIFIER )=> IDENTIFIER
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:5: ( IDENTIFIER )=> IDENTIFIER
                                        {
-                                       IDENTIFIER7=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_primaryExpression565); if (state.failed) return retval; 
+                                       IDENTIFIER7=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_primaryExpression558); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER7);
 
                                        // AST REWRITE
@@ -766,9 +764,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 208:7: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
+                                       // 207:7: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:10: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:10: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_1);
@@ -785,9 +783,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:5: ( ctfKeyword )=> ctfKeyword
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:5: ( ctfKeyword )=> ctfKeyword
                                        {
-                                       pushFollow(FOLLOW_ctfKeyword_in_primaryExpression591);
+                                       pushFollow(FOLLOW_ctfKeyword_in_primaryExpression584);
                                        ctfKeyword8=ctfKeyword();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -804,9 +802,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 209:32: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
+                                       // 208:32: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:35: ^( UNARY_EXPRESSION_STRING ctfKeyword )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:35: ^( UNARY_EXPRESSION_STRING ctfKeyword )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_1);
@@ -823,9 +821,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:210:5: ( STRING_LITERAL )=> STRING_LITERAL
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:5: ( STRING_LITERAL )=> STRING_LITERAL
                                        {
-                                       STRING_LITERAL9=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_primaryExpression611); if (state.failed) return retval; 
+                                       STRING_LITERAL9=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_primaryExpression604); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_STRING_LITERAL.add(STRING_LITERAL9);
 
                                        // AST REWRITE
@@ -840,9 +838,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 211:7: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
+                                       // 210:7: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:211:10: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:210:10: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING_QUOTES, "UNARY_EXPRESSION_STRING_QUOTES"), root_1);
@@ -859,12 +857,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 4 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:213:5: numberLiteral
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:212:5: numberLiteral
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_numberLiteral_in_primaryExpression636);
+                                       pushFollow(FOLLOW_numberLiteral_in_primaryExpression629);
                                        numberLiteral10=numberLiteral();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -873,12 +871,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 5 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:214:5: enumConstant
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:213:5: enumConstant
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_enumConstant_in_primaryExpression642);
+                                       pushFollow(FOLLOW_enumConstant_in_primaryExpression635);
                                        enumConstant11=enumConstant();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -887,12 +885,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 6 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:215:5: CHARACTER_LITERAL
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:214:5: CHARACTER_LITERAL
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       CHARACTER_LITERAL12=(Token)match(input,CHARACTER_LITERAL,FOLLOW_CHARACTER_LITERAL_in_primaryExpression648); if (state.failed) return retval;
+                                       CHARACTER_LITERAL12=(Token)match(input,CHARACTER_LITERAL,FOLLOW_CHARACTER_LITERAL_in_primaryExpression641); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        CHARACTER_LITERAL12_tree = (CommonTree)adaptor.create(CHARACTER_LITERAL12);
                                        adaptor.addChild(root_0, CHARACTER_LITERAL12_tree);
@@ -930,7 +928,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "postfixExpressionSuffix"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:218:1: postfixExpressionSuffix : ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:217:1: postfixExpressionSuffix : ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) );
        public final CTFParser.postfixExpressionSuffix_return postfixExpressionSuffix() throws RecognitionException {
                CTFParser.postfixExpressionSuffix_return retval = new CTFParser.postfixExpressionSuffix_return();
                retval.start = input.LT(1);
@@ -952,7 +950,7 @@ public class CTFParser extends Parser {
                RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:3: ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:218:3: ( OPENBRAC unaryExpression CLOSEBRAC !| (ref= DOT |ref= ARROW ) IDENTIFIER -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) ) )
                        int alt6=2;
                        int LA6_0 = input.LA(1);
                        if ( (LA6_0==OPENBRAC) ) {
@@ -971,30 +969,30 @@ public class CTFParser extends Parser {
 
                        switch (alt6) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:5: OPENBRAC unaryExpression CLOSEBRAC !
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:218:5: OPENBRAC unaryExpression CLOSEBRAC !
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       OPENBRAC13=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_postfixExpressionSuffix661); if (state.failed) return retval;
+                                       OPENBRAC13=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_postfixExpressionSuffix654); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        OPENBRAC13_tree = (CommonTree)adaptor.create(OPENBRAC13);
                                        adaptor.addChild(root_0, OPENBRAC13_tree);
                                        }
 
-                                       pushFollow(FOLLOW_unaryExpression_in_postfixExpressionSuffix663);
+                                       pushFollow(FOLLOW_unaryExpression_in_postfixExpressionSuffix656);
                                        unaryExpression14=unaryExpression();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) adaptor.addChild(root_0, unaryExpression14.getTree());
 
-                                       CLOSEBRAC15=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix665); if (state.failed) return retval;
+                                       CLOSEBRAC15=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix658); if (state.failed) return retval;
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:5: (ref= DOT |ref= ARROW ) IDENTIFIER
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:5: (ref= DOT |ref= ARROW ) IDENTIFIER
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:5: (ref= DOT |ref= ARROW )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:5: (ref= DOT |ref= ARROW )
                                        int alt5=2;
                                        int LA5_0 = input.LA(1);
                                        if ( (LA5_0==DOT) ) {
@@ -1013,17 +1011,17 @@ public class CTFParser extends Parser {
 
                                        switch (alt5) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:6: ref= DOT
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:6: ref= DOT
                                                        {
-                                                       ref=(Token)match(input,DOT,FOLLOW_DOT_in_postfixExpressionSuffix675); if (state.failed) return retval; 
+                                                       ref=(Token)match(input,DOT,FOLLOW_DOT_in_postfixExpressionSuffix668); if (state.failed) return retval; 
                                                        if ( state.backtracking==0 ) stream_DOT.add(ref);
 
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:16: ref= ARROW
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:219:16: ref= ARROW
                                                        {
-                                                       ref=(Token)match(input,ARROW,FOLLOW_ARROW_in_postfixExpressionSuffix681); if (state.failed) return retval; 
+                                                       ref=(Token)match(input,ARROW,FOLLOW_ARROW_in_postfixExpressionSuffix674); if (state.failed) return retval; 
                                                        if ( state.backtracking==0 ) stream_ARROW.add(ref);
 
                                                        }
@@ -1031,7 +1029,7 @@ public class CTFParser extends Parser {
 
                                        }
 
-                                       IDENTIFIER16=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_postfixExpressionSuffix684); if (state.failed) return retval; 
+                                       IDENTIFIER16=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_postfixExpressionSuffix677); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER16);
 
                                        // AST REWRITE
@@ -1047,13 +1045,13 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 221:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
+                                       // 220:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:221:10: ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:10: ^( $ref ^( UNARY_EXPRESSION_STRING IDENTIFIER ) )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot(stream_ref.nextNode(), root_1);
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:221:17: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:220:17: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
                                                {
                                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_2);
@@ -1102,7 +1100,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "postfixCtfExpression"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:1: postfixCtfExpression : (ref= DOT ) ctfSpecifierHead -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:223:1: postfixCtfExpression : (ref= DOT ) ctfSpecifierHead -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) ) ;
        public final CTFParser.postfixCtfExpression_return postfixCtfExpression() throws RecognitionException {
                CTFParser.postfixCtfExpression_return retval = new CTFParser.postfixCtfExpression_return();
                retval.start = input.LT(1);
@@ -1117,18 +1115,18 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_ctfSpecifierHead=new RewriteRuleSubtreeStream(adaptor,"rule ctfSpecifierHead");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:3: ( (ref= DOT ) ctfSpecifierHead -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:5: (ref= DOT ) ctfSpecifierHead
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:3: ( (ref= DOT ) ctfSpecifierHead -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:5: (ref= DOT ) ctfSpecifierHead
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:5: (ref= DOT )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:6: ref= DOT
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:5: (ref= DOT )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:224:6: ref= DOT
                        {
-                       ref=(Token)match(input,DOT,FOLLOW_DOT_in_postfixCtfExpression719); if (state.failed) return retval; 
+                       ref=(Token)match(input,DOT,FOLLOW_DOT_in_postfixCtfExpression712); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_DOT.add(ref);
 
                        }
 
-                       pushFollow(FOLLOW_ctfSpecifierHead_in_postfixCtfExpression722);
+                       pushFollow(FOLLOW_ctfSpecifierHead_in_postfixCtfExpression715);
                        ctfSpecifierHead17=ctfSpecifierHead();
                        state._fsp--;
                        if (state.failed) return retval;
@@ -1146,13 +1144,13 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 226:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) )
+                       // 225:7: -> ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:226:10: ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:10: ^( $ref ^( UNARY_EXPRESSION_STRING ctfSpecifierHead ) )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot(stream_ref.nextNode(), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:226:17: ^( UNARY_EXPRESSION_STRING ctfSpecifierHead )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:225:17: ^( UNARY_EXPRESSION_STRING ctfSpecifierHead )
                                {
                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_2);
@@ -1199,7 +1197,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "postfixExpression"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:1: postfixExpression : ( ( primaryExpression ( postfixExpressionSuffix )* ) | ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ ) );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:228:1: postfixExpression : ( ( primaryExpression ( postfixExpressionSuffix )* ) | ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ ) );
        public final CTFParser.postfixExpression_return postfixExpression() throws RecognitionException {
                CTFParser.postfixExpression_return retval = new CTFParser.postfixExpression_return();
                retval.start = input.LT(1);
@@ -1214,7 +1212,7 @@ public class CTFParser extends Parser {
 
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:3: ( ( primaryExpression ( postfixExpressionSuffix )* ) | ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:3: ( ( primaryExpression ( postfixExpressionSuffix )* ) | ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ ) )
                        int alt10=2;
                        switch ( input.LA(1) ) {
                        case ALIGNTOK:
@@ -1236,7 +1234,6 @@ public class CTFParser extends Parser {
                                alt10=1;
                                }
                                break;
-                       case CALLSITETOK:
                        case CLOCKTOK:
                        case ENVTOK:
                        case STREAMTOK:
@@ -1253,21 +1250,21 @@ public class CTFParser extends Parser {
                        }
                        switch (alt10) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:5: ( primaryExpression ( postfixExpressionSuffix )* )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:5: ( primaryExpression ( postfixExpressionSuffix )* )
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:5: ( primaryExpression ( postfixExpressionSuffix )* )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:6: primaryExpression ( postfixExpressionSuffix )*
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:5: ( primaryExpression ( postfixExpressionSuffix )* )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:6: primaryExpression ( postfixExpressionSuffix )*
                                        {
-                                       pushFollow(FOLLOW_primaryExpression_in_postfixExpression755);
+                                       pushFollow(FOLLOW_primaryExpression_in_postfixExpression748);
                                        primaryExpression18=primaryExpression();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) adaptor.addChild(root_0, primaryExpression18.getTree());
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:24: ( postfixExpressionSuffix )*
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:24: ( postfixExpressionSuffix )*
                                        loop7:
                                        while (true) {
                                                int alt7=2;
@@ -1278,9 +1275,9 @@ public class CTFParser extends Parser {
 
                                                switch (alt7) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:24: postfixExpressionSuffix
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:229:24: postfixExpressionSuffix
                                                        {
-                                                       pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression757);
+                                                       pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression750);
                                                        postfixExpressionSuffix19=postfixExpressionSuffix();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -1299,28 +1296,28 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:5: ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:5: ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ )
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:5: ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:6: ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:5: ( ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+ )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:6: ctfSpecifierHead ( postfixCtfExpression )* ( postfixExpressionSuffix )+
                                        {
-                                       pushFollow(FOLLOW_ctfSpecifierHead_in_postfixExpression766);
+                                       pushFollow(FOLLOW_ctfSpecifierHead_in_postfixExpression759);
                                        ctfSpecifierHead20=ctfSpecifierHead();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) adaptor.addChild(root_0, ctfSpecifierHead20.getTree());
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:23: ( postfixCtfExpression )*
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:23: ( postfixCtfExpression )*
                                        loop8:
                                        while (true) {
                                                int alt8=2;
                                                int LA8_0 = input.LA(1);
                                                if ( (LA8_0==DOT) ) {
                                                        int LA8_2 = input.LA(2);
-                                                       if ( (LA8_2==CALLSITETOK||LA8_2==CLOCKTOK||LA8_2==ENVTOK||LA8_2==EVENTTOK||LA8_2==STREAMTOK||LA8_2==TRACETOK) ) {
+                                                       if ( (LA8_2==CLOCKTOK||LA8_2==ENVTOK||LA8_2==EVENTTOK||LA8_2==STREAMTOK||LA8_2==TRACETOK) ) {
                                                                alt8=1;
                                                        }
 
@@ -1328,9 +1325,9 @@ public class CTFParser extends Parser {
 
                                                switch (alt8) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:23: postfixCtfExpression
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:23: postfixCtfExpression
                                                        {
-                                                       pushFollow(FOLLOW_postfixCtfExpression_in_postfixExpression768);
+                                                       pushFollow(FOLLOW_postfixCtfExpression_in_postfixExpression761);
                                                        postfixCtfExpression21=postfixCtfExpression();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -1344,7 +1341,7 @@ public class CTFParser extends Parser {
                                                }
                                        }
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:45: ( postfixExpressionSuffix )+
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:45: ( postfixExpressionSuffix )+
                                        int cnt9=0;
                                        loop9:
                                        while (true) {
@@ -1356,9 +1353,9 @@ public class CTFParser extends Parser {
 
                                                switch (alt9) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:231:45: postfixExpressionSuffix
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:230:45: postfixExpressionSuffix
                                                        {
-                                                       pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression771);
+                                                       pushFollow(FOLLOW_postfixExpressionSuffix_in_postfixExpression764);
                                                        postfixExpressionSuffix22=postfixExpressionSuffix();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -1410,7 +1407,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "unaryExpression"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:234:1: unaryExpression : postfixExpression ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:233:1: unaryExpression : postfixExpression ;
        public final CTFParser.unaryExpression_return unaryExpression() throws RecognitionException {
                CTFParser.unaryExpression_return retval = new CTFParser.unaryExpression_return();
                retval.start = input.LT(1);
@@ -1421,13 +1418,13 @@ public class CTFParser extends Parser {
 
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:235:3: ( postfixExpression )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:235:5: postfixExpression
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:234:3: ( postfixExpression )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:234:5: postfixExpression
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       pushFollow(FOLLOW_postfixExpression_in_unaryExpression787);
+                       pushFollow(FOLLOW_postfixExpression_in_unaryExpression780);
                        postfixExpression23=postfixExpression();
                        state._fsp--;
                        if (state.failed) return retval;
@@ -1463,7 +1460,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "enumConstant"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:239:1: enumConstant : ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:238:1: enumConstant : ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) );
        public final CTFParser.enumConstant_return enumConstant() throws RecognitionException {
                CTFParser.enumConstant_return retval = new CTFParser.enumConstant_return();
                retval.start = input.LT(1);
@@ -1481,7 +1478,7 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_ctfKeyword=new RewriteRuleSubtreeStream(adaptor,"rule ctfKeyword");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:3: ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:239:3: ( STRING_LITERAL -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL ) | IDENTIFIER -> ^( UNARY_EXPRESSION_STRING IDENTIFIER ) | ctfKeyword -> ^( UNARY_EXPRESSION_STRING ctfKeyword ) )
                        int alt11=3;
                        switch ( input.LA(1) ) {
                        case STRING_LITERAL:
@@ -1510,9 +1507,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt11) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:5: STRING_LITERAL
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:239:5: STRING_LITERAL
                                        {
-                                       STRING_LITERAL24=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_enumConstant804); if (state.failed) return retval; 
+                                       STRING_LITERAL24=(Token)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_enumConstant797); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_STRING_LITERAL.add(STRING_LITERAL24);
 
                                        // AST REWRITE
@@ -1527,9 +1524,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 240:20: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
+                                       // 239:20: -> ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:23: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:239:23: ^( UNARY_EXPRESSION_STRING_QUOTES STRING_LITERAL )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING_QUOTES, "UNARY_EXPRESSION_STRING_QUOTES"), root_1);
@@ -1546,9 +1543,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:241:5: IDENTIFIER
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:5: IDENTIFIER
                                        {
-                                       IDENTIFIER25=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_enumConstant818); if (state.failed) return retval; 
+                                       IDENTIFIER25=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_enumConstant811); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER25);
 
                                        // AST REWRITE
@@ -1563,9 +1560,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 241:16: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
+                                       // 240:16: -> ^( UNARY_EXPRESSION_STRING IDENTIFIER )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:241:19: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:240:19: ^( UNARY_EXPRESSION_STRING IDENTIFIER )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_1);
@@ -1582,9 +1579,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:242:5: ctfKeyword
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:241:5: ctfKeyword
                                        {
-                                       pushFollow(FOLLOW_ctfKeyword_in_enumConstant832);
+                                       pushFollow(FOLLOW_ctfKeyword_in_enumConstant825);
                                        ctfKeyword26=ctfKeyword();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -1601,9 +1598,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 242:16: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
+                                       // 241:16: -> ^( UNARY_EXPRESSION_STRING ctfKeyword )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:242:19: ^( UNARY_EXPRESSION_STRING ctfKeyword )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:241:19: ^( UNARY_EXPRESSION_STRING ctfKeyword )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(UNARY_EXPRESSION_STRING, "UNARY_EXPRESSION_STRING"), root_1);
@@ -1654,7 +1651,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "declaration"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:247:1: declaration : ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !);
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:246:1: declaration : ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !);
        public final CTFParser.declaration_return declaration() throws RecognitionException {
                declaration_stack.push(new declaration_scope());
                CTFParser.declaration_return retval = new CTFParser.declaration_return();
@@ -1678,7 +1675,7 @@ public class CTFParser extends Parser {
                  typedefOff();
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:254:3: ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !)
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:253:3: ( declarationSpecifiers ( declaratorList )? TERM -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) ) -> ^( DECLARATION declarationSpecifiers ( declaratorList )? ) | ctfSpecifier TERM !)
                        int alt13=2;
                        int LA13_0 = input.LA(1);
                        if ( (LA13_0==BOOLTOK||LA13_0==CHARTOK||(LA13_0 >= COMPLEXTOK && LA13_0 <= CONSTTOK)||LA13_0==DOUBLETOK||LA13_0==ENUMTOK||(LA13_0 >= FLOATINGPOINTTOK && LA13_0 <= FLOATTOK)||LA13_0==IMAGINARYTOK||LA13_0==INTEGERTOK||LA13_0==INTTOK||LA13_0==LONGTOK||LA13_0==SHORTTOK||LA13_0==SIGNEDTOK||LA13_0==STRINGTOK||LA13_0==STRUCTTOK||LA13_0==TYPEDEFTOK||(LA13_0 >= UNSIGNEDTOK && LA13_0 <= VOIDTOK)) ) {
@@ -1687,7 +1684,7 @@ public class CTFParser extends Parser {
                        else if ( (LA13_0==IDENTIFIER) && (( inTypealiasAlias() || isTypeName(input.LT(1).getText()) ))) {
                                alt13=1;
                        }
-                       else if ( (LA13_0==CALLSITETOK||LA13_0==CLOCKTOK||LA13_0==ENVTOK||LA13_0==EVENTTOK||LA13_0==STREAMTOK||(LA13_0 >= TRACETOK && LA13_0 <= TYPEALIASTOK)) ) {
+                       else if ( (LA13_0==CLOCKTOK||LA13_0==ENVTOK||LA13_0==EVENTTOK||LA13_0==STREAMTOK||(LA13_0 >= TRACETOK && LA13_0 <= TYPEALIASTOK)) ) {
                                alt13=2;
                        }
 
@@ -1700,14 +1697,14 @@ public class CTFParser extends Parser {
 
                        switch (alt13) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:254:5: declarationSpecifiers ( declaratorList )? TERM
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:253:5: declarationSpecifiers ( declaratorList )? TERM
                                        {
-                                       pushFollow(FOLLOW_declarationSpecifiers_in_declaration863);
+                                       pushFollow(FOLLOW_declarationSpecifiers_in_declaration856);
                                        declarationSpecifiers27=declarationSpecifiers();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_declarationSpecifiers.add(declarationSpecifiers27.getTree());
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:254:27: ( declaratorList )?
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:253:27: ( declaratorList )?
                                        int alt12=2;
                                        int LA12_0 = input.LA(1);
                                        if ( (LA12_0==IDENTIFIER||LA12_0==POINTER) ) {
@@ -1715,9 +1712,9 @@ public class CTFParser extends Parser {
                                        }
                                        switch (alt12) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:254:27: declaratorList
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:253:27: declaratorList
                                                        {
-                                                       pushFollow(FOLLOW_declaratorList_in_declaration865);
+                                                       pushFollow(FOLLOW_declaratorList_in_declaration858);
                                                        declaratorList28=declaratorList();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -1727,7 +1724,7 @@ public class CTFParser extends Parser {
 
                                        }
 
-                                       TERM29=(Token)match(input,TERM,FOLLOW_TERM_in_declaration868); if (state.failed) return retval; 
+                                       TERM29=(Token)match(input,TERM,FOLLOW_TERM_in_declaration861); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_TERM.add(TERM29);
 
                                        // AST REWRITE
@@ -1742,13 +1739,13 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 257:7: -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
+                                       // 256:7: -> {inTypedef()}? ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
                                        if (inTypedef()) {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:258:10: ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:257:10: ^( DECLARATION ^( TYPEDEF declaratorList declarationSpecifiers ) )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(DECLARATION, "DECLARATION"), root_1);
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:258:24: ^( TYPEDEF declaratorList declarationSpecifiers )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:257:24: ^( TYPEDEF declaratorList declarationSpecifiers )
                                                {
                                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEDEF, "TYPEDEF"), root_2);
@@ -1762,14 +1759,14 @@ public class CTFParser extends Parser {
 
                                        }
 
-                                       else // 259:7: -> ^( DECLARATION declarationSpecifiers ( declaratorList )? )
+                                       else // 258:7: -> ^( DECLARATION declarationSpecifiers ( declaratorList )? )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:259:10: ^( DECLARATION declarationSpecifiers ( declaratorList )? )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:258:10: ^( DECLARATION declarationSpecifiers ( declaratorList )? )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(DECLARATION, "DECLARATION"), root_1);
                                                adaptor.addChild(root_1, stream_declarationSpecifiers.nextTree());
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:259:46: ( declaratorList )?
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:258:46: ( declaratorList )?
                                                if ( stream_declaratorList.hasNext() ) {
                                                        adaptor.addChild(root_1, stream_declaratorList.nextTree());
                                                }
@@ -1787,18 +1784,18 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:260:5: ctfSpecifier TERM !
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:259:5: ctfSpecifier TERM !
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_ctfSpecifier_in_declaration936);
+                                       pushFollow(FOLLOW_ctfSpecifier_in_declaration929);
                                        ctfSpecifier30=ctfSpecifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) adaptor.addChild(root_0, ctfSpecifier30.getTree());
 
-                                       TERM31=(Token)match(input,TERM,FOLLOW_TERM_in_declaration938); if (state.failed) return retval;
+                                       TERM31=(Token)match(input,TERM,FOLLOW_TERM_in_declaration931); if (state.failed) return retval;
                                        }
                                        break;
 
@@ -1832,7 +1829,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "declarationSpecifiers"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:263:1: declarationSpecifiers : ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:262:1: declarationSpecifiers : ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
        public final CTFParser.declarationSpecifiers_return declarationSpecifiers() throws RecognitionException {
                CTFParser.declarationSpecifiers_return retval = new CTFParser.declarationSpecifiers_return();
                retval.start = input.LT(1);
@@ -1844,14 +1841,14 @@ public class CTFParser extends Parser {
                ParserRuleReturnScope typeSpecifier34 =null;
 
                RewriteRuleSubtreeStream stream_typeSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule typeSpecifier");
-               RewriteRuleSubtreeStream stream_typeQualifier=new RewriteRuleSubtreeStream(adaptor,"rule typeQualifier");
                RewriteRuleSubtreeStream stream_storageClassSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule storageClassSpecifier");
+               RewriteRuleSubtreeStream stream_typeQualifier=new RewriteRuleSubtreeStream(adaptor,"rule typeQualifier");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:264:3: ( ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:264:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:263:3: ( ( storageClassSpecifier | typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:263:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:264:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:263:5: ( storageClassSpecifier | typeQualifier | typeSpecifier )+
                        int cnt14=0;
                        loop14:
                        while (true) {
@@ -1901,9 +1898,9 @@ public class CTFParser extends Parser {
                                }
                                switch (alt14) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:267:9: storageClassSpecifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:266:9: storageClassSpecifier
                                        {
-                                       pushFollow(FOLLOW_storageClassSpecifier_in_declarationSpecifiers976);
+                                       pushFollow(FOLLOW_storageClassSpecifier_in_declarationSpecifiers969);
                                        storageClassSpecifier32=storageClassSpecifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -1911,9 +1908,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:268:9: typeQualifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:267:9: typeQualifier
                                        {
-                                       pushFollow(FOLLOW_typeQualifier_in_declarationSpecifiers986);
+                                       pushFollow(FOLLOW_typeQualifier_in_declarationSpecifiers979);
                                        typeQualifier33=typeQualifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -1921,9 +1918,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:269:9: typeSpecifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:268:9: typeSpecifier
                                        {
-                                       pushFollow(FOLLOW_typeSpecifier_in_declarationSpecifiers996);
+                                       pushFollow(FOLLOW_typeSpecifier_in_declarationSpecifiers989);
                                        typeSpecifier34=typeSpecifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -1952,19 +1949,19 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 270:6: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
+                       // 269:6: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:270:9: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:269:9: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_SPECIFIER_LIST, "TYPE_SPECIFIER_LIST"), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:270:31: ( typeQualifier )*
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:269:31: ( typeQualifier )*
                                while ( stream_typeQualifier.hasNext() ) {
                                        adaptor.addChild(root_1, stream_typeQualifier.nextTree());
                                }
                                stream_typeQualifier.reset();
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:270:46: ( typeSpecifier )*
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:269:46: ( typeSpecifier )*
                                while ( stream_typeSpecifier.hasNext() ) {
                                        adaptor.addChild(root_1, stream_typeSpecifier.nextTree());
                                }
@@ -2009,7 +2006,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "declaratorList"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:1: declaratorList : declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:272:1: declaratorList : declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) ;
        public final CTFParser.declaratorList_return declaratorList() throws RecognitionException {
                CTFParser.declaratorList_return retval = new CTFParser.declaratorList_return();
                retval.start = input.LT(1);
@@ -2025,15 +2022,15 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_declarator=new RewriteRuleSubtreeStream(adaptor,"rule declarator");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:3: ( declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:5: declarator ( SEPARATOR declarator )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:3: ( declarator ( SEPARATOR declarator )* -> ^( TYPE_DECLARATOR_LIST ( declarator )+ ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:5: declarator ( SEPARATOR declarator )*
                        {
-                       pushFollow(FOLLOW_declarator_in_declaratorList1026);
+                       pushFollow(FOLLOW_declarator_in_declaratorList1019);
                        declarator35=declarator();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_declarator.add(declarator35.getTree());
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:16: ( SEPARATOR declarator )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:16: ( SEPARATOR declarator )*
                        loop15:
                        while (true) {
                                int alt15=2;
@@ -2044,12 +2041,12 @@ public class CTFParser extends Parser {
 
                                switch (alt15) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:17: SEPARATOR declarator
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:273:17: SEPARATOR declarator
                                        {
-                                       SEPARATOR36=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_declaratorList1029); if (state.failed) return retval; 
+                                       SEPARATOR36=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_declaratorList1022); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR36);
 
-                                       pushFollow(FOLLOW_declarator_in_declaratorList1031);
+                                       pushFollow(FOLLOW_declarator_in_declaratorList1024);
                                        declarator37=declarator();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -2074,9 +2071,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 275:7: -> ^( TYPE_DECLARATOR_LIST ( declarator )+ )
+                       // 274:7: -> ^( TYPE_DECLARATOR_LIST ( declarator )+ )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:275:10: ^( TYPE_DECLARATOR_LIST ( declarator )+ )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:274:10: ^( TYPE_DECLARATOR_LIST ( declarator )+ )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR_LIST, "TYPE_DECLARATOR_LIST"), root_1);
@@ -2127,7 +2124,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "abstractDeclaratorList"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:1: abstractDeclaratorList : abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:277:1: abstractDeclaratorList : abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) ;
        public final CTFParser.abstractDeclaratorList_return abstractDeclaratorList() throws RecognitionException {
                CTFParser.abstractDeclaratorList_return retval = new CTFParser.abstractDeclaratorList_return();
                retval.start = input.LT(1);
@@ -2143,15 +2140,15 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_abstractDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule abstractDeclarator");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:3: ( abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:5: abstractDeclarator ( SEPARATOR abstractDeclarator )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:3: ( abstractDeclarator ( SEPARATOR abstractDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:5: abstractDeclarator ( SEPARATOR abstractDeclarator )*
                        {
-                       pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1061);
+                       pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1054);
                        abstractDeclarator38=abstractDeclarator();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_abstractDeclarator.add(abstractDeclarator38.getTree());
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:24: ( SEPARATOR abstractDeclarator )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:24: ( SEPARATOR abstractDeclarator )*
                        loop16:
                        while (true) {
                                int alt16=2;
@@ -2162,12 +2159,12 @@ public class CTFParser extends Parser {
 
                                switch (alt16) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:25: SEPARATOR abstractDeclarator
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:278:25: SEPARATOR abstractDeclarator
                                        {
-                                       SEPARATOR39=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_abstractDeclaratorList1064); if (state.failed) return retval; 
+                                       SEPARATOR39=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_abstractDeclaratorList1057); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR39);
 
-                                       pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1066);
+                                       pushFollow(FOLLOW_abstractDeclarator_in_abstractDeclaratorList1059);
                                        abstractDeclarator40=abstractDeclarator();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -2192,9 +2189,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 280:7: -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
+                       // 279:7: -> ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:280:10: ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:279:10: ^( TYPE_DECLARATOR_LIST ( abstractDeclarator )+ )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR_LIST, "TYPE_DECLARATOR_LIST"), root_1);
@@ -2245,7 +2242,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "storageClassSpecifier"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:283:1: storageClassSpecifier : TYPEDEFTOK ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:282:1: storageClassSpecifier : TYPEDEFTOK ;
        public final CTFParser.storageClassSpecifier_return storageClassSpecifier() throws RecognitionException {
                CTFParser.storageClassSpecifier_return retval = new CTFParser.storageClassSpecifier_return();
                retval.start = input.LT(1);
@@ -2257,13 +2254,13 @@ public class CTFParser extends Parser {
                CommonTree TYPEDEFTOK41_tree=null;
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:284:3: ( TYPEDEFTOK )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:284:5: TYPEDEFTOK
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:283:3: ( TYPEDEFTOK )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:283:5: TYPEDEFTOK
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       TYPEDEFTOK41=(Token)match(input,TYPEDEFTOK,FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1096); if (state.failed) return retval;
+                       TYPEDEFTOK41=(Token)match(input,TYPEDEFTOK,FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1089); if (state.failed) return retval;
                        if ( state.backtracking==0 ) {
                        TYPEDEFTOK41_tree = (CommonTree)adaptor.create(TYPEDEFTOK41);
                        adaptor.addChild(root_0, TYPEDEFTOK41_tree);
@@ -2300,7 +2297,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "typeSpecifier"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:287:1: typeSpecifier : ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:286:1: typeSpecifier : ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName );
        public final CTFParser.typeSpecifier_return typeSpecifier() throws RecognitionException {
                CTFParser.typeSpecifier_return retval = new CTFParser.typeSpecifier_return();
                retval.start = input.LT(1);
@@ -2339,7 +2336,7 @@ public class CTFParser extends Parser {
                CommonTree IMAGINARYTOK53_tree=null;
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:288:3: ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:287:3: ( FLOATTOK | INTTOK | LONGTOK | SHORTTOK | SIGNEDTOK | UNSIGNEDTOK | CHARTOK | DOUBLETOK | VOIDTOK | BOOLTOK | COMPLEXTOK | IMAGINARYTOK | structSpecifier | variantSpecifier | enumSpecifier | ctfTypeSpecifier |{...}? => typedefName )
                        int alt17=17;
                        int LA17_0 = input.LA(1);
                        if ( (LA17_0==FLOATTOK) ) {
@@ -2396,12 +2393,12 @@ public class CTFParser extends Parser {
 
                        switch (alt17) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:288:5: FLOATTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:287:5: FLOATTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       FLOATTOK42=(Token)match(input,FLOATTOK,FOLLOW_FLOATTOK_in_typeSpecifier1112); if (state.failed) return retval;
+                                       FLOATTOK42=(Token)match(input,FLOATTOK,FOLLOW_FLOATTOK_in_typeSpecifier1105); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        FLOATTOK42_tree = (CommonTree)adaptor.create(FLOATTOK42);
                                        adaptor.addChild(root_0, FLOATTOK42_tree);
@@ -2410,12 +2407,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:289:5: INTTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:288:5: INTTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       INTTOK43=(Token)match(input,INTTOK,FOLLOW_INTTOK_in_typeSpecifier1118); if (state.failed) return retval;
+                                       INTTOK43=(Token)match(input,INTTOK,FOLLOW_INTTOK_in_typeSpecifier1111); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        INTTOK43_tree = (CommonTree)adaptor.create(INTTOK43);
                                        adaptor.addChild(root_0, INTTOK43_tree);
@@ -2424,12 +2421,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:290:5: LONGTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:289:5: LONGTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       LONGTOK44=(Token)match(input,LONGTOK,FOLLOW_LONGTOK_in_typeSpecifier1124); if (state.failed) return retval;
+                                       LONGTOK44=(Token)match(input,LONGTOK,FOLLOW_LONGTOK_in_typeSpecifier1117); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        LONGTOK44_tree = (CommonTree)adaptor.create(LONGTOK44);
                                        adaptor.addChild(root_0, LONGTOK44_tree);
@@ -2438,12 +2435,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 4 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:291:5: SHORTTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:290:5: SHORTTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       SHORTTOK45=(Token)match(input,SHORTTOK,FOLLOW_SHORTTOK_in_typeSpecifier1130); if (state.failed) return retval;
+                                       SHORTTOK45=(Token)match(input,SHORTTOK,FOLLOW_SHORTTOK_in_typeSpecifier1123); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        SHORTTOK45_tree = (CommonTree)adaptor.create(SHORTTOK45);
                                        adaptor.addChild(root_0, SHORTTOK45_tree);
@@ -2452,12 +2449,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 5 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:292:5: SIGNEDTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:291:5: SIGNEDTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       SIGNEDTOK46=(Token)match(input,SIGNEDTOK,FOLLOW_SIGNEDTOK_in_typeSpecifier1136); if (state.failed) return retval;
+                                       SIGNEDTOK46=(Token)match(input,SIGNEDTOK,FOLLOW_SIGNEDTOK_in_typeSpecifier1129); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        SIGNEDTOK46_tree = (CommonTree)adaptor.create(SIGNEDTOK46);
                                        adaptor.addChild(root_0, SIGNEDTOK46_tree);
@@ -2466,12 +2463,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 6 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:293:5: UNSIGNEDTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:292:5: UNSIGNEDTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       UNSIGNEDTOK47=(Token)match(input,UNSIGNEDTOK,FOLLOW_UNSIGNEDTOK_in_typeSpecifier1142); if (state.failed) return retval;
+                                       UNSIGNEDTOK47=(Token)match(input,UNSIGNEDTOK,FOLLOW_UNSIGNEDTOK_in_typeSpecifier1135); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        UNSIGNEDTOK47_tree = (CommonTree)adaptor.create(UNSIGNEDTOK47);
                                        adaptor.addChild(root_0, UNSIGNEDTOK47_tree);
@@ -2480,12 +2477,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 7 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:294:5: CHARTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:293:5: CHARTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       CHARTOK48=(Token)match(input,CHARTOK,FOLLOW_CHARTOK_in_typeSpecifier1148); if (state.failed) return retval;
+                                       CHARTOK48=(Token)match(input,CHARTOK,FOLLOW_CHARTOK_in_typeSpecifier1141); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        CHARTOK48_tree = (CommonTree)adaptor.create(CHARTOK48);
                                        adaptor.addChild(root_0, CHARTOK48_tree);
@@ -2494,12 +2491,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 8 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:295:5: DOUBLETOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:294:5: DOUBLETOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       DOUBLETOK49=(Token)match(input,DOUBLETOK,FOLLOW_DOUBLETOK_in_typeSpecifier1154); if (state.failed) return retval;
+                                       DOUBLETOK49=(Token)match(input,DOUBLETOK,FOLLOW_DOUBLETOK_in_typeSpecifier1147); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        DOUBLETOK49_tree = (CommonTree)adaptor.create(DOUBLETOK49);
                                        adaptor.addChild(root_0, DOUBLETOK49_tree);
@@ -2508,12 +2505,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 9 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:296:5: VOIDTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:295:5: VOIDTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       VOIDTOK50=(Token)match(input,VOIDTOK,FOLLOW_VOIDTOK_in_typeSpecifier1160); if (state.failed) return retval;
+                                       VOIDTOK50=(Token)match(input,VOIDTOK,FOLLOW_VOIDTOK_in_typeSpecifier1153); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        VOIDTOK50_tree = (CommonTree)adaptor.create(VOIDTOK50);
                                        adaptor.addChild(root_0, VOIDTOK50_tree);
@@ -2522,12 +2519,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 10 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:297:5: BOOLTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:296:5: BOOLTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       BOOLTOK51=(Token)match(input,BOOLTOK,FOLLOW_BOOLTOK_in_typeSpecifier1166); if (state.failed) return retval;
+                                       BOOLTOK51=(Token)match(input,BOOLTOK,FOLLOW_BOOLTOK_in_typeSpecifier1159); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        BOOLTOK51_tree = (CommonTree)adaptor.create(BOOLTOK51);
                                        adaptor.addChild(root_0, BOOLTOK51_tree);
@@ -2536,12 +2533,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 11 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:298:5: COMPLEXTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:297:5: COMPLEXTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       COMPLEXTOK52=(Token)match(input,COMPLEXTOK,FOLLOW_COMPLEXTOK_in_typeSpecifier1172); if (state.failed) return retval;
+                                       COMPLEXTOK52=(Token)match(input,COMPLEXTOK,FOLLOW_COMPLEXTOK_in_typeSpecifier1165); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        COMPLEXTOK52_tree = (CommonTree)adaptor.create(COMPLEXTOK52);
                                        adaptor.addChild(root_0, COMPLEXTOK52_tree);
@@ -2550,12 +2547,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 12 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:299:5: IMAGINARYTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:298:5: IMAGINARYTOK
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       IMAGINARYTOK53=(Token)match(input,IMAGINARYTOK,FOLLOW_IMAGINARYTOK_in_typeSpecifier1178); if (state.failed) return retval;
+                                       IMAGINARYTOK53=(Token)match(input,IMAGINARYTOK,FOLLOW_IMAGINARYTOK_in_typeSpecifier1171); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        IMAGINARYTOK53_tree = (CommonTree)adaptor.create(IMAGINARYTOK53);
                                        adaptor.addChild(root_0, IMAGINARYTOK53_tree);
@@ -2564,12 +2561,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 13 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:300:5: structSpecifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:299:5: structSpecifier
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_structSpecifier_in_typeSpecifier1184);
+                                       pushFollow(FOLLOW_structSpecifier_in_typeSpecifier1177);
                                        structSpecifier54=structSpecifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -2578,12 +2575,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 14 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:301:5: variantSpecifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:300:5: variantSpecifier
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_variantSpecifier_in_typeSpecifier1190);
+                                       pushFollow(FOLLOW_variantSpecifier_in_typeSpecifier1183);
                                        variantSpecifier55=variantSpecifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -2592,12 +2589,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 15 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:302:5: enumSpecifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:301:5: enumSpecifier
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_enumSpecifier_in_typeSpecifier1196);
+                                       pushFollow(FOLLOW_enumSpecifier_in_typeSpecifier1189);
                                        enumSpecifier56=enumSpecifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -2606,12 +2603,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 16 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:303:5: ctfTypeSpecifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:302:5: ctfTypeSpecifier
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_ctfTypeSpecifier_in_typeSpecifier1202);
+                                       pushFollow(FOLLOW_ctfTypeSpecifier_in_typeSpecifier1195);
                                        ctfTypeSpecifier57=ctfTypeSpecifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -2620,7 +2617,7 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 17 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:304:5: {...}? => typedefName
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:303:5: {...}? => typedefName
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
@@ -2629,7 +2626,7 @@ public class CTFParser extends Parser {
                                                if (state.backtracking>0) {state.failed=true; return retval;}
                                                throw new FailedPredicateException(input, "typeSpecifier", " inTypealiasAlias() || isTypeName(input.LT(1).getText()) ");
                                        }
-                                       pushFollow(FOLLOW_typedefName_in_typeSpecifier1212);
+                                       pushFollow(FOLLOW_typedefName_in_typeSpecifier1205);
                                        typedefName58=typedefName();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -2667,7 +2664,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "typeQualifier"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:307:1: typeQualifier : CONSTTOK ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:306:1: typeQualifier : CONSTTOK ;
        public final CTFParser.typeQualifier_return typeQualifier() throws RecognitionException {
                CTFParser.typeQualifier_return retval = new CTFParser.typeQualifier_return();
                retval.start = input.LT(1);
@@ -2679,13 +2676,13 @@ public class CTFParser extends Parser {
                CommonTree CONSTTOK59_tree=null;
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:308:3: ( CONSTTOK )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:308:5: CONSTTOK
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:307:3: ( CONSTTOK )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:307:5: CONSTTOK
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       CONSTTOK59=(Token)match(input,CONSTTOK,FOLLOW_CONSTTOK_in_typeQualifier1225); if (state.failed) return retval;
+                       CONSTTOK59=(Token)match(input,CONSTTOK,FOLLOW_CONSTTOK_in_typeQualifier1218); if (state.failed) return retval;
                        if ( state.backtracking==0 ) {
                        CONSTTOK59_tree = (CommonTree)adaptor.create(CONSTTOK59);
                        adaptor.addChild(root_0, CONSTTOK59_tree);
@@ -2721,7 +2718,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "alignAttribute"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:311:1: alignAttribute : ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:310:1: alignAttribute : ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) ;
        public final CTFParser.alignAttribute_return alignAttribute() throws RecognitionException {
                CTFParser.alignAttribute_return retval = new CTFParser.alignAttribute_return();
                retval.start = input.LT(1);
@@ -2736,27 +2733,27 @@ public class CTFParser extends Parser {
                CommonTree ALIGNTOK60_tree=null;
                CommonTree LPAREN61_tree=null;
                CommonTree RPAREN63_tree=null;
+               RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
                RewriteRuleTokenStream stream_RPAREN=new RewriteRuleTokenStream(adaptor,"token RPAREN");
                RewriteRuleTokenStream stream_ALIGNTOK=new RewriteRuleTokenStream(adaptor,"token ALIGNTOK");
-               RewriteRuleTokenStream stream_LPAREN=new RewriteRuleTokenStream(adaptor,"token LPAREN");
                RewriteRuleSubtreeStream stream_unaryExpression=new RewriteRuleSubtreeStream(adaptor,"rule unaryExpression");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:312:3: ( ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:312:5: ALIGNTOK LPAREN unaryExpression RPAREN
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:311:3: ( ALIGNTOK LPAREN unaryExpression RPAREN -> ^( ALIGN unaryExpression ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:311:5: ALIGNTOK LPAREN unaryExpression RPAREN
                        {
-                       ALIGNTOK60=(Token)match(input,ALIGNTOK,FOLLOW_ALIGNTOK_in_alignAttribute1238); if (state.failed) return retval; 
+                       ALIGNTOK60=(Token)match(input,ALIGNTOK,FOLLOW_ALIGNTOK_in_alignAttribute1231); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_ALIGNTOK.add(ALIGNTOK60);
 
-                       LPAREN61=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_alignAttribute1240); if (state.failed) return retval; 
+                       LPAREN61=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_alignAttribute1233); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_LPAREN.add(LPAREN61);
 
-                       pushFollow(FOLLOW_unaryExpression_in_alignAttribute1242);
+                       pushFollow(FOLLOW_unaryExpression_in_alignAttribute1235);
                        unaryExpression62=unaryExpression();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_unaryExpression.add(unaryExpression62.getTree());
-                       RPAREN63=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_alignAttribute1244); if (state.failed) return retval; 
+                       RPAREN63=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_alignAttribute1237); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_RPAREN.add(RPAREN63);
 
                        // AST REWRITE
@@ -2771,9 +2768,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 312:44: -> ^( ALIGN unaryExpression )
+                       // 311:44: -> ^( ALIGN unaryExpression )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:312:47: ^( ALIGN unaryExpression )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:311:47: ^( ALIGN unaryExpression )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ALIGN, "ALIGN"), root_1);
@@ -2817,7 +2814,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "structBody"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:316:1: structBody : LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:315:1: structBody : LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) ;
        public final CTFParser.structBody_return structBody() throws RecognitionException {
                Symbols_stack.push(new Symbols_scope());
 
@@ -2840,13 +2837,13 @@ public class CTFParser extends Parser {
                    Symbols_stack.peek().types = new HashSet<String>();
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:3: ( LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:5: LCURL ( structOrVariantDeclarationList )? RCURL
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:320:3: ( LCURL ( structOrVariantDeclarationList )? RCURL -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:320:5: LCURL ( structOrVariantDeclarationList )? RCURL
                        {
-                       LCURL64=(Token)match(input,LCURL,FOLLOW_LCURL_in_structBody1278); if (state.failed) return retval; 
+                       LCURL64=(Token)match(input,LCURL,FOLLOW_LCURL_in_structBody1271); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_LCURL.add(LCURL64);
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:11: ( structOrVariantDeclarationList )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:320:11: ( structOrVariantDeclarationList )?
                        int alt18=2;
                        int LA18_0 = input.LA(1);
                        if ( (LA18_0==BOOLTOK||LA18_0==CHARTOK||(LA18_0 >= COMPLEXTOK && LA18_0 <= CONSTTOK)||LA18_0==DOUBLETOK||LA18_0==ENUMTOK||(LA18_0 >= FLOATINGPOINTTOK && LA18_0 <= FLOATTOK)||LA18_0==IMAGINARYTOK||LA18_0==INTEGERTOK||LA18_0==INTTOK||LA18_0==LONGTOK||LA18_0==SHORTTOK||LA18_0==SIGNEDTOK||LA18_0==STRINGTOK||LA18_0==STRUCTTOK||LA18_0==TYPEDEFTOK||(LA18_0 >= UNSIGNEDTOK && LA18_0 <= VOIDTOK)) ) {
@@ -2860,9 +2857,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt18) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:11: structOrVariantDeclarationList
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:320:11: structOrVariantDeclarationList
                                        {
-                                       pushFollow(FOLLOW_structOrVariantDeclarationList_in_structBody1280);
+                                       pushFollow(FOLLOW_structOrVariantDeclarationList_in_structBody1273);
                                        structOrVariantDeclarationList65=structOrVariantDeclarationList();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -2872,7 +2869,7 @@ public class CTFParser extends Parser {
 
                        }
 
-                       RCURL66=(Token)match(input,RCURL,FOLLOW_RCURL_in_structBody1283); if (state.failed) return retval; 
+                       RCURL66=(Token)match(input,RCURL,FOLLOW_RCURL_in_structBody1276); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_RCURL.add(RCURL66);
 
                        // AST REWRITE
@@ -2887,13 +2884,13 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 322:7: -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
+                       // 321:7: -> ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:322:10: ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:10: ^( STRUCT_BODY ( structOrVariantDeclarationList )? )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(STRUCT_BODY, "STRUCT_BODY"), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:322:24: ( structOrVariantDeclarationList )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:321:24: ( structOrVariantDeclarationList )?
                                if ( stream_structOrVariantDeclarationList.hasNext() ) {
                                        adaptor.addChild(root_1, stream_structOrVariantDeclarationList.nextTree());
                                }
@@ -2940,7 +2937,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "structSpecifier"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:325:1: structSpecifier : STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:324:1: structSpecifier : STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) ;
        public final CTFParser.structSpecifier_return structSpecifier() throws RecognitionException {
                CTFParser.structSpecifier_return retval = new CTFParser.structSpecifier_return();
                retval.start = input.LT(1);
@@ -2962,13 +2959,13 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_alignAttribute=new RewriteRuleSubtreeStream(adaptor,"rule alignAttribute");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:326:3: ( STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:326:5: STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:325:3: ( STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) ) -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:325:5: STRUCTTOK ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
                        {
-                       STRUCTTOK67=(Token)match(input,STRUCTTOK,FOLLOW_STRUCTTOK_in_structSpecifier1311); if (state.failed) return retval; 
+                       STRUCTTOK67=(Token)match(input,STRUCTTOK,FOLLOW_STRUCTTOK_in_structSpecifier1304); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_STRUCTTOK.add(STRUCTTOK67);
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:327:3: ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:326:3: ( ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) ) | ( structBody ( alignAttribute |) ) )
                        int alt22=2;
                        int LA22_0 = input.LA(1);
                        if ( (LA22_0==IDENTIFIER) ) {
@@ -2987,17 +2984,17 @@ public class CTFParser extends Parser {
 
                        switch (alt22) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:329:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:328:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:329:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:330:9: structName ( alignAttribute | ( structBody ( alignAttribute |) ) |)
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:328:5: ( structName ( alignAttribute | ( structBody ( alignAttribute |) ) |) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:329:9: structName ( alignAttribute | ( structBody ( alignAttribute |) ) |)
                                        {
-                                       pushFollow(FOLLOW_structName_in_structSpecifier1336);
+                                       pushFollow(FOLLOW_structName_in_structSpecifier1329);
                                        structName68=structName();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_structName.add(structName68.getTree());
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:331:9: ( alignAttribute | ( structBody ( alignAttribute |) ) |)
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:330:9: ( alignAttribute | ( structBody ( alignAttribute |) ) |)
                                        int alt20=3;
                                        switch ( input.LA(1) ) {
                                        case ALIGNTOK:
@@ -3172,9 +3169,9 @@ public class CTFParser extends Parser {
                                        }
                                        switch (alt20) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:332:11: alignAttribute
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:331:11: alignAttribute
                                                        {
-                                                       pushFollow(FOLLOW_alignAttribute_in_structSpecifier1358);
+                                                       pushFollow(FOLLOW_alignAttribute_in_structSpecifier1351);
                                                        alignAttribute69=alignAttribute();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -3182,17 +3179,17 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:334:11: ( structBody ( alignAttribute |) )
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:333:11: ( structBody ( alignAttribute |) )
                                                        {
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:334:11: ( structBody ( alignAttribute |) )
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:335:13: structBody ( alignAttribute |)
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:333:11: ( structBody ( alignAttribute |) )
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:334:13: structBody ( alignAttribute |)
                                                        {
-                                                       pushFollow(FOLLOW_structBody_in_structSpecifier1394);
+                                                       pushFollow(FOLLOW_structBody_in_structSpecifier1387);
                                                        structBody70=structBody();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
                                                        if ( state.backtracking==0 ) stream_structBody.add(structBody70.getTree());
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:336:13: ( alignAttribute |)
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:335:13: ( alignAttribute |)
                                                        int alt19=2;
                                                        int LA19_0 = input.LA(1);
                                                        if ( (LA19_0==ALIGNTOK) ) {
@@ -3211,9 +3208,9 @@ public class CTFParser extends Parser {
 
                                                        switch (alt19) {
                                                                case 1 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:337:14: alignAttribute
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:336:14: alignAttribute
                                                                        {
-                                                                       pushFollow(FOLLOW_alignAttribute_in_structSpecifier1425);
+                                                                       pushFollow(FOLLOW_alignAttribute_in_structSpecifier1418);
                                                                        alignAttribute71=alignAttribute();
                                                                        state._fsp--;
                                                                        if (state.failed) return retval;
@@ -3221,7 +3218,7 @@ public class CTFParser extends Parser {
                                                                        }
                                                                        break;
                                                                case 2 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:340:13: 
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:339:13: 
                                                                        {
                                                                        }
                                                                        break;
@@ -3233,7 +3230,7 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 3 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:344:9: 
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:343:9: 
                                                        {
                                                        }
                                                        break;
@@ -3245,17 +3242,17 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:348:5: ( structBody ( alignAttribute |) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:347:5: ( structBody ( alignAttribute |) )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:348:5: ( structBody ( alignAttribute |) )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:349:7: structBody ( alignAttribute |)
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:347:5: ( structBody ( alignAttribute |) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:348:7: structBody ( alignAttribute |)
                                        {
-                                       pushFollow(FOLLOW_structBody_in_structSpecifier1541);
+                                       pushFollow(FOLLOW_structBody_in_structSpecifier1534);
                                        structBody72=structBody();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_structBody.add(structBody72.getTree());
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:350:7: ( alignAttribute |)
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:349:7: ( alignAttribute |)
                                        int alt21=2;
                                        int LA21_0 = input.LA(1);
                                        if ( (LA21_0==ALIGNTOK) ) {
@@ -3274,9 +3271,9 @@ public class CTFParser extends Parser {
 
                                        switch (alt21) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:351:9: alignAttribute
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:350:9: alignAttribute
                                                        {
-                                                       pushFollow(FOLLOW_alignAttribute_in_structSpecifier1559);
+                                                       pushFollow(FOLLOW_alignAttribute_in_structSpecifier1552);
                                                        alignAttribute73=alignAttribute();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -3284,7 +3281,7 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:354:7: 
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:353:7: 
                                                        {
                                                        }
                                                        break;
@@ -3299,7 +3296,7 @@ public class CTFParser extends Parser {
                        }
 
                        // AST REWRITE
-                       // elements: structBody, alignAttribute, structName
+                       // elements: structName, structBody, alignAttribute
                        // token labels: 
                        // rule labels: retval
                        // token list labels: 
@@ -3310,25 +3307,25 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 356:5: -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
+                       // 355:5: -> ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:356:8: ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:355:8: ^( STRUCT ( structName )? ( structBody )? ( alignAttribute )? )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(STRUCT, "STRUCT"), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:356:17: ( structName )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:355:17: ( structName )?
                                if ( stream_structName.hasNext() ) {
                                        adaptor.addChild(root_1, stream_structName.nextTree());
                                }
                                stream_structName.reset();
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:356:29: ( structBody )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:355:29: ( structBody )?
                                if ( stream_structBody.hasNext() ) {
                                        adaptor.addChild(root_1, stream_structBody.nextTree());
                                }
                                stream_structBody.reset();
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:356:41: ( alignAttribute )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:355:41: ( alignAttribute )?
                                if ( stream_alignAttribute.hasNext() ) {
                                        adaptor.addChild(root_1, stream_alignAttribute.nextTree());
                                }
@@ -3373,7 +3370,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "structName"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:359:1: structName : IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:358:1: structName : IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) ;
        public final CTFParser.structName_return structName() throws RecognitionException {
                CTFParser.structName_return retval = new CTFParser.structName_return();
                retval.start = input.LT(1);
@@ -3386,10 +3383,10 @@ public class CTFParser extends Parser {
                RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:360:3: ( IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:360:5: IDENTIFIER
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:359:3: ( IDENTIFIER -> ^( STRUCT_NAME IDENTIFIER ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:359:5: IDENTIFIER
                        {
-                       IDENTIFIER74=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_structName1625); if (state.failed) return retval; 
+                       IDENTIFIER74=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_structName1618); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER74);
 
                        // AST REWRITE
@@ -3404,9 +3401,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 360:16: -> ^( STRUCT_NAME IDENTIFIER )
+                       // 359:16: -> ^( STRUCT_NAME IDENTIFIER )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:360:19: ^( STRUCT_NAME IDENTIFIER )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:359:19: ^( STRUCT_NAME IDENTIFIER )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(STRUCT_NAME, "STRUCT_NAME"), root_1);
@@ -3450,7 +3447,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "structOrVariantDeclarationList"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:1: structOrVariantDeclarationList : ( structOrVariantDeclaration )+ ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:362:1: structOrVariantDeclarationList : ( structOrVariantDeclaration )+ ;
        public final CTFParser.structOrVariantDeclarationList_return structOrVariantDeclarationList() throws RecognitionException {
                CTFParser.structOrVariantDeclarationList_return retval = new CTFParser.structOrVariantDeclarationList_return();
                retval.start = input.LT(1);
@@ -3461,13 +3458,13 @@ public class CTFParser extends Parser {
 
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:364:3: ( ( structOrVariantDeclaration )+ )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:364:5: ( structOrVariantDeclaration )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:3: ( ( structOrVariantDeclaration )+ )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:5: ( structOrVariantDeclaration )+
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:364:5: ( structOrVariantDeclaration )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:5: ( structOrVariantDeclaration )+
                        int cnt23=0;
                        loop23:
                        while (true) {
@@ -3485,9 +3482,9 @@ public class CTFParser extends Parser {
 
                                switch (alt23) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:364:5: structOrVariantDeclaration
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:363:5: structOrVariantDeclaration
                                        {
-                                       pushFollow(FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1646);
+                                       pushFollow(FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1639);
                                        structOrVariantDeclaration75=structOrVariantDeclaration();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -3535,7 +3532,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "structOrVariantDeclaration"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:367:1: structOrVariantDeclaration : ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:366:1: structOrVariantDeclaration : ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM ;
        public final CTFParser.structOrVariantDeclaration_return structOrVariantDeclaration() throws RecognitionException {
                CTFParser.structOrVariantDeclaration_return retval = new CTFParser.structOrVariantDeclaration_return();
                retval.start = input.LT(1);
@@ -3550,16 +3547,16 @@ public class CTFParser extends Parser {
 
                CommonTree TERM80_tree=null;
                RewriteRuleTokenStream stream_TERM=new RewriteRuleTokenStream(adaptor,"token TERM");
-               RewriteRuleSubtreeStream stream_declaratorList=new RewriteRuleSubtreeStream(adaptor,"rule declaratorList");
                RewriteRuleSubtreeStream stream_typealiasDecl=new RewriteRuleSubtreeStream(adaptor,"rule typealiasDecl");
-               RewriteRuleSubtreeStream stream_declarationSpecifiers=new RewriteRuleSubtreeStream(adaptor,"rule declarationSpecifiers");
+               RewriteRuleSubtreeStream stream_declaratorList=new RewriteRuleSubtreeStream(adaptor,"rule declaratorList");
                RewriteRuleSubtreeStream stream_structOrVariantDeclaratorList=new RewriteRuleSubtreeStream(adaptor,"rule structOrVariantDeclaratorList");
+               RewriteRuleSubtreeStream stream_declarationSpecifiers=new RewriteRuleSubtreeStream(adaptor,"rule declarationSpecifiers");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:368:3: ( ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:369:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:367:3: ( ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:368:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl ) TERM
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:369:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:368:3: ( ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) ) | typealiasDecl -> typealiasDecl )
                        int alt25=2;
                        int LA25_0 = input.LA(1);
                        if ( (LA25_0==BOOLTOK||LA25_0==CHARTOK||(LA25_0 >= COMPLEXTOK && LA25_0 <= CONSTTOK)||LA25_0==DOUBLETOK||LA25_0==ENUMTOK||(LA25_0 >= FLOATINGPOINTTOK && LA25_0 <= FLOATTOK)||LA25_0==IMAGINARYTOK||LA25_0==INTEGERTOK||LA25_0==INTTOK||LA25_0==LONGTOK||LA25_0==SHORTTOK||LA25_0==SIGNEDTOK||LA25_0==STRINGTOK||LA25_0==STRUCTTOK||LA25_0==TYPEDEFTOK||(LA25_0 >= UNSIGNEDTOK && LA25_0 <= VOIDTOK)) ) {
@@ -3581,28 +3578,28 @@ public class CTFParser extends Parser {
 
                        switch (alt25) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:370:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:369:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:370:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:371:8: declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:369:7: ( declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) ) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:370:8: declarationSpecifiers ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
                                        {
-                                       pushFollow(FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1679);
+                                       pushFollow(FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1672);
                                        declarationSpecifiers76=declarationSpecifiers();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_declarationSpecifiers.add(declarationSpecifiers76.getTree());
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:372:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:371:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )
                                        int alt24=2;
                                        alt24 = dfa24.predict(input);
                                        switch (alt24) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:374:12: {...}? => declaratorList
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:373:12: {...}? => declaratorList
                                                        {
                                                        if ( !((inTypedef())) ) {
                                                                if (state.backtracking>0) {state.failed=true; return retval;}
                                                                throw new FailedPredicateException(input, "structOrVariantDeclaration", "inTypedef()");
                                                        }
-                                                       pushFollow(FOLLOW_declaratorList_in_structOrVariantDeclaration1720);
+                                                       pushFollow(FOLLOW_declaratorList_in_structOrVariantDeclaration1713);
                                                        declaratorList77=declaratorList();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -3619,9 +3616,9 @@ public class CTFParser extends Parser {
                                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                                        root_0 = (CommonTree)adaptor.nil();
-                                                       // 375:14: -> ^( TYPEDEF declaratorList declarationSpecifiers )
+                                                       // 374:14: -> ^( TYPEDEF declaratorList declarationSpecifiers )
                                                        {
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:375:17: ^( TYPEDEF declaratorList declarationSpecifiers )
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:374:17: ^( TYPEDEF declaratorList declarationSpecifiers )
                                                                {
                                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEDEF, "TYPEDEF"), root_1);
@@ -3639,15 +3636,15 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:376:14: structOrVariantDeclaratorList
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:375:14: structOrVariantDeclaratorList
                                                        {
-                                                       pushFollow(FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1758);
+                                                       pushFollow(FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1751);
                                                        structOrVariantDeclaratorList78=structOrVariantDeclaratorList();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
                                                        if ( state.backtracking==0 ) stream_structOrVariantDeclaratorList.add(structOrVariantDeclaratorList78.getTree());
                                                        // AST REWRITE
-                                                       // elements: structOrVariantDeclaratorList, declarationSpecifiers
+                                                       // elements: declarationSpecifiers, structOrVariantDeclaratorList
                                                        // token labels: 
                                                        // rule labels: retval
                                                        // token list labels: 
@@ -3658,9 +3655,9 @@ public class CTFParser extends Parser {
                                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                                        root_0 = (CommonTree)adaptor.nil();
-                                                       // 377:14: -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
+                                                       // 376:14: -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
                                                        {
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:377:17: ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:376:17: ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList )
                                                                {
                                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(SV_DECLARATION, "SV_DECLARATION"), root_1);
@@ -3685,9 +3682,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:382:5: typealiasDecl
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:381:5: typealiasDecl
                                        {
-                                       pushFollow(FOLLOW_typealiasDecl_in_structOrVariantDeclaration1817);
+                                       pushFollow(FOLLOW_typealiasDecl_in_structOrVariantDeclaration1810);
                                        typealiasDecl79=typealiasDecl();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -3704,7 +3701,7 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 382:19: -> typealiasDecl
+                                       // 381:19: -> typealiasDecl
                                        {
                                                adaptor.addChild(root_0, stream_typealiasDecl.nextTree());
                                        }
@@ -3718,7 +3715,7 @@ public class CTFParser extends Parser {
 
                        }
 
-                       TERM80=(Token)match(input,TERM,FOLLOW_TERM_in_structOrVariantDeclaration1829); if (state.failed) return retval; 
+                       TERM80=(Token)match(input,TERM,FOLLOW_TERM_in_structOrVariantDeclaration1822); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_TERM.add(TERM80);
 
                        }
@@ -3751,7 +3748,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "specifierQualifierList"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:1: specifierQualifierList : ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:386:1: specifierQualifierList : ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) ;
        public final CTFParser.specifierQualifierList_return specifierQualifierList() throws RecognitionException {
                CTFParser.specifierQualifierList_return retval = new CTFParser.specifierQualifierList_return();
                retval.start = input.LT(1);
@@ -3765,10 +3762,10 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_typeQualifier=new RewriteRuleSubtreeStream(adaptor,"rule typeQualifier");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:3: ( ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:5: ( typeQualifier | typeSpecifier )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:3: ( ( typeQualifier | typeSpecifier )+ -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:5: ( typeQualifier | typeSpecifier )+
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:5: ( typeQualifier | typeSpecifier )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:5: ( typeQualifier | typeSpecifier )+
                        int cnt26=0;
                        loop26:
                        while (true) {
@@ -3786,9 +3783,9 @@ public class CTFParser extends Parser {
 
                                switch (alt26) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:6: typeQualifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:6: typeQualifier
                                        {
-                                       pushFollow(FOLLOW_typeQualifier_in_specifierQualifierList1843);
+                                       pushFollow(FOLLOW_typeQualifier_in_specifierQualifierList1836);
                                        typeQualifier81=typeQualifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -3796,9 +3793,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:22: typeSpecifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:387:22: typeSpecifier
                                        {
-                                       pushFollow(FOLLOW_typeSpecifier_in_specifierQualifierList1847);
+                                       pushFollow(FOLLOW_typeSpecifier_in_specifierQualifierList1840);
                                        typeSpecifier82=typeSpecifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -3816,7 +3813,7 @@ public class CTFParser extends Parser {
                        }
 
                        // AST REWRITE
-                       // elements: typeSpecifier, typeQualifier
+                       // elements: typeQualifier, typeSpecifier
                        // token labels: 
                        // rule labels: retval
                        // token list labels: 
@@ -3827,19 +3824,19 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 389:7: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
+                       // 388:7: -> ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:389:10: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:10: ^( TYPE_SPECIFIER_LIST ( typeQualifier )* ( typeSpecifier )* )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_SPECIFIER_LIST, "TYPE_SPECIFIER_LIST"), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:389:32: ( typeQualifier )*
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:32: ( typeQualifier )*
                                while ( stream_typeQualifier.hasNext() ) {
                                        adaptor.addChild(root_1, stream_typeQualifier.nextTree());
                                }
                                stream_typeQualifier.reset();
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:389:47: ( typeSpecifier )*
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:388:47: ( typeSpecifier )*
                                while ( stream_typeSpecifier.hasNext() ) {
                                        adaptor.addChild(root_1, stream_typeSpecifier.nextTree());
                                }
@@ -3884,7 +3881,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "structOrVariantDeclaratorList"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:1: structOrVariantDeclaratorList : structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:391:1: structOrVariantDeclaratorList : structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) ;
        public final CTFParser.structOrVariantDeclaratorList_return structOrVariantDeclaratorList() throws RecognitionException {
                CTFParser.structOrVariantDeclaratorList_return retval = new CTFParser.structOrVariantDeclaratorList_return();
                retval.start = input.LT(1);
@@ -3900,15 +3897,15 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_structOrVariantDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule structOrVariantDeclarator");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:3: ( structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:5: structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:3: ( structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )* -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:5: structOrVariantDeclarator ( SEPARATOR structOrVariantDeclarator )*
                        {
-                       pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1880);
+                       pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1873);
                        structOrVariantDeclarator83=structOrVariantDeclarator();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_structOrVariantDeclarator.add(structOrVariantDeclarator83.getTree());
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:31: ( SEPARATOR structOrVariantDeclarator )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:31: ( SEPARATOR structOrVariantDeclarator )*
                        loop27:
                        while (true) {
                                int alt27=2;
@@ -3919,12 +3916,12 @@ public class CTFParser extends Parser {
 
                                switch (alt27) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:32: SEPARATOR structOrVariantDeclarator
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:392:32: SEPARATOR structOrVariantDeclarator
                                        {
-                                       SEPARATOR84=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1883); if (state.failed) return retval; 
+                                       SEPARATOR84=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1876); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR84);
 
-                                       pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1885);
+                                       pushFollow(FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1878);
                                        structOrVariantDeclarator85=structOrVariantDeclarator();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -3949,9 +3946,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 394:7: -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
+                       // 393:7: -> ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:394:10: ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:393:10: ^( TYPE_DECLARATOR_LIST ( structOrVariantDeclarator )+ )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR_LIST, "TYPE_DECLARATOR_LIST"), root_1);
@@ -4002,7 +3999,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "structOrVariantDeclarator"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:397:1: structOrVariantDeclarator : ( declarator ( COLON numberLiteral )? ) -> declarator ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:396:1: structOrVariantDeclarator : ( declarator ( COLON numberLiteral )? ) -> declarator ;
        public final CTFParser.structOrVariantDeclarator_return structOrVariantDeclarator() throws RecognitionException {
                CTFParser.structOrVariantDeclarator_return retval = new CTFParser.structOrVariantDeclarator_return();
                retval.start = input.LT(1);
@@ -4019,18 +4016,18 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_numberLiteral=new RewriteRuleSubtreeStream(adaptor,"rule numberLiteral");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:398:3: ( ( declarator ( COLON numberLiteral )? ) -> declarator )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:5: ( declarator ( COLON numberLiteral )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:397:3: ( ( declarator ( COLON numberLiteral )? ) -> declarator )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:5: ( declarator ( COLON numberLiteral )? )
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:5: ( declarator ( COLON numberLiteral )? )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:6: declarator ( COLON numberLiteral )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:5: ( declarator ( COLON numberLiteral )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:6: declarator ( COLON numberLiteral )?
                        {
-                       pushFollow(FOLLOW_declarator_in_structOrVariantDeclarator1924);
+                       pushFollow(FOLLOW_declarator_in_structOrVariantDeclarator1917);
                        declarator86=declarator();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_declarator.add(declarator86.getTree());
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:17: ( COLON numberLiteral )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:17: ( COLON numberLiteral )?
                        int alt28=2;
                        int LA28_0 = input.LA(1);
                        if ( (LA28_0==COLON) ) {
@@ -4038,12 +4035,12 @@ public class CTFParser extends Parser {
                        }
                        switch (alt28) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:400:18: COLON numberLiteral
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:399:18: COLON numberLiteral
                                        {
-                                       COLON87=(Token)match(input,COLON,FOLLOW_COLON_in_structOrVariantDeclarator1927); if (state.failed) return retval; 
+                                       COLON87=(Token)match(input,COLON,FOLLOW_COLON_in_structOrVariantDeclarator1920); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_COLON.add(COLON87);
 
-                                       pushFollow(FOLLOW_numberLiteral_in_structOrVariantDeclarator1929);
+                                       pushFollow(FOLLOW_numberLiteral_in_structOrVariantDeclarator1922);
                                        numberLiteral88=numberLiteral();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -4067,7 +4064,7 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 400:41: -> declarator
+                       // 399:41: -> declarator
                        {
                                adaptor.addChild(root_0, stream_declarator.nextTree());
                        }
@@ -4106,7 +4103,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "variantSpecifier"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:404:1: variantSpecifier : VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:403:1: variantSpecifier : VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) ;
        public final CTFParser.variantSpecifier_return variantSpecifier() throws RecognitionException {
                CTFParser.variantSpecifier_return retval = new CTFParser.variantSpecifier_return();
                retval.start = input.LT(1);
@@ -4124,18 +4121,18 @@ public class CTFParser extends Parser {
 
                CommonTree VARIANTTOK89_tree=null;
                RewriteRuleTokenStream stream_VARIANTTOK=new RewriteRuleTokenStream(adaptor,"token VARIANTTOK");
-               RewriteRuleSubtreeStream stream_variantName=new RewriteRuleSubtreeStream(adaptor,"rule variantName");
-               RewriteRuleSubtreeStream stream_variantTag=new RewriteRuleSubtreeStream(adaptor,"rule variantTag");
                RewriteRuleSubtreeStream stream_variantBody=new RewriteRuleSubtreeStream(adaptor,"rule variantBody");
+               RewriteRuleSubtreeStream stream_variantTag=new RewriteRuleSubtreeStream(adaptor,"rule variantTag");
+               RewriteRuleSubtreeStream stream_variantName=new RewriteRuleSubtreeStream(adaptor,"rule variantName");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:405:3: ( VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:405:5: VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:404:3: ( VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody ) -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:404:5: VARIANTTOK ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
                        {
-                       VARIANTTOK89=(Token)match(input,VARIANTTOK,FOLLOW_VARIANTTOK_in_variantSpecifier1953); if (state.failed) return retval; 
+                       VARIANTTOK89=(Token)match(input,VARIANTTOK,FOLLOW_VARIANTTOK_in_variantSpecifier1946); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_VARIANTTOK.add(VARIANTTOK89);
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:406:3: ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:405:3: ( ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) ) | ( variantTag variantBody ) | variantBody )
                        int alt31=3;
                        switch ( input.LA(1) ) {
                        case IDENTIFIER:
@@ -4161,17 +4158,17 @@ public class CTFParser extends Parser {
                        }
                        switch (alt31) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:407:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:406:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:407:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:408:7: variantName ( ( variantTag ( variantBody |) ) | variantBody )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:406:5: ( variantName ( ( variantTag ( variantBody |) ) | variantBody ) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:407:7: variantName ( ( variantTag ( variantBody |) ) | variantBody )
                                        {
-                                       pushFollow(FOLLOW_variantName_in_variantSpecifier1971);
+                                       pushFollow(FOLLOW_variantName_in_variantSpecifier1964);
                                        variantName90=variantName();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_variantName.add(variantName90.getTree());
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:409:7: ( ( variantTag ( variantBody |) ) | variantBody )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:408:7: ( ( variantTag ( variantBody |) ) | variantBody )
                                        int alt30=2;
                                        int LA30_0 = input.LA(1);
                                        if ( (LA30_0==LT) ) {
@@ -4190,17 +4187,17 @@ public class CTFParser extends Parser {
 
                                        switch (alt30) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:410:9: ( variantTag ( variantBody |) )
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:409:9: ( variantTag ( variantBody |) )
                                                        {
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:410:9: ( variantTag ( variantBody |) )
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:411:11: variantTag ( variantBody |)
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:409:9: ( variantTag ( variantBody |) )
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:410:11: variantTag ( variantBody |)
                                                        {
-                                                       pushFollow(FOLLOW_variantTag_in_variantSpecifier2001);
+                                                       pushFollow(FOLLOW_variantTag_in_variantSpecifier1994);
                                                        variantTag91=variantTag();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
                                                        if ( state.backtracking==0 ) stream_variantTag.add(variantTag91.getTree());
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:412:11: ( variantBody |)
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:411:11: ( variantBody |)
                                                        int alt29=2;
                                                        int LA29_0 = input.LA(1);
                                                        if ( (LA29_0==LCURL) ) {
@@ -4342,9 +4339,9 @@ public class CTFParser extends Parser {
 
                                                        switch (alt29) {
                                                                case 1 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:413:13: variantBody
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:412:13: variantBody
                                                                        {
-                                                                       pushFollow(FOLLOW_variantBody_in_variantSpecifier2027);
+                                                                       pushFollow(FOLLOW_variantBody_in_variantSpecifier2020);
                                                                        variantBody92=variantBody();
                                                                        state._fsp--;
                                                                        if (state.failed) return retval;
@@ -4352,7 +4349,7 @@ public class CTFParser extends Parser {
                                                                        }
                                                                        break;
                                                                case 2 :
-                                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:416:11: 
+                                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:415:11: 
                                                                        {
                                                                        }
                                                                        break;
@@ -4364,9 +4361,9 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:419:9: variantBody
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:418:9: variantBody
                                                        {
-                                                       pushFollow(FOLLOW_variantBody_in_variantSpecifier2095);
+                                                       pushFollow(FOLLOW_variantBody_in_variantSpecifier2088);
                                                        variantBody93=variantBody();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -4381,17 +4378,17 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:422:5: ( variantTag variantBody )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:421:5: ( variantTag variantBody )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:422:5: ( variantTag variantBody )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:422:6: variantTag variantBody
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:421:5: ( variantTag variantBody )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:421:6: variantTag variantBody
                                        {
-                                       pushFollow(FOLLOW_variantTag_in_variantSpecifier2116);
+                                       pushFollow(FOLLOW_variantTag_in_variantSpecifier2109);
                                        variantTag94=variantTag();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_variantTag.add(variantTag94.getTree());
-                                       pushFollow(FOLLOW_variantBody_in_variantSpecifier2118);
+                                       pushFollow(FOLLOW_variantBody_in_variantSpecifier2111);
                                        variantBody95=variantBody();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -4401,9 +4398,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:5: variantBody
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:422:5: variantBody
                                        {
-                                       pushFollow(FOLLOW_variantBody_in_variantSpecifier2125);
+                                       pushFollow(FOLLOW_variantBody_in_variantSpecifier2118);
                                        variantBody96=variantBody();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -4414,7 +4411,7 @@ public class CTFParser extends Parser {
                        }
 
                        // AST REWRITE
-                       // elements: variantName, variantTag, variantBody
+                       // elements: variantTag, variantBody, variantName
                        // token labels: 
                        // rule labels: retval
                        // token list labels: 
@@ -4425,25 +4422,25 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 424:5: -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
+                       // 423:5: -> ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:424:8: ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:8: ^( VARIANT ( variantName )? ( variantTag )? ( variantBody )? )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT, "VARIANT"), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:424:18: ( variantName )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:18: ( variantName )?
                                if ( stream_variantName.hasNext() ) {
                                        adaptor.addChild(root_1, stream_variantName.nextTree());
                                }
                                stream_variantName.reset();
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:424:31: ( variantTag )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:31: ( variantTag )?
                                if ( stream_variantTag.hasNext() ) {
                                        adaptor.addChild(root_1, stream_variantTag.nextTree());
                                }
                                stream_variantTag.reset();
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:424:43: ( variantBody )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:423:43: ( variantBody )?
                                if ( stream_variantBody.hasNext() ) {
                                        adaptor.addChild(root_1, stream_variantBody.nextTree());
                                }
@@ -4488,7 +4485,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "variantName"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:427:1: variantName : IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:426:1: variantName : IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) ;
        public final CTFParser.variantName_return variantName() throws RecognitionException {
                CTFParser.variantName_return retval = new CTFParser.variantName_return();
                retval.start = input.LT(1);
@@ -4501,10 +4498,10 @@ public class CTFParser extends Parser {
                RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:428:3: ( IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:428:5: IDENTIFIER
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:427:3: ( IDENTIFIER -> ^( VARIANT_NAME IDENTIFIER ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:427:5: IDENTIFIER
                        {
-                       IDENTIFIER97=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variantName2157); if (state.failed) return retval; 
+                       IDENTIFIER97=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variantName2150); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER97);
 
                        // AST REWRITE
@@ -4519,9 +4516,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 428:16: -> ^( VARIANT_NAME IDENTIFIER )
+                       // 427:16: -> ^( VARIANT_NAME IDENTIFIER )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:428:19: ^( VARIANT_NAME IDENTIFIER )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:427:19: ^( VARIANT_NAME IDENTIFIER )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT_NAME, "VARIANT_NAME"), root_1);
@@ -4565,7 +4562,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "variantBody"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:431:1: variantBody : LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:430:1: variantBody : LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) ;
        public final CTFParser.variantBody_return variantBody() throws RecognitionException {
                Symbols_stack.push(new Symbols_scope());
 
@@ -4588,18 +4585,18 @@ public class CTFParser extends Parser {
                    Symbols_stack.peek().types = new HashSet<String>();
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:436:3: ( LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:436:5: LCURL structOrVariantDeclarationList RCURL
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:435:3: ( LCURL structOrVariantDeclarationList RCURL -> ^( VARIANT_BODY structOrVariantDeclarationList ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:435:5: LCURL structOrVariantDeclarationList RCURL
                        {
-                       LCURL98=(Token)match(input,LCURL,FOLLOW_LCURL_in_variantBody2188); if (state.failed) return retval; 
+                       LCURL98=(Token)match(input,LCURL,FOLLOW_LCURL_in_variantBody2181); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_LCURL.add(LCURL98);
 
-                       pushFollow(FOLLOW_structOrVariantDeclarationList_in_variantBody2190);
+                       pushFollow(FOLLOW_structOrVariantDeclarationList_in_variantBody2183);
                        structOrVariantDeclarationList99=structOrVariantDeclarationList();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_structOrVariantDeclarationList.add(structOrVariantDeclarationList99.getTree());
-                       RCURL100=(Token)match(input,RCURL,FOLLOW_RCURL_in_variantBody2192); if (state.failed) return retval; 
+                       RCURL100=(Token)match(input,RCURL,FOLLOW_RCURL_in_variantBody2185); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_RCURL.add(RCURL100);
 
                        // AST REWRITE
@@ -4614,9 +4611,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 437:7: -> ^( VARIANT_BODY structOrVariantDeclarationList )
+                       // 436:7: -> ^( VARIANT_BODY structOrVariantDeclarationList )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:437:10: ^( VARIANT_BODY structOrVariantDeclarationList )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:436:10: ^( VARIANT_BODY structOrVariantDeclarationList )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT_BODY, "VARIANT_BODY"), root_1);
@@ -4662,7 +4659,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "variantTag"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:440:1: variantTag : LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:439:1: variantTag : LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) ;
        public final CTFParser.variantTag_return variantTag() throws RecognitionException {
                CTFParser.variantTag_return retval = new CTFParser.variantTag_return();
                retval.start = input.LT(1);
@@ -4676,21 +4673,21 @@ public class CTFParser extends Parser {
                CommonTree LT101_tree=null;
                CommonTree IDENTIFIER102_tree=null;
                CommonTree GT103_tree=null;
-               RewriteRuleTokenStream stream_GT=new RewriteRuleTokenStream(adaptor,"token GT");
                RewriteRuleTokenStream stream_LT=new RewriteRuleTokenStream(adaptor,"token LT");
                RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
+               RewriteRuleTokenStream stream_GT=new RewriteRuleTokenStream(adaptor,"token GT");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:441:3: ( LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:441:5: LT IDENTIFIER GT
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:440:3: ( LT IDENTIFIER GT -> ^( VARIANT_TAG IDENTIFIER ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:440:5: LT IDENTIFIER GT
                        {
-                       LT101=(Token)match(input,LT,FOLLOW_LT_in_variantTag2219); if (state.failed) return retval; 
+                       LT101=(Token)match(input,LT,FOLLOW_LT_in_variantTag2212); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_LT.add(LT101);
 
-                       IDENTIFIER102=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variantTag2221); if (state.failed) return retval; 
+                       IDENTIFIER102=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variantTag2214); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER102);
 
-                       GT103=(Token)match(input,GT,FOLLOW_GT_in_variantTag2223); if (state.failed) return retval; 
+                       GT103=(Token)match(input,GT,FOLLOW_GT_in_variantTag2216); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_GT.add(GT103);
 
                        // AST REWRITE
@@ -4705,9 +4702,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 441:22: -> ^( VARIANT_TAG IDENTIFIER )
+                       // 440:22: -> ^( VARIANT_TAG IDENTIFIER )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:441:25: ^( VARIANT_TAG IDENTIFIER )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:440:25: ^( VARIANT_TAG IDENTIFIER )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(VARIANT_TAG, "VARIANT_TAG"), root_1);
@@ -4751,7 +4748,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "enumSpecifier"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:444:1: enumSpecifier : ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:443:1: enumSpecifier : ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) ;
        public final CTFParser.enumSpecifier_return enumSpecifier() throws RecognitionException {
                CTFParser.enumSpecifier_return retval = new CTFParser.enumSpecifier_return();
                retval.start = input.LT(1);
@@ -4769,18 +4766,18 @@ public class CTFParser extends Parser {
 
                CommonTree ENUMTOK104_tree=null;
                RewriteRuleTokenStream stream_ENUMTOK=new RewriteRuleTokenStream(adaptor,"token ENUMTOK");
+               RewriteRuleSubtreeStream stream_enumBody=new RewriteRuleSubtreeStream(adaptor,"rule enumBody");
                RewriteRuleSubtreeStream stream_enumName=new RewriteRuleSubtreeStream(adaptor,"rule enumName");
                RewriteRuleSubtreeStream stream_enumContainerType=new RewriteRuleSubtreeStream(adaptor,"rule enumContainerType");
-               RewriteRuleSubtreeStream stream_enumBody=new RewriteRuleSubtreeStream(adaptor,"rule enumBody");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:445:3: ( ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:445:5: ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:444:3: ( ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) ) -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:444:5: ENUMTOK ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
                        {
-                       ENUMTOK104=(Token)match(input,ENUMTOK,FOLLOW_ENUMTOK_in_enumSpecifier2244); if (state.failed) return retval; 
+                       ENUMTOK104=(Token)match(input,ENUMTOK,FOLLOW_ENUMTOK_in_enumSpecifier2237); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_ENUMTOK.add(ENUMTOK104);
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:446:5: ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:445:5: ( ( enumName ( enumContainerType enumBody | enumBody |) ) | ( enumContainerType enumBody | enumBody ) )
                        int alt34=2;
                        int LA34_0 = input.LA(1);
                        if ( (LA34_0==IDENTIFIER) ) {
@@ -4799,17 +4796,17 @@ public class CTFParser extends Parser {
 
                        switch (alt34) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:448:9: ( enumName ( enumContainerType enumBody | enumBody |) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:447:9: ( enumName ( enumContainerType enumBody | enumBody |) )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:448:9: ( enumName ( enumContainerType enumBody | enumBody |) )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:449:13: enumName ( enumContainerType enumBody | enumBody |)
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:447:9: ( enumName ( enumContainerType enumBody | enumBody |) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:448:13: enumName ( enumContainerType enumBody | enumBody |)
                                        {
-                                       pushFollow(FOLLOW_enumName_in_enumSpecifier2283);
+                                       pushFollow(FOLLOW_enumName_in_enumSpecifier2276);
                                        enumName105=enumName();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_enumName.add(enumName105.getTree());
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:450:13: ( enumContainerType enumBody | enumBody |)
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:449:13: ( enumContainerType enumBody | enumBody |)
                                        int alt32=3;
                                        switch ( input.LA(1) ) {
                                        case COLON:
@@ -4860,14 +4857,14 @@ public class CTFParser extends Parser {
                                        }
                                        switch (alt32) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:451:17: enumContainerType enumBody
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:450:17: enumContainerType enumBody
                                                        {
-                                                       pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2315);
+                                                       pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2308);
                                                        enumContainerType106=enumContainerType();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
                                                        if ( state.backtracking==0 ) stream_enumContainerType.add(enumContainerType106.getTree());
-                                                       pushFollow(FOLLOW_enumBody_in_enumSpecifier2317);
+                                                       pushFollow(FOLLOW_enumBody_in_enumSpecifier2310);
                                                        enumBody107=enumBody();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -4875,9 +4872,9 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:453:17: enumBody
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:452:17: enumBody
                                                        {
-                                                       pushFollow(FOLLOW_enumBody_in_enumSpecifier2347);
+                                                       pushFollow(FOLLOW_enumBody_in_enumSpecifier2340);
                                                        enumBody108=enumBody();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -4885,7 +4882,7 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 3 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:456:13: 
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:455:13: 
                                                        {
                                                        }
                                                        break;
@@ -4897,9 +4894,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:460:9: ( enumContainerType enumBody | enumBody )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:459:9: ( enumContainerType enumBody | enumBody )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:460:9: ( enumContainerType enumBody | enumBody )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:459:9: ( enumContainerType enumBody | enumBody )
                                        int alt33=2;
                                        int LA33_0 = input.LA(1);
                                        if ( (LA33_0==COLON) ) {
@@ -4918,14 +4915,14 @@ public class CTFParser extends Parser {
 
                                        switch (alt33) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:461:13: enumContainerType enumBody
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:460:13: enumContainerType enumBody
                                                        {
-                                                       pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2439);
+                                                       pushFollow(FOLLOW_enumContainerType_in_enumSpecifier2432);
                                                        enumContainerType109=enumContainerType();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
                                                        if ( state.backtracking==0 ) stream_enumContainerType.add(enumContainerType109.getTree());
-                                                       pushFollow(FOLLOW_enumBody_in_enumSpecifier2441);
+                                                       pushFollow(FOLLOW_enumBody_in_enumSpecifier2434);
                                                        enumBody110=enumBody();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -4933,9 +4930,9 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:463:13: enumBody
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:462:13: enumBody
                                                        {
-                                                       pushFollow(FOLLOW_enumBody_in_enumSpecifier2465);
+                                                       pushFollow(FOLLOW_enumBody_in_enumSpecifier2458);
                                                        enumBody111=enumBody();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -4951,7 +4948,7 @@ public class CTFParser extends Parser {
                        }
 
                        // AST REWRITE
-                       // elements: enumName, enumContainerType, enumBody
+                       // elements: enumName, enumBody, enumContainerType
                        // token labels: 
                        // rule labels: retval
                        // token list labels: 
@@ -4962,25 +4959,25 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 465:7: -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
+                       // 464:7: -> ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:465:10: ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:464:10: ^( ENUM ( enumName )? ( enumContainerType )? ( enumBody )? )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM, "ENUM"), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:465:17: ( enumName )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:464:17: ( enumName )?
                                if ( stream_enumName.hasNext() ) {
                                        adaptor.addChild(root_1, stream_enumName.nextTree());
                                }
                                stream_enumName.reset();
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:465:27: ( enumContainerType )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:464:27: ( enumContainerType )?
                                if ( stream_enumContainerType.hasNext() ) {
                                        adaptor.addChild(root_1, stream_enumContainerType.nextTree());
                                }
                                stream_enumContainerType.reset();
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:465:46: ( enumBody )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:464:46: ( enumBody )?
                                if ( stream_enumBody.hasNext() ) {
                                        adaptor.addChild(root_1, stream_enumBody.nextTree());
                                }
@@ -5025,7 +5022,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "enumName"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:468:1: enumName : IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:467:1: enumName : IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) ;
        public final CTFParser.enumName_return enumName() throws RecognitionException {
                CTFParser.enumName_return retval = new CTFParser.enumName_return();
                retval.start = input.LT(1);
@@ -5038,10 +5035,10 @@ public class CTFParser extends Parser {
                RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:469:3: ( IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:469:5: IDENTIFIER
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:468:3: ( IDENTIFIER -> ^( ENUM_NAME IDENTIFIER ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:468:5: IDENTIFIER
                        {
-                       IDENTIFIER112=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_enumName2509); if (state.failed) return retval; 
+                       IDENTIFIER112=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_enumName2502); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER112);
 
                        // AST REWRITE
@@ -5056,9 +5053,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 469:16: -> ^( ENUM_NAME IDENTIFIER )
+                       // 468:16: -> ^( ENUM_NAME IDENTIFIER )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:469:19: ^( ENUM_NAME IDENTIFIER )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:468:19: ^( ENUM_NAME IDENTIFIER )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_NAME, "ENUM_NAME"), root_1);
@@ -5102,7 +5099,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "enumBody"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:1: enumBody : LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:471:1: enumBody : LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) ;
        public final CTFParser.enumBody_return enumBody() throws RecognitionException {
                CTFParser.enumBody_return retval = new CTFParser.enumBody_return();
                retval.start = input.LT(1);
@@ -5117,24 +5114,24 @@ public class CTFParser extends Parser {
                CommonTree LCURL113_tree=null;
                CommonTree SEPARATOR115_tree=null;
                CommonTree RCURL116_tree=null;
-               RewriteRuleTokenStream stream_LCURL=new RewriteRuleTokenStream(adaptor,"token LCURL");
                RewriteRuleTokenStream stream_SEPARATOR=new RewriteRuleTokenStream(adaptor,"token SEPARATOR");
+               RewriteRuleTokenStream stream_LCURL=new RewriteRuleTokenStream(adaptor,"token LCURL");
                RewriteRuleTokenStream stream_RCURL=new RewriteRuleTokenStream(adaptor,"token RCURL");
                RewriteRuleSubtreeStream stream_enumeratorList=new RewriteRuleSubtreeStream(adaptor,"rule enumeratorList");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:3: ( LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:5: LCURL enumeratorList ( SEPARATOR )? RCURL
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:3: ( LCURL enumeratorList ( SEPARATOR )? RCURL -> ^( ENUM_BODY enumeratorList ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:5: LCURL enumeratorList ( SEPARATOR )? RCURL
                        {
-                       LCURL113=(Token)match(input,LCURL,FOLLOW_LCURL_in_enumBody2530); if (state.failed) return retval; 
+                       LCURL113=(Token)match(input,LCURL,FOLLOW_LCURL_in_enumBody2523); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_LCURL.add(LCURL113);
 
-                       pushFollow(FOLLOW_enumeratorList_in_enumBody2532);
+                       pushFollow(FOLLOW_enumeratorList_in_enumBody2525);
                        enumeratorList114=enumeratorList();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_enumeratorList.add(enumeratorList114.getTree());
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:26: ( SEPARATOR )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:26: ( SEPARATOR )?
                        int alt35=2;
                        int LA35_0 = input.LA(1);
                        if ( (LA35_0==SEPARATOR) ) {
@@ -5142,9 +5139,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt35) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:26: SEPARATOR
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:26: SEPARATOR
                                        {
-                                       SEPARATOR115=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_enumBody2534); if (state.failed) return retval; 
+                                       SEPARATOR115=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_enumBody2527); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR115);
 
                                        }
@@ -5152,7 +5149,7 @@ public class CTFParser extends Parser {
 
                        }
 
-                       RCURL116=(Token)match(input,RCURL,FOLLOW_RCURL_in_enumBody2537); if (state.failed) return retval; 
+                       RCURL116=(Token)match(input,RCURL,FOLLOW_RCURL_in_enumBody2530); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_RCURL.add(RCURL116);
 
                        // AST REWRITE
@@ -5167,9 +5164,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 473:43: -> ^( ENUM_BODY enumeratorList )
+                       // 472:43: -> ^( ENUM_BODY enumeratorList )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:473:46: ^( ENUM_BODY enumeratorList )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:472:46: ^( ENUM_BODY enumeratorList )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_BODY, "ENUM_BODY"), root_1);
@@ -5213,7 +5210,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "enumContainerType"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:476:1: enumContainerType : COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:475:1: enumContainerType : COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) ;
        public final CTFParser.enumContainerType_return enumContainerType() throws RecognitionException {
                CTFParser.enumContainerType_return retval = new CTFParser.enumContainerType_return();
                retval.start = input.LT(1);
@@ -5228,13 +5225,13 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_declarationSpecifiers=new RewriteRuleSubtreeStream(adaptor,"rule declarationSpecifiers");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:477:3: ( COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:477:5: COLON declarationSpecifiers
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:476:3: ( COLON declarationSpecifiers -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:476:5: COLON declarationSpecifiers
                        {
-                       COLON117=(Token)match(input,COLON,FOLLOW_COLON_in_enumContainerType2558); if (state.failed) return retval; 
+                       COLON117=(Token)match(input,COLON,FOLLOW_COLON_in_enumContainerType2551); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_COLON.add(COLON117);
 
-                       pushFollow(FOLLOW_declarationSpecifiers_in_enumContainerType2560);
+                       pushFollow(FOLLOW_declarationSpecifiers_in_enumContainerType2553);
                        declarationSpecifiers118=declarationSpecifiers();
                        state._fsp--;
                        if (state.failed) return retval;
@@ -5251,9 +5248,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 477:33: -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
+                       // 476:33: -> ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:477:36: ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:476:36: ^( ENUM_CONTAINER_TYPE declarationSpecifiers )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_CONTAINER_TYPE, "ENUM_CONTAINER_TYPE"), root_1);
@@ -5297,7 +5294,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "enumeratorList"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:1: enumeratorList : enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:479:1: enumeratorList : enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ ;
        public final CTFParser.enumeratorList_return enumeratorList() throws RecognitionException {
                CTFParser.enumeratorList_return retval = new CTFParser.enumeratorList_return();
                retval.start = input.LT(1);
@@ -5313,15 +5310,15 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_enumerator=new RewriteRuleSubtreeStream(adaptor,"rule enumerator");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:3: ( enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:5: enumerator ( SEPARATOR enumerator )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:3: ( enumerator ( SEPARATOR enumerator )* -> ( ^( ENUM_ENUMERATOR enumerator ) )+ )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:5: enumerator ( SEPARATOR enumerator )*
                        {
-                       pushFollow(FOLLOW_enumerator_in_enumeratorList2581);
+                       pushFollow(FOLLOW_enumerator_in_enumeratorList2574);
                        enumerator119=enumerator();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_enumerator.add(enumerator119.getTree());
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:16: ( SEPARATOR enumerator )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:16: ( SEPARATOR enumerator )*
                        loop36:
                        while (true) {
                                int alt36=2;
@@ -5336,12 +5333,12 @@ public class CTFParser extends Parser {
 
                                switch (alt36) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:17: SEPARATOR enumerator
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:17: SEPARATOR enumerator
                                        {
-                                       SEPARATOR120=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_enumeratorList2584); if (state.failed) return retval; 
+                                       SEPARATOR120=(Token)match(input,SEPARATOR,FOLLOW_SEPARATOR_in_enumeratorList2577); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_SEPARATOR.add(SEPARATOR120);
 
-                                       pushFollow(FOLLOW_enumerator_in_enumeratorList2586);
+                                       pushFollow(FOLLOW_enumerator_in_enumeratorList2579);
                                        enumerator121=enumerator();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -5366,13 +5363,13 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 481:40: -> ( ^( ENUM_ENUMERATOR enumerator ) )+
+                       // 480:40: -> ( ^( ENUM_ENUMERATOR enumerator ) )+
                        {
                                if ( !(stream_enumerator.hasNext()) ) {
                                        throw new RewriteEarlyExitException();
                                }
                                while ( stream_enumerator.hasNext() ) {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:481:44: ^( ENUM_ENUMERATOR enumerator )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:480:44: ^( ENUM_ENUMERATOR enumerator )
                                        {
                                        CommonTree root_1 = (CommonTree)adaptor.nil();
                                        root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_ENUMERATOR, "ENUM_ENUMERATOR"), root_1);
@@ -5419,7 +5416,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "enumerator"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:1: enumerator : enumConstant ( enumeratorValue )? ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:483:1: enumerator : enumConstant ( enumeratorValue )? ;
        public final CTFParser.enumerator_return enumerator() throws RecognitionException {
                CTFParser.enumerator_return retval = new CTFParser.enumerator_return();
                retval.start = input.LT(1);
@@ -5431,19 +5428,19 @@ public class CTFParser extends Parser {
 
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:485:3: ( enumConstant ( enumeratorValue )? )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:485:5: enumConstant ( enumeratorValue )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:3: ( enumConstant ( enumeratorValue )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:5: enumConstant ( enumeratorValue )?
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       pushFollow(FOLLOW_enumConstant_in_enumerator2612);
+                       pushFollow(FOLLOW_enumConstant_in_enumerator2605);
                        enumConstant122=enumConstant();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) adaptor.addChild(root_0, enumConstant122.getTree());
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:485:18: ( enumeratorValue )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:18: ( enumeratorValue )?
                        int alt37=2;
                        int LA37_0 = input.LA(1);
                        if ( (LA37_0==ASSIGNMENT) ) {
@@ -5451,9 +5448,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt37) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:485:18: enumeratorValue
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:484:18: enumeratorValue
                                        {
-                                       pushFollow(FOLLOW_enumeratorValue_in_enumerator2614);
+                                       pushFollow(FOLLOW_enumeratorValue_in_enumerator2607);
                                        enumeratorValue123=enumeratorValue();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -5494,7 +5491,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "enumeratorValue"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:488:1: enumeratorValue : ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:487:1: enumeratorValue : ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) ;
        public final CTFParser.enumeratorValue_return enumeratorValue() throws RecognitionException {
                CTFParser.enumeratorValue_return retval = new CTFParser.enumeratorValue_return();
                retval.start = input.LT(1);
@@ -5513,18 +5510,18 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_unaryExpression=new RewriteRuleSubtreeStream(adaptor,"rule unaryExpression");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:489:3: ( ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:489:5: ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:488:3: ( ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:488:5: ASSIGNMENT e1= unaryExpression ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
                        {
-                       ASSIGNMENT124=(Token)match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_enumeratorValue2628); if (state.failed) return retval; 
+                       ASSIGNMENT124=(Token)match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_enumeratorValue2621); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_ASSIGNMENT.add(ASSIGNMENT124);
 
-                       pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2632);
+                       pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2625);
                        e1=unaryExpression();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_unaryExpression.add(e1.getTree());
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:490:7: ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:489:7: ( -> ^( ENUM_VALUE $e1) | ELIPSES e2= unaryExpression -> ^( ENUM_VALUE_RANGE $e1 $e2) )
                        int alt38=2;
                        int LA38_0 = input.LA(1);
                        if ( (LA38_0==RCURL||LA38_0==SEPARATOR) ) {
@@ -5543,24 +5540,24 @@ public class CTFParser extends Parser {
 
                        switch (alt38) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:491:11: 
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:490:11: 
                                        {
                                        // AST REWRITE
                                        // elements: e1
                                        // token labels: 
-                                       // rule labels: retval, e1
+                                       // rule labels: e1, retval
                                        // token list labels: 
                                        // rule list labels: 
                                        // wildcard labels: 
                                        if ( state.backtracking==0 ) {
                                        retval.tree = root_0;
-                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
                                        RewriteRuleSubtreeStream stream_e1=new RewriteRuleSubtreeStream(adaptor,"rule e1",e1!=null?e1.getTree():null);
+                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 491:11: -> ^( ENUM_VALUE $e1)
+                                       // 490:11: -> ^( ENUM_VALUE $e1)
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:491:14: ^( ENUM_VALUE $e1)
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:490:14: ^( ENUM_VALUE $e1)
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_VALUE, "ENUM_VALUE"), root_1);
@@ -5577,33 +5574,33 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:492:9: ELIPSES e2= unaryExpression
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:491:9: ELIPSES e2= unaryExpression
                                        {
-                                       ELIPSES125=(Token)match(input,ELIPSES,FOLLOW_ELIPSES_in_enumeratorValue2671); if (state.failed) return retval; 
+                                       ELIPSES125=(Token)match(input,ELIPSES,FOLLOW_ELIPSES_in_enumeratorValue2664); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_ELIPSES.add(ELIPSES125);
 
-                                       pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2675);
+                                       pushFollow(FOLLOW_unaryExpression_in_enumeratorValue2668);
                                        e2=unaryExpression();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_unaryExpression.add(e2.getTree());
                                        // AST REWRITE
-                                       // elements: e2, e1
+                                       // elements: e1, e2
                                        // token labels: 
-                                       // rule labels: retval, e1, e2
+                                       // rule labels: e1, e2, retval
                                        // token list labels: 
                                        // rule list labels: 
                                        // wildcard labels: 
                                        if ( state.backtracking==0 ) {
                                        retval.tree = root_0;
-                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
                                        RewriteRuleSubtreeStream stream_e1=new RewriteRuleSubtreeStream(adaptor,"rule e1",e1!=null?e1.getTree():null);
                                        RewriteRuleSubtreeStream stream_e2=new RewriteRuleSubtreeStream(adaptor,"rule e2",e2!=null?e2.getTree():null);
+                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 493:11: -> ^( ENUM_VALUE_RANGE $e1 $e2)
+                                       // 492:11: -> ^( ENUM_VALUE_RANGE $e1 $e2)
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:493:14: ^( ENUM_VALUE_RANGE $e1 $e2)
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:492:14: ^( ENUM_VALUE_RANGE $e1 $e2)
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(ENUM_VALUE_RANGE, "ENUM_VALUE_RANGE"), root_1);
@@ -5653,7 +5650,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "declarator"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:1: declarator : ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:496:1: declarator : ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) ;
        public final CTFParser.declarator_return declarator() throws RecognitionException {
                CTFParser.declarator_return retval = new CTFParser.declarator_return();
                retval.start = input.LT(1);
@@ -5663,14 +5660,14 @@ public class CTFParser extends Parser {
                ParserRuleReturnScope pointer126 =null;
                ParserRuleReturnScope directDeclarator127 =null;
 
-               RewriteRuleSubtreeStream stream_directDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule directDeclarator");
                RewriteRuleSubtreeStream stream_pointer=new RewriteRuleSubtreeStream(adaptor,"rule pointer");
+               RewriteRuleSubtreeStream stream_directDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule directDeclarator");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:3: ( ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:5: ( pointer )* directDeclarator
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:3: ( ( pointer )* directDeclarator -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:5: ( pointer )* directDeclarator
                        {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:5: ( pointer )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:5: ( pointer )*
                        loop39:
                        while (true) {
                                int alt39=2;
@@ -5681,9 +5678,9 @@ public class CTFParser extends Parser {
 
                                switch (alt39) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:5: pointer
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:497:5: pointer
                                        {
-                                       pushFollow(FOLLOW_pointer_in_declarator2718);
+                                       pushFollow(FOLLOW_pointer_in_declarator2711);
                                        pointer126=pointer();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -5696,7 +5693,7 @@ public class CTFParser extends Parser {
                                }
                        }
 
-                       pushFollow(FOLLOW_directDeclarator_in_declarator2721);
+                       pushFollow(FOLLOW_directDeclarator_in_declarator2714);
                        directDeclarator127=directDeclarator();
                        state._fsp--;
                        if (state.failed) return retval;
@@ -5713,13 +5710,13 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 499:7: -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
+                       // 498:7: -> ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:499:10: ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:10: ^( TYPE_DECLARATOR ( pointer )* directDeclarator )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR, "TYPE_DECLARATOR"), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:499:28: ( pointer )*
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:498:28: ( pointer )*
                                while ( stream_pointer.hasNext() ) {
                                        adaptor.addChild(root_1, stream_pointer.nextTree());
                                }
@@ -5765,7 +5762,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "directDeclarator"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:502:1: directDeclarator : ( IDENTIFIER ) ( directDeclaratorSuffix )* ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:501:1: directDeclarator : ( IDENTIFIER ) ( directDeclaratorSuffix )* ;
        public final CTFParser.directDeclarator_return directDeclarator() throws RecognitionException {
                CTFParser.directDeclarator_return retval = new CTFParser.directDeclarator_return();
                retval.start = input.LT(1);
@@ -5778,16 +5775,16 @@ public class CTFParser extends Parser {
                CommonTree IDENTIFIER128_tree=null;
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:503:3: ( ( IDENTIFIER ) ( directDeclaratorSuffix )* )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:503:5: ( IDENTIFIER ) ( directDeclaratorSuffix )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:502:3: ( ( IDENTIFIER ) ( directDeclaratorSuffix )* )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:502:5: ( IDENTIFIER ) ( directDeclaratorSuffix )*
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:503:5: ( IDENTIFIER )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:504:7: IDENTIFIER
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:502:5: ( IDENTIFIER )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:503:7: IDENTIFIER
                        {
-                       IDENTIFIER128=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_directDeclarator2759); if (state.failed) return retval;
+                       IDENTIFIER128=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_directDeclarator2752); if (state.failed) return retval;
                        if ( state.backtracking==0 ) {
                        IDENTIFIER128_tree = (CommonTree)adaptor.create(IDENTIFIER128);
                        adaptor.addChild(root_0, IDENTIFIER128_tree);
@@ -5797,7 +5794,7 @@ public class CTFParser extends Parser {
                        if ( state.backtracking==0 ) { debug_print((IDENTIFIER128!=null?IDENTIFIER128.getText():null)); }
                        }
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:509:5: ( directDeclaratorSuffix )*
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:508:5: ( directDeclaratorSuffix )*
                        loop40:
                        while (true) {
                                int alt40=2;
@@ -5808,9 +5805,9 @@ public class CTFParser extends Parser {
 
                                switch (alt40) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:509:5: directDeclaratorSuffix
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:508:5: directDeclaratorSuffix
                                        {
-                                       pushFollow(FOLLOW_directDeclaratorSuffix_in_directDeclarator2799);
+                                       pushFollow(FOLLOW_directDeclaratorSuffix_in_directDeclarator2792);
                                        directDeclaratorSuffix129=directDeclaratorSuffix();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -5854,7 +5851,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "directDeclaratorSuffix"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:512:1: directDeclaratorSuffix : OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:511:1: directDeclaratorSuffix : OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) ;
        public final CTFParser.directDeclaratorSuffix_return directDeclaratorSuffix() throws RecognitionException {
                CTFParser.directDeclaratorSuffix_return retval = new CTFParser.directDeclaratorSuffix_return();
                retval.start = input.LT(1);
@@ -5872,18 +5869,18 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_directDeclaratorLength=new RewriteRuleSubtreeStream(adaptor,"rule directDeclaratorLength");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:513:3: ( OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:513:5: OPENBRAC directDeclaratorLength CLOSEBRAC
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:512:3: ( OPENBRAC directDeclaratorLength CLOSEBRAC -> ^( LENGTH directDeclaratorLength ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:512:5: OPENBRAC directDeclaratorLength CLOSEBRAC
                        {
-                       OPENBRAC130=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_directDeclaratorSuffix2813); if (state.failed) return retval; 
+                       OPENBRAC130=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_directDeclaratorSuffix2806); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_OPENBRAC.add(OPENBRAC130);
 
-                       pushFollow(FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2815);
+                       pushFollow(FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2808);
                        directDeclaratorLength131=directDeclaratorLength();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_directDeclaratorLength.add(directDeclaratorLength131.getTree());
-                       CLOSEBRAC132=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2817); if (state.failed) return retval; 
+                       CLOSEBRAC132=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2810); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_CLOSEBRAC.add(CLOSEBRAC132);
 
                        // AST REWRITE
@@ -5898,9 +5895,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 514:7: -> ^( LENGTH directDeclaratorLength )
+                       // 513:7: -> ^( LENGTH directDeclaratorLength )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:514:10: ^( LENGTH directDeclaratorLength )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:513:10: ^( LENGTH directDeclaratorLength )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(LENGTH, "LENGTH"), root_1);
@@ -5944,7 +5941,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "directDeclaratorLength"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:517:1: directDeclaratorLength : unaryExpression ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:516:1: directDeclaratorLength : unaryExpression ;
        public final CTFParser.directDeclaratorLength_return directDeclaratorLength() throws RecognitionException {
                CTFParser.directDeclaratorLength_return retval = new CTFParser.directDeclaratorLength_return();
                retval.start = input.LT(1);
@@ -5955,13 +5952,13 @@ public class CTFParser extends Parser {
 
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:518:3: ( unaryExpression )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:518:5: unaryExpression
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:517:3: ( unaryExpression )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:517:5: unaryExpression
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       pushFollow(FOLLOW_unaryExpression_in_directDeclaratorLength2845);
+                       pushFollow(FOLLOW_unaryExpression_in_directDeclaratorLength2838);
                        unaryExpression133=unaryExpression();
                        state._fsp--;
                        if (state.failed) return retval;
@@ -5997,7 +5994,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "abstractDeclarator"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:1: abstractDeclarator : ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:520:1: abstractDeclarator : ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) );
        public final CTFParser.abstractDeclarator_return abstractDeclarator() throws RecognitionException {
                CTFParser.abstractDeclarator_return retval = new CTFParser.abstractDeclarator_return();
                retval.start = input.LT(1);
@@ -6012,7 +6009,7 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_directAbstractDeclarator=new RewriteRuleSubtreeStream(adaptor,"rule directAbstractDeclarator");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:3: ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:3: ( ( pointer )+ ( directAbstractDeclarator )? -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? ) | directAbstractDeclarator -> ^( TYPE_DECLARATOR directAbstractDeclarator ) )
                        int alt43=2;
                        int LA43_0 = input.LA(1);
                        if ( (LA43_0==POINTER) ) {
@@ -6031,9 +6028,9 @@ public class CTFParser extends Parser {
 
                        switch (alt43) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:5: ( pointer )+ ( directAbstractDeclarator )?
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:5: ( pointer )+ ( directAbstractDeclarator )?
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:5: ( pointer )+
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:5: ( pointer )+
                                        int cnt41=0;
                                        loop41:
                                        while (true) {
@@ -6045,9 +6042,9 @@ public class CTFParser extends Parser {
 
                                                switch (alt41) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:5: pointer
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:5: pointer
                                                        {
-                                                       pushFollow(FOLLOW_pointer_in_abstractDeclarator2858);
+                                                       pushFollow(FOLLOW_pointer_in_abstractDeclarator2851);
                                                        pointer134=pointer();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -6064,7 +6061,7 @@ public class CTFParser extends Parser {
                                                cnt41++;
                                        }
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:14: ( directAbstractDeclarator )?
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:14: ( directAbstractDeclarator )?
                                        int alt42=2;
                                        int LA42_0 = input.LA(1);
                                        if ( (LA42_0==IDENTIFIER||LA42_0==LPAREN) ) {
@@ -6072,9 +6069,9 @@ public class CTFParser extends Parser {
                                        }
                                        switch (alt42) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:14: directAbstractDeclarator
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:521:14: directAbstractDeclarator
                                                        {
-                                                       pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2861);
+                                                       pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2854);
                                                        directAbstractDeclarator135=directAbstractDeclarator();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -6085,7 +6082,7 @@ public class CTFParser extends Parser {
                                        }
 
                                        // AST REWRITE
-                                       // elements: directAbstractDeclarator, pointer
+                                       // elements: pointer, directAbstractDeclarator
                                        // token labels: 
                                        // rule labels: retval
                                        // token list labels: 
@@ -6096,9 +6093,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 523:7: -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
+                                       // 522:7: -> ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:523:10: ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:10: ^( TYPE_DECLARATOR ( pointer )+ ( directAbstractDeclarator )? )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR, "TYPE_DECLARATOR"), root_1);
@@ -6110,7 +6107,7 @@ public class CTFParser extends Parser {
                                                }
                                                stream_pointer.reset();
 
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:523:37: ( directAbstractDeclarator )?
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:522:37: ( directAbstractDeclarator )?
                                                if ( stream_directAbstractDeclarator.hasNext() ) {
                                                        adaptor.addChild(root_1, stream_directAbstractDeclarator.nextTree());
                                                }
@@ -6128,9 +6125,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:524:5: directAbstractDeclarator
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:523:5: directAbstractDeclarator
                                        {
-                                       pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2886);
+                                       pushFollow(FOLLOW_directAbstractDeclarator_in_abstractDeclarator2879);
                                        directAbstractDeclarator136=directAbstractDeclarator();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -6147,9 +6144,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 525:7: -> ^( TYPE_DECLARATOR directAbstractDeclarator )
+                                       // 524:7: -> ^( TYPE_DECLARATOR directAbstractDeclarator )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:525:10: ^( TYPE_DECLARATOR directAbstractDeclarator )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:524:10: ^( TYPE_DECLARATOR directAbstractDeclarator )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_DECLARATOR, "TYPE_DECLARATOR"), root_1);
@@ -6195,7 +6192,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "directAbstractDeclarator"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:533:1: directAbstractDeclarator : ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:532:1: directAbstractDeclarator : ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? ;
        public final CTFParser.directAbstractDeclarator_return directAbstractDeclarator() throws RecognitionException {
                CTFParser.directAbstractDeclarator_return retval = new CTFParser.directAbstractDeclarator_return();
                retval.start = input.LT(1);
@@ -6217,13 +6214,13 @@ public class CTFParser extends Parser {
                CommonTree CLOSEBRAC143_tree=null;
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:534:3: ( ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:534:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:533:3: ( ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:533:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) ) ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:534:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:533:5: ( IDENTIFIER | ( LPAREN abstractDeclarator RPAREN ) )
                        int alt44=2;
                        int LA44_0 = input.LA(1);
                        if ( (LA44_0==IDENTIFIER) ) {
@@ -6242,9 +6239,9 @@ public class CTFParser extends Parser {
 
                        switch (alt44) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:535:7: IDENTIFIER
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:534:7: IDENTIFIER
                                        {
-                                       IDENTIFIER137=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_directAbstractDeclarator2923); if (state.failed) return retval;
+                                       IDENTIFIER137=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_directAbstractDeclarator2916); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        IDENTIFIER137_tree = (CommonTree)adaptor.create(IDENTIFIER137);
                                        adaptor.addChild(root_0, IDENTIFIER137_tree);
@@ -6253,24 +6250,24 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:536:9: ( LPAREN abstractDeclarator RPAREN )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:535:9: ( LPAREN abstractDeclarator RPAREN )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:536:9: ( LPAREN abstractDeclarator RPAREN )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:536:10: LPAREN abstractDeclarator RPAREN
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:535:9: ( LPAREN abstractDeclarator RPAREN )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:535:10: LPAREN abstractDeclarator RPAREN
                                        {
-                                       LPAREN138=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_directAbstractDeclarator2934); if (state.failed) return retval;
+                                       LPAREN138=(Token)match(input,LPAREN,FOLLOW_LPAREN_in_directAbstractDeclarator2927); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        LPAREN138_tree = (CommonTree)adaptor.create(LPAREN138);
                                        adaptor.addChild(root_0, LPAREN138_tree);
                                        }
 
-                                       pushFollow(FOLLOW_abstractDeclarator_in_directAbstractDeclarator2936);
+                                       pushFollow(FOLLOW_abstractDeclarator_in_directAbstractDeclarator2929);
                                        abstractDeclarator139=abstractDeclarator();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) adaptor.addChild(root_0, abstractDeclarator139.getTree());
 
-                                       RPAREN140=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_directAbstractDeclarator2938); if (state.failed) return retval;
+                                       RPAREN140=(Token)match(input,RPAREN,FOLLOW_RPAREN_in_directAbstractDeclarator2931); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        RPAREN140_tree = (CommonTree)adaptor.create(RPAREN140);
                                        adaptor.addChild(root_0, RPAREN140_tree);
@@ -6283,7 +6280,7 @@ public class CTFParser extends Parser {
 
                        }
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:537:5: ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:536:5: ( OPENBRAC ( unaryExpression )? CLOSEBRAC )?
                        int alt46=2;
                        int LA46_0 = input.LA(1);
                        if ( (LA46_0==OPENBRAC) ) {
@@ -6291,25 +6288,25 @@ public class CTFParser extends Parser {
                        }
                        switch (alt46) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:538:7: OPENBRAC ( unaryExpression )? CLOSEBRAC
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:537:7: OPENBRAC ( unaryExpression )? CLOSEBRAC
                                        {
-                                       OPENBRAC141=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_directAbstractDeclarator2953); if (state.failed) return retval;
+                                       OPENBRAC141=(Token)match(input,OPENBRAC,FOLLOW_OPENBRAC_in_directAbstractDeclarator2946); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        OPENBRAC141_tree = (CommonTree)adaptor.create(OPENBRAC141);
                                        adaptor.addChild(root_0, OPENBRAC141_tree);
                                        }
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:538:16: ( unaryExpression )?
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:537:16: ( unaryExpression )?
                                        int alt45=2;
                                        int LA45_0 = input.LA(1);
-                                       if ( (LA45_0==ALIGNTOK||(LA45_0 >= CALLSITETOK && LA45_0 <= CHARACTER_LITERAL)||LA45_0==CLOCKTOK||LA45_0==DECIMAL_LITERAL||LA45_0==ENVTOK||LA45_0==EVENTTOK||LA45_0==HEX_LITERAL||LA45_0==IDENTIFIER||LA45_0==OCTAL_LITERAL||(LA45_0 >= SIGN && LA45_0 <= SIGNEDTOK)||LA45_0==STREAMTOK||LA45_0==STRINGTOK||LA45_0==STRING_LITERAL||LA45_0==TRACETOK) ) {
+                                       if ( (LA45_0==ALIGNTOK||LA45_0==CHARACTER_LITERAL||LA45_0==CLOCKTOK||LA45_0==DECIMAL_LITERAL||LA45_0==ENVTOK||LA45_0==EVENTTOK||LA45_0==HEX_LITERAL||LA45_0==IDENTIFIER||LA45_0==OCTAL_LITERAL||(LA45_0 >= SIGN && LA45_0 <= SIGNEDTOK)||LA45_0==STREAMTOK||LA45_0==STRINGTOK||LA45_0==STRING_LITERAL||LA45_0==TRACETOK) ) {
                                                alt45=1;
                                        }
                                        switch (alt45) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:538:16: unaryExpression
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:537:16: unaryExpression
                                                        {
-                                                       pushFollow(FOLLOW_unaryExpression_in_directAbstractDeclarator2955);
+                                                       pushFollow(FOLLOW_unaryExpression_in_directAbstractDeclarator2948);
                                                        unaryExpression142=unaryExpression();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -6320,7 +6317,7 @@ public class CTFParser extends Parser {
 
                                        }
 
-                                       CLOSEBRAC143=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2958); if (state.failed) return retval;
+                                       CLOSEBRAC143=(Token)match(input,CLOSEBRAC,FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2951); if (state.failed) return retval;
                                        if ( state.backtracking==0 ) {
                                        CLOSEBRAC143_tree = (CommonTree)adaptor.create(CLOSEBRAC143);
                                        adaptor.addChild(root_0, CLOSEBRAC143_tree);
@@ -6361,7 +6358,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "pointer"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:1: pointer : POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:541:1: pointer : POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) ;
        public final CTFParser.pointer_return pointer() throws RecognitionException {
                CTFParser.pointer_return retval = new CTFParser.pointer_return();
                retval.start = input.LT(1);
@@ -6376,13 +6373,13 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_typeQualifierList=new RewriteRuleSubtreeStream(adaptor,"rule typeQualifierList");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:3: ( POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:5: POINTER ( typeQualifierList )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:3: ( POINTER ( typeQualifierList )? -> ^( POINTER ( typeQualifierList )? ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:5: POINTER ( typeQualifierList )?
                        {
-                       POINTER144=(Token)match(input,POINTER,FOLLOW_POINTER_in_pointer2976); if (state.failed) return retval; 
+                       POINTER144=(Token)match(input,POINTER,FOLLOW_POINTER_in_pointer2969); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_POINTER.add(POINTER144);
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:13: ( typeQualifierList )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:13: ( typeQualifierList )?
                        int alt47=2;
                        int LA47_0 = input.LA(1);
                        if ( (LA47_0==CONSTTOK) ) {
@@ -6390,9 +6387,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt47) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:13: typeQualifierList
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:13: typeQualifierList
                                        {
-                                       pushFollow(FOLLOW_typeQualifierList_in_pointer2978);
+                                       pushFollow(FOLLOW_typeQualifierList_in_pointer2971);
                                        typeQualifierList145=typeQualifierList();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -6403,7 +6400,7 @@ public class CTFParser extends Parser {
                        }
 
                        // AST REWRITE
-                       // elements: POINTER, typeQualifierList
+                       // elements: typeQualifierList, POINTER
                        // token labels: 
                        // rule labels: retval
                        // token list labels: 
@@ -6414,13 +6411,13 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 543:32: -> ^( POINTER ( typeQualifierList )? )
+                       // 542:32: -> ^( POINTER ( typeQualifierList )? )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:35: ^( POINTER ( typeQualifierList )? )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:35: ^( POINTER ( typeQualifierList )? )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot(stream_POINTER.nextNode(), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:543:45: ( typeQualifierList )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:542:45: ( typeQualifierList )?
                                if ( stream_typeQualifierList.hasNext() ) {
                                        adaptor.addChild(root_1, stream_typeQualifierList.nextTree());
                                }
@@ -6465,7 +6462,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "typeQualifierList"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:1: typeQualifierList : ( typeQualifier )+ ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:545:1: typeQualifierList : ( typeQualifier )+ ;
        public final CTFParser.typeQualifierList_return typeQualifierList() throws RecognitionException {
                CTFParser.typeQualifierList_return retval = new CTFParser.typeQualifierList_return();
                retval.start = input.LT(1);
@@ -6476,13 +6473,13 @@ public class CTFParser extends Parser {
 
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:547:3: ( ( typeQualifier )+ )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:547:5: ( typeQualifier )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:3: ( ( typeQualifier )+ )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:5: ( typeQualifier )+
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:547:5: ( typeQualifier )+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:5: ( typeQualifier )+
                        int cnt48=0;
                        loop48:
                        while (true) {
@@ -6494,9 +6491,9 @@ public class CTFParser extends Parser {
 
                                switch (alt48) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:547:5: typeQualifier
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:546:5: typeQualifier
                                        {
-                                       pushFollow(FOLLOW_typeQualifier_in_typeQualifierList3001);
+                                       pushFollow(FOLLOW_typeQualifier_in_typeQualifierList2994);
                                        typeQualifier146=typeQualifier();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -6544,7 +6541,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "typedefName"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:550:1: typedefName :{...}? IDENTIFIER ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:549:1: typedefName :{...}? IDENTIFIER ;
        public final CTFParser.typedefName_return typedefName() throws RecognitionException {
                CTFParser.typedefName_return retval = new CTFParser.typedefName_return();
                retval.start = input.LT(1);
@@ -6556,8 +6553,8 @@ public class CTFParser extends Parser {
                CommonTree IDENTIFIER147_tree=null;
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:551:3: ({...}? IDENTIFIER )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:551:5: {...}? IDENTIFIER
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:550:3: ({...}? IDENTIFIER )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:550:5: {...}? IDENTIFIER
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
@@ -6566,7 +6563,7 @@ public class CTFParser extends Parser {
                                if (state.backtracking>0) {state.failed=true; return retval;}
                                throw new FailedPredicateException(input, "typedefName", "inTypealiasAlias() || isTypeName(input.LT(1).getText())");
                        }
-                       IDENTIFIER147=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_typedefName3017); if (state.failed) return retval;
+                       IDENTIFIER147=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_typedefName3010); if (state.failed) return retval;
                        if ( state.backtracking==0 ) {
                        IDENTIFIER147_tree = (CommonTree)adaptor.create(IDENTIFIER147);
                        adaptor.addChild(root_0, IDENTIFIER147_tree);
@@ -6603,7 +6600,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "typealiasTarget"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:1: typealiasTarget : declarationSpecifiers ( abstractDeclaratorList )? ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:559:1: typealiasTarget : declarationSpecifiers ( abstractDeclaratorList )? ;
        public final CTFParser.typealiasTarget_return typealiasTarget() throws RecognitionException {
                CTFParser.typealiasTarget_return retval = new CTFParser.typealiasTarget_return();
                retval.start = input.LT(1);
@@ -6615,19 +6612,19 @@ public class CTFParser extends Parser {
 
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:561:3: ( declarationSpecifiers ( abstractDeclaratorList )? )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:561:5: declarationSpecifiers ( abstractDeclaratorList )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:3: ( declarationSpecifiers ( abstractDeclaratorList )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:5: declarationSpecifiers ( abstractDeclaratorList )?
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       pushFollow(FOLLOW_declarationSpecifiers_in_typealiasTarget3034);
+                       pushFollow(FOLLOW_declarationSpecifiers_in_typealiasTarget3027);
                        declarationSpecifiers148=declarationSpecifiers();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) adaptor.addChild(root_0, declarationSpecifiers148.getTree());
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:561:27: ( abstractDeclaratorList )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:27: ( abstractDeclaratorList )?
                        int alt49=2;
                        int LA49_0 = input.LA(1);
                        if ( (LA49_0==IDENTIFIER||LA49_0==LPAREN||LA49_0==POINTER) ) {
@@ -6635,9 +6632,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt49) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:561:27: abstractDeclaratorList
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:560:27: abstractDeclaratorList
                                        {
-                                       pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasTarget3036);
+                                       pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasTarget3029);
                                        abstractDeclaratorList149=abstractDeclaratorList();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -6678,7 +6675,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "typealiasAlias"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:570:1: typealiasAlias : ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:569:1: typealiasAlias : ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? );
        public final CTFParser.typealiasAlias_return typealiasAlias() throws RecognitionException {
                CTFParser.typealiasAlias_return retval = new CTFParser.typealiasAlias_return();
                retval.start = input.LT(1);
@@ -6694,7 +6691,7 @@ public class CTFParser extends Parser {
                    typealiasAliasOn();
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:3: ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:576:3: ( abstractDeclaratorList | declarationSpecifiers ( abstractDeclaratorList )? )
                        int alt51=2;
                        switch ( input.LA(1) ) {
                        case LPAREN:
@@ -6760,12 +6757,12 @@ public class CTFParser extends Parser {
                        }
                        switch (alt51) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:5: abstractDeclaratorList
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:576:5: abstractDeclaratorList
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3062);
+                                       pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3055);
                                        abstractDeclaratorList150=abstractDeclaratorList();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -6774,18 +6771,18 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:578:5: declarationSpecifiers ( abstractDeclaratorList )?
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:5: declarationSpecifiers ( abstractDeclaratorList )?
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_declarationSpecifiers_in_typealiasAlias3068);
+                                       pushFollow(FOLLOW_declarationSpecifiers_in_typealiasAlias3061);
                                        declarationSpecifiers151=declarationSpecifiers();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) adaptor.addChild(root_0, declarationSpecifiers151.getTree());
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:578:27: ( abstractDeclaratorList )?
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:27: ( abstractDeclaratorList )?
                                        int alt50=2;
                                        int LA50_0 = input.LA(1);
                                        if ( (LA50_0==IDENTIFIER||LA50_0==LPAREN||LA50_0==POINTER) ) {
@@ -6793,9 +6790,9 @@ public class CTFParser extends Parser {
                                        }
                                        switch (alt50) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:578:27: abstractDeclaratorList
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:577:27: abstractDeclaratorList
                                                        {
-                                                       pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3070);
+                                                       pushFollow(FOLLOW_abstractDeclaratorList_in_typealiasAlias3063);
                                                        abstractDeclaratorList152=abstractDeclaratorList();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
@@ -6841,7 +6838,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "typealiasDecl"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:581:1: typealiasDecl : TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:580:1: typealiasDecl : TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) ;
        public final CTFParser.typealiasDecl_return typealiasDecl() throws RecognitionException {
                CTFParser.typealiasDecl_return retval = new CTFParser.typealiasDecl_return();
                retval.start = input.LT(1);
@@ -6861,21 +6858,21 @@ public class CTFParser extends Parser {
                RewriteRuleSubtreeStream stream_typealiasTarget=new RewriteRuleSubtreeStream(adaptor,"rule typealiasTarget");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:582:3: ( TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:582:5: TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:581:3: ( TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:581:5: TYPEALIASTOK typealiasTarget TYPE_ASSIGNMENT typealiasAlias
                        {
-                       TYPEALIASTOK153=(Token)match(input,TYPEALIASTOK,FOLLOW_TYPEALIASTOK_in_typealiasDecl3084); if (state.failed) return retval; 
+                       TYPEALIASTOK153=(Token)match(input,TYPEALIASTOK,FOLLOW_TYPEALIASTOK_in_typealiasDecl3077); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_TYPEALIASTOK.add(TYPEALIASTOK153);
 
-                       pushFollow(FOLLOW_typealiasTarget_in_typealiasDecl3086);
+                       pushFollow(FOLLOW_typealiasTarget_in_typealiasDecl3079);
                        typealiasTarget154=typealiasTarget();
                        state._fsp--;
                        if (state.failed) return retval;
                        if ( state.backtracking==0 ) stream_typealiasTarget.add(typealiasTarget154.getTree());
-                       TYPE_ASSIGNMENT155=(Token)match(input,TYPE_ASSIGNMENT,FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3088); if (state.failed) return retval; 
+                       TYPE_ASSIGNMENT155=(Token)match(input,TYPE_ASSIGNMENT,FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3081); if (state.failed) return retval; 
                        if ( state.backtracking==0 ) stream_TYPE_ASSIGNMENT.add(TYPE_ASSIGNMENT155);
 
-                       pushFollow(FOLLOW_typealiasAlias_in_typealiasDecl3090);
+                       pushFollow(FOLLOW_typealiasAlias_in_typealiasDecl3083);
                        typealiasAlias156=typealiasAlias();
                        state._fsp--;
                        if (state.failed) return retval;
@@ -6892,13 +6889,13 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 583:7: -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
+                       // 582:7: -> ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:583:10: ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:582:10: ^( TYPEALIAS ^( TYPEALIAS_TARGET typealiasTarget ) ^( TYPEALIAS_ALIAS typealiasAlias ) )
                                {
                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEALIAS, "TYPEALIAS"), root_1);
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:584:14: ^( TYPEALIAS_TARGET typealiasTarget )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:583:14: ^( TYPEALIAS_TARGET typealiasTarget )
                                {
                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEALIAS_TARGET, "TYPEALIAS_TARGET"), root_2);
@@ -6906,7 +6903,7 @@ public class CTFParser extends Parser {
                                adaptor.addChild(root_1, root_2);
                                }
 
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:585:14: ^( TYPEALIAS_ALIAS typealiasAlias )
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:584:14: ^( TYPEALIAS_ALIAS typealiasAlias )
                                {
                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEALIAS_ALIAS, "TYPEALIAS_ALIAS"), root_2);
@@ -6953,7 +6950,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "ctfKeyword"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:591:1: ctfKeyword : ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:590:1: ctfKeyword : ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK );
        public final CTFParser.ctfKeyword_return ctfKeyword() throws RecognitionException {
                CTFParser.ctfKeyword_return retval = new CTFParser.ctfKeyword_return();
                retval.start = input.LT(1);
@@ -6965,7 +6962,7 @@ public class CTFParser extends Parser {
                CommonTree set157_tree=null;
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:592:3: ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:591:3: ( ALIGNTOK | EVENTTOK | SIGNEDTOK | STRINGTOK )
                        // org/eclipse/tracecompass/ctf/parser/CTFParser.g:
                        {
                        root_0 = (CommonTree)adaptor.nil();
@@ -7013,7 +7010,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "ctfSpecifier"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:598:1: ctfSpecifier : ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:597:1: ctfSpecifier : ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) );
        public final CTFParser.ctfSpecifier_return ctfSpecifier() throws RecognitionException {
                CTFParser.ctfSpecifier_return retval = new CTFParser.ctfSpecifier_return();
                retval.start = input.LT(1);
@@ -7024,15 +7021,15 @@ public class CTFParser extends Parser {
                ParserRuleReturnScope ctfBody159 =null;
                ParserRuleReturnScope typealiasDecl160 =null;
 
-               RewriteRuleSubtreeStream stream_ctfSpecifierHead=new RewriteRuleSubtreeStream(adaptor,"rule ctfSpecifierHead");
                RewriteRuleSubtreeStream stream_typealiasDecl=new RewriteRuleSubtreeStream(adaptor,"rule typealiasDecl");
+               RewriteRuleSubtreeStream stream_ctfSpecifierHead=new RewriteRuleSubtreeStream(adaptor,"rule ctfSpecifierHead");
                RewriteRuleSubtreeStream stream_ctfBody=new RewriteRuleSubtreeStream(adaptor,"rule ctfBody");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:600:3: ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:599:3: ( ctfSpecifierHead ctfBody -> ^( ctfSpecifierHead ctfBody ) | typealiasDecl -> ^( DECLARATION typealiasDecl ) )
                        int alt52=2;
                        int LA52_0 = input.LA(1);
-                       if ( (LA52_0==CALLSITETOK||LA52_0==CLOCKTOK||LA52_0==ENVTOK||LA52_0==EVENTTOK||LA52_0==STREAMTOK||LA52_0==TRACETOK) ) {
+                       if ( (LA52_0==CLOCKTOK||LA52_0==ENVTOK||LA52_0==EVENTTOK||LA52_0==STREAMTOK||LA52_0==TRACETOK) ) {
                                alt52=1;
                        }
                        else if ( (LA52_0==TYPEALIASTOK) ) {
@@ -7048,20 +7045,20 @@ public class CTFParser extends Parser {
 
                        switch (alt52) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:600:5: ctfSpecifierHead ctfBody
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:599:5: ctfSpecifierHead ctfBody
                                        {
-                                       pushFollow(FOLLOW_ctfSpecifierHead_in_ctfSpecifier3190);
+                                       pushFollow(FOLLOW_ctfSpecifierHead_in_ctfSpecifier3183);
                                        ctfSpecifierHead158=ctfSpecifierHead();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_ctfSpecifierHead.add(ctfSpecifierHead158.getTree());
-                                       pushFollow(FOLLOW_ctfBody_in_ctfSpecifier3192);
+                                       pushFollow(FOLLOW_ctfBody_in_ctfSpecifier3185);
                                        ctfBody159=ctfBody();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody159.getTree());
                                        // AST REWRITE
-                                       // elements: ctfBody, ctfSpecifierHead
+                                       // elements: ctfSpecifierHead, ctfBody
                                        // token labels: 
                                        // rule labels: retval
                                        // token list labels: 
@@ -7072,9 +7069,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 600:30: -> ^( ctfSpecifierHead ctfBody )
+                                       // 599:30: -> ^( ctfSpecifierHead ctfBody )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:600:33: ^( ctfSpecifierHead ctfBody )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:599:33: ^( ctfSpecifierHead ctfBody )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot(stream_ctfSpecifierHead.nextNode(), root_1);
@@ -7091,9 +7088,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:602:5: typealiasDecl
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:601:5: typealiasDecl
                                        {
-                                       pushFollow(FOLLOW_typealiasDecl_in_ctfSpecifier3209);
+                                       pushFollow(FOLLOW_typealiasDecl_in_ctfSpecifier3202);
                                        typealiasDecl160=typealiasDecl();
                                        state._fsp--;
                                        if (state.failed) return retval;
@@ -7110,9 +7107,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 602:19: -> ^( DECLARATION typealiasDecl )
+                                       // 601:19: -> ^( DECLARATION typealiasDecl )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:602:22: ^( DECLARATION typealiasDecl )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:601:22: ^( DECLARATION typealiasDecl )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(DECLARATION, "DECLARATION"), root_1);
@@ -7158,7 +7155,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "ctfSpecifierHead"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:605:1: ctfSpecifierHead : ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK | CALLSITETOK -> CALLSITE );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:604:1: ctfSpecifierHead : ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK );
        public final CTFParser.ctfSpecifierHead_return ctfSpecifierHead() throws RecognitionException {
                CTFParser.ctfSpecifierHead_return retval = new CTFParser.ctfSpecifierHead_return();
                retval.start = input.LT(1);
@@ -7170,24 +7167,21 @@ public class CTFParser extends Parser {
                Token TRACETOK163=null;
                Token ENVTOK164=null;
                Token CLOCKTOK165=null;
-               Token CALLSITETOK166=null;
 
                CommonTree EVENTTOK161_tree=null;
                CommonTree STREAMTOK162_tree=null;
                CommonTree TRACETOK163_tree=null;
                CommonTree ENVTOK164_tree=null;
                CommonTree CLOCKTOK165_tree=null;
-               CommonTree CALLSITETOK166_tree=null;
-               RewriteRuleTokenStream stream_EVENTTOK=new RewriteRuleTokenStream(adaptor,"token EVENTTOK");
-               RewriteRuleTokenStream stream_CALLSITETOK=new RewriteRuleTokenStream(adaptor,"token CALLSITETOK");
-               RewriteRuleTokenStream stream_STREAMTOK=new RewriteRuleTokenStream(adaptor,"token STREAMTOK");
                RewriteRuleTokenStream stream_ENVTOK=new RewriteRuleTokenStream(adaptor,"token ENVTOK");
-               RewriteRuleTokenStream stream_CLOCKTOK=new RewriteRuleTokenStream(adaptor,"token CLOCKTOK");
                RewriteRuleTokenStream stream_TRACETOK=new RewriteRuleTokenStream(adaptor,"token TRACETOK");
+               RewriteRuleTokenStream stream_STREAMTOK=new RewriteRuleTokenStream(adaptor,"token STREAMTOK");
+               RewriteRuleTokenStream stream_CLOCKTOK=new RewriteRuleTokenStream(adaptor,"token CLOCKTOK");
+               RewriteRuleTokenStream stream_EVENTTOK=new RewriteRuleTokenStream(adaptor,"token EVENTTOK");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:606:3: ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK | CALLSITETOK -> CALLSITE )
-                       int alt53=6;
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:605:3: ( EVENTTOK -> EVENT | STREAMTOK -> STREAM | TRACETOK -> TRACE | ENVTOK -> ENV | CLOCKTOK -> CLOCK )
+                       int alt53=5;
                        switch ( input.LA(1) ) {
                        case EVENTTOK:
                                {
@@ -7214,11 +7208,6 @@ public class CTFParser extends Parser {
                                alt53=5;
                                }
                                break;
-                       case CALLSITETOK:
-                               {
-                               alt53=6;
-                               }
-                               break;
                        default:
                                if (state.backtracking>0) {state.failed=true; return retval;}
                                NoViableAltException nvae =
@@ -7227,9 +7216,9 @@ public class CTFParser extends Parser {
                        }
                        switch (alt53) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:606:5: EVENTTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:605:5: EVENTTOK
                                        {
-                                       EVENTTOK161=(Token)match(input,EVENTTOK,FOLLOW_EVENTTOK_in_ctfSpecifierHead3230); if (state.failed) return retval; 
+                                       EVENTTOK161=(Token)match(input,EVENTTOK,FOLLOW_EVENTTOK_in_ctfSpecifierHead3223); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_EVENTTOK.add(EVENTTOK161);
 
                                        // AST REWRITE
@@ -7244,7 +7233,7 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 606:14: -> EVENT
+                                       // 605:14: -> EVENT
                                        {
                                                adaptor.addChild(root_0, (CommonTree)adaptor.create(EVENT, "EVENT"));
                                        }
@@ -7256,9 +7245,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:607:5: STREAMTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:606:5: STREAMTOK
                                        {
-                                       STREAMTOK162=(Token)match(input,STREAMTOK,FOLLOW_STREAMTOK_in_ctfSpecifierHead3240); if (state.failed) return retval; 
+                                       STREAMTOK162=(Token)match(input,STREAMTOK,FOLLOW_STREAMTOK_in_ctfSpecifierHead3233); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_STREAMTOK.add(STREAMTOK162);
 
                                        // AST REWRITE
@@ -7273,7 +7262,7 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 607:15: -> STREAM
+                                       // 606:15: -> STREAM
                                        {
                                                adaptor.addChild(root_0, (CommonTree)adaptor.create(STREAM, "STREAM"));
                                        }
@@ -7285,9 +7274,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:608:5: TRACETOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:607:5: TRACETOK
                                        {
-                                       TRACETOK163=(Token)match(input,TRACETOK,FOLLOW_TRACETOK_in_ctfSpecifierHead3250); if (state.failed) return retval; 
+                                       TRACETOK163=(Token)match(input,TRACETOK,FOLLOW_TRACETOK_in_ctfSpecifierHead3243); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_TRACETOK.add(TRACETOK163);
 
                                        // AST REWRITE
@@ -7302,7 +7291,7 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 608:14: -> TRACE
+                                       // 607:14: -> TRACE
                                        {
                                                adaptor.addChild(root_0, (CommonTree)adaptor.create(TRACE, "TRACE"));
                                        }
@@ -7314,9 +7303,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 4 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:609:5: ENVTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:608:5: ENVTOK
                                        {
-                                       ENVTOK164=(Token)match(input,ENVTOK,FOLLOW_ENVTOK_in_ctfSpecifierHead3260); if (state.failed) return retval; 
+                                       ENVTOK164=(Token)match(input,ENVTOK,FOLLOW_ENVTOK_in_ctfSpecifierHead3253); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_ENVTOK.add(ENVTOK164);
 
                                        // AST REWRITE
@@ -7331,7 +7320,7 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 609:12: -> ENV
+                                       // 608:12: -> ENV
                                        {
                                                adaptor.addChild(root_0, (CommonTree)adaptor.create(ENV, "ENV"));
                                        }
@@ -7343,9 +7332,9 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 5 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:610:5: CLOCKTOK
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:609:5: CLOCKTOK
                                        {
-                                       CLOCKTOK165=(Token)match(input,CLOCKTOK,FOLLOW_CLOCKTOK_in_ctfSpecifierHead3270); if (state.failed) return retval; 
+                                       CLOCKTOK165=(Token)match(input,CLOCKTOK,FOLLOW_CLOCKTOK_in_ctfSpecifierHead3263); if (state.failed) return retval; 
                                        if ( state.backtracking==0 ) stream_CLOCKTOK.add(CLOCKTOK165);
 
                                        // AST REWRITE
@@ -7360,41 +7349,12 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 610:14: -> CLOCK
+                                       // 609:14: -> CLOCK
                                        {
                                                adaptor.addChild(root_0, (CommonTree)adaptor.create(CLOCK, "CLOCK"));
                                        }
 
 
-                                       retval.tree = root_0;
-                                       }
-
-                                       }
-                                       break;
-                               case 6 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:611:5: CALLSITETOK
-                                       {
-                                       CALLSITETOK166=(Token)match(input,CALLSITETOK,FOLLOW_CALLSITETOK_in_ctfSpecifierHead3280); if (state.failed) return retval; 
-                                       if ( state.backtracking==0 ) stream_CALLSITETOK.add(CALLSITETOK166);
-
-                                       // AST REWRITE
-                                       // elements: 
-                                       // token labels: 
-                                       // rule labels: retval
-                                       // token list labels: 
-                                       // rule list labels: 
-                                       // wildcard labels: 
-                                       if ( state.backtracking==0 ) {
-                                       retval.tree = root_0;
-                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-
-                                       root_0 = (CommonTree)adaptor.nil();
-                                       // 611:17: -> CALLSITE
-                                       {
-                                               adaptor.addChild(root_0, (CommonTree)adaptor.create(CALLSITE, "CALLSITE"));
-                                       }
-
-
                                        retval.tree = root_0;
                                        }
 
@@ -7430,30 +7390,30 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "ctfTypeSpecifier"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:1: ctfTypeSpecifier : ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:612:1: ctfTypeSpecifier : ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) );
        public final CTFParser.ctfTypeSpecifier_return ctfTypeSpecifier() throws RecognitionException {
                CTFParser.ctfTypeSpecifier_return retval = new CTFParser.ctfTypeSpecifier_return();
                retval.start = input.LT(1);
 
                CommonTree root_0 = null;
 
-               Token FLOATINGPOINTTOK167=null;
-               Token INTEGERTOK169=null;
-               Token STRINGTOK171=null;
-               ParserRuleReturnScope ctfBody168 =null;
-               ParserRuleReturnScope ctfBody170 =null;
-               ParserRuleReturnScope ctfBody172 =null;
+               Token FLOATINGPOINTTOK166=null;
+               Token INTEGERTOK168=null;
+               Token STRINGTOK170=null;
+               ParserRuleReturnScope ctfBody167 =null;
+               ParserRuleReturnScope ctfBody169 =null;
+               ParserRuleReturnScope ctfBody171 =null;
 
-               CommonTree FLOATINGPOINTTOK167_tree=null;
-               CommonTree INTEGERTOK169_tree=null;
-               CommonTree STRINGTOK171_tree=null;
+               CommonTree FLOATINGPOINTTOK166_tree=null;
+               CommonTree INTEGERTOK168_tree=null;
+               CommonTree STRINGTOK170_tree=null;
                RewriteRuleTokenStream stream_FLOATINGPOINTTOK=new RewriteRuleTokenStream(adaptor,"token FLOATINGPOINTTOK");
-               RewriteRuleTokenStream stream_STRINGTOK=new RewriteRuleTokenStream(adaptor,"token STRINGTOK");
                RewriteRuleTokenStream stream_INTEGERTOK=new RewriteRuleTokenStream(adaptor,"token INTEGERTOK");
+               RewriteRuleTokenStream stream_STRINGTOK=new RewriteRuleTokenStream(adaptor,"token STRINGTOK");
                RewriteRuleSubtreeStream stream_ctfBody=new RewriteRuleSubtreeStream(adaptor,"rule ctfBody");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:3: ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:3: ( FLOATINGPOINTTOK ctfBody -> ^( FLOATING_POINT ( ctfBody )? ) | INTEGERTOK ctfBody -> ^( INTEGER ( ctfBody )? ) | STRINGTOK ( ctfBody )? -> ^( STRING ( ctfBody )? ) )
                        int alt55=3;
                        switch ( input.LA(1) ) {
                        case FLOATINGPOINTTOK:
@@ -7479,16 +7439,16 @@ public class CTFParser extends Parser {
                        }
                        switch (alt55) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:5: FLOATINGPOINTTOK ctfBody
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:5: FLOATINGPOINTTOK ctfBody
                                        {
-                                       FLOATINGPOINTTOK167=(Token)match(input,FLOATINGPOINTTOK,FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3303); if (state.failed) return retval; 
-                                       if ( state.backtracking==0 ) stream_FLOATINGPOINTTOK.add(FLOATINGPOINTTOK167);
+                                       FLOATINGPOINTTOK166=(Token)match(input,FLOATINGPOINTTOK,FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3286); if (state.failed) return retval; 
+                                       if ( state.backtracking==0 ) stream_FLOATINGPOINTTOK.add(FLOATINGPOINTTOK166);
 
-                                       pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3305);
-                                       ctfBody168=ctfBody();
+                                       pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3288);
+                                       ctfBody167=ctfBody();
                                        state._fsp--;
                                        if (state.failed) return retval;
-                                       if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody168.getTree());
+                                       if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody167.getTree());
                                        // AST REWRITE
                                        // elements: ctfBody
                                        // token labels: 
@@ -7501,13 +7461,13 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 616:30: -> ^( FLOATING_POINT ( ctfBody )? )
+                                       // 614:30: -> ^( FLOATING_POINT ( ctfBody )? )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:33: ^( FLOATING_POINT ( ctfBody )? )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:33: ^( FLOATING_POINT ( ctfBody )? )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(FLOATING_POINT, "FLOATING_POINT"), root_1);
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:50: ( ctfBody )?
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:614:50: ( ctfBody )?
                                                if ( stream_ctfBody.hasNext() ) {
                                                        adaptor.addChild(root_1, stream_ctfBody.nextTree());
                                                }
@@ -7525,16 +7485,16 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:617:5: INTEGERTOK ctfBody
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:615:5: INTEGERTOK ctfBody
                                        {
-                                       INTEGERTOK169=(Token)match(input,INTEGERTOK,FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3320); if (state.failed) return retval; 
-                                       if ( state.backtracking==0 ) stream_INTEGERTOK.add(INTEGERTOK169);
+                                       INTEGERTOK168=(Token)match(input,INTEGERTOK,FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3303); if (state.failed) return retval; 
+                                       if ( state.backtracking==0 ) stream_INTEGERTOK.add(INTEGERTOK168);
 
-                                       pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3322);
-                                       ctfBody170=ctfBody();
+                                       pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3305);
+                                       ctfBody169=ctfBody();
                                        state._fsp--;
                                        if (state.failed) return retval;
-                                       if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody170.getTree());
+                                       if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody169.getTree());
                                        // AST REWRITE
                                        // elements: ctfBody
                                        // token labels: 
@@ -7547,13 +7507,13 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 617:24: -> ^( INTEGER ( ctfBody )? )
+                                       // 615:24: -> ^( INTEGER ( ctfBody )? )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:617:27: ^( INTEGER ( ctfBody )? )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:615:27: ^( INTEGER ( ctfBody )? )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(INTEGER, "INTEGER"), root_1);
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:617:37: ( ctfBody )?
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:615:37: ( ctfBody )?
                                                if ( stream_ctfBody.hasNext() ) {
                                                        adaptor.addChild(root_1, stream_ctfBody.nextTree());
                                                }
@@ -7571,12 +7531,12 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:5: STRINGTOK ( ctfBody )?
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:5: STRINGTOK ( ctfBody )?
                                        {
-                                       STRINGTOK171=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_ctfTypeSpecifier3337); if (state.failed) return retval; 
-                                       if ( state.backtracking==0 ) stream_STRINGTOK.add(STRINGTOK171);
+                                       STRINGTOK170=(Token)match(input,STRINGTOK,FOLLOW_STRINGTOK_in_ctfTypeSpecifier3320); if (state.failed) return retval; 
+                                       if ( state.backtracking==0 ) stream_STRINGTOK.add(STRINGTOK170);
 
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:15: ( ctfBody )?
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:15: ( ctfBody )?
                                        int alt54=2;
                                        int LA54_0 = input.LA(1);
                                        if ( (LA54_0==LCURL) ) {
@@ -7584,13 +7544,13 @@ public class CTFParser extends Parser {
                                        }
                                        switch (alt54) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:15: ctfBody
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:15: ctfBody
                                                        {
-                                                       pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3339);
-                                                       ctfBody172=ctfBody();
+                                                       pushFollow(FOLLOW_ctfBody_in_ctfTypeSpecifier3322);
+                                                       ctfBody171=ctfBody();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
-                                                       if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody172.getTree());
+                                                       if ( state.backtracking==0 ) stream_ctfBody.add(ctfBody171.getTree());
                                                        }
                                                        break;
 
@@ -7608,13 +7568,13 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 618:24: -> ^( STRING ( ctfBody )? )
+                                       // 616:24: -> ^( STRING ( ctfBody )? )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:27: ^( STRING ( ctfBody )? )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:27: ^( STRING ( ctfBody )? )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(STRING, "STRING"), root_1);
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:618:36: ( ctfBody )?
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:616:36: ( ctfBody )?
                                                if ( stream_ctfBody.hasNext() ) {
                                                        adaptor.addChild(root_1, stream_ctfBody.nextTree());
                                                }
@@ -7661,7 +7621,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "ctfBody"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:621:1: ctfBody : LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:619:1: ctfBody : LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? ;
        public final CTFParser.ctfBody_return ctfBody() throws RecognitionException {
                Symbols_stack.push(new Symbols_scope());
 
@@ -7670,12 +7630,12 @@ public class CTFParser extends Parser {
 
                CommonTree root_0 = null;
 
-               Token LCURL173=null;
-               Token RCURL175=null;
-               ParserRuleReturnScope ctfAssignmentExpressionList174 =null;
+               Token LCURL172=null;
+               Token RCURL174=null;
+               ParserRuleReturnScope ctfAssignmentExpressionList173 =null;
 
-               CommonTree LCURL173_tree=null;
-               CommonTree RCURL175_tree=null;
+               CommonTree LCURL172_tree=null;
+               CommonTree RCURL174_tree=null;
                RewriteRuleTokenStream stream_LCURL=new RewriteRuleTokenStream(adaptor,"token LCURL");
                RewriteRuleTokenStream stream_RCURL=new RewriteRuleTokenStream(adaptor,"token RCURL");
                RewriteRuleSubtreeStream stream_ctfAssignmentExpressionList=new RewriteRuleSubtreeStream(adaptor,"rule ctfAssignmentExpressionList");
@@ -7684,13 +7644,13 @@ public class CTFParser extends Parser {
                    Symbols_stack.peek().types = new HashSet<String>();
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:3: ( LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:5: LCURL ( ctfAssignmentExpressionList )? RCURL
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:3: ( LCURL ( ctfAssignmentExpressionList )? RCURL -> ( ctfAssignmentExpressionList )? )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:5: LCURL ( ctfAssignmentExpressionList )? RCURL
                        {
-                       LCURL173=(Token)match(input,LCURL,FOLLOW_LCURL_in_ctfBody3372); if (state.failed) return retval; 
-                       if ( state.backtracking==0 ) stream_LCURL.add(LCURL173);
+                       LCURL172=(Token)match(input,LCURL,FOLLOW_LCURL_in_ctfBody3355); if (state.failed) return retval; 
+                       if ( state.backtracking==0 ) stream_LCURL.add(LCURL172);
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:11: ( ctfAssignmentExpressionList )?
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:11: ( ctfAssignmentExpressionList )?
                        int alt56=2;
                        int LA56_0 = input.LA(1);
                        if ( (LA56_0==ALIGNTOK||(LA56_0 >= BOOLTOK && LA56_0 <= CHARTOK)||LA56_0==CLOCKTOK||(LA56_0 >= COMPLEXTOK && LA56_0 <= DECIMAL_LITERAL)||LA56_0==DOUBLETOK||(LA56_0 >= ENUMTOK && LA56_0 <= ENVTOK)||(LA56_0 >= EVENTTOK && LA56_0 <= FLOATTOK)||LA56_0==HEX_LITERAL||(LA56_0 >= IDENTIFIER && LA56_0 <= IMAGINARYTOK)||LA56_0==INTEGERTOK||LA56_0==INTTOK||LA56_0==LONGTOK||LA56_0==OCTAL_LITERAL||(LA56_0 >= SHORTTOK && LA56_0 <= SIGNEDTOK)||LA56_0==STREAMTOK||LA56_0==STRINGTOK||(LA56_0 >= STRING_LITERAL && LA56_0 <= STRUCTTOK)||(LA56_0 >= TRACETOK && LA56_0 <= TYPEDEFTOK)||(LA56_0 >= UNSIGNEDTOK && LA56_0 <= VOIDTOK)) ) {
@@ -7698,20 +7658,20 @@ public class CTFParser extends Parser {
                        }
                        switch (alt56) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:11: ctfAssignmentExpressionList
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:11: ctfAssignmentExpressionList
                                        {
-                                       pushFollow(FOLLOW_ctfAssignmentExpressionList_in_ctfBody3374);
-                                       ctfAssignmentExpressionList174=ctfAssignmentExpressionList();
+                                       pushFollow(FOLLOW_ctfAssignmentExpressionList_in_ctfBody3357);
+                                       ctfAssignmentExpressionList173=ctfAssignmentExpressionList();
                                        state._fsp--;
                                        if (state.failed) return retval;
-                                       if ( state.backtracking==0 ) stream_ctfAssignmentExpressionList.add(ctfAssignmentExpressionList174.getTree());
+                                       if ( state.backtracking==0 ) stream_ctfAssignmentExpressionList.add(ctfAssignmentExpressionList173.getTree());
                                        }
                                        break;
 
                        }
 
-                       RCURL175=(Token)match(input,RCURL,FOLLOW_RCURL_in_ctfBody3377); if (state.failed) return retval; 
-                       if ( state.backtracking==0 ) stream_RCURL.add(RCURL175);
+                       RCURL174=(Token)match(input,RCURL,FOLLOW_RCURL_in_ctfBody3360); if (state.failed) return retval; 
+                       if ( state.backtracking==0 ) stream_RCURL.add(RCURL174);
 
                        // AST REWRITE
                        // elements: ctfAssignmentExpressionList
@@ -7725,9 +7685,9 @@ public class CTFParser extends Parser {
                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                        root_0 = (CommonTree)adaptor.nil();
-                       // 626:46: -> ( ctfAssignmentExpressionList )?
+                       // 624:46: -> ( ctfAssignmentExpressionList )?
                        {
-                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:626:49: ( ctfAssignmentExpressionList )?
+                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:624:49: ( ctfAssignmentExpressionList )?
                                if ( stream_ctfAssignmentExpressionList.hasNext() ) {
                                        adaptor.addChild(root_0, stream_ctfAssignmentExpressionList.nextTree());
                                }
@@ -7771,26 +7731,26 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "ctfAssignmentExpressionList"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:629:1: ctfAssignmentExpressionList : ( ctfAssignmentExpression TERM !)+ ;
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:627:1: ctfAssignmentExpressionList : ( ctfAssignmentExpression TERM !)+ ;
        public final CTFParser.ctfAssignmentExpressionList_return ctfAssignmentExpressionList() throws RecognitionException {
                CTFParser.ctfAssignmentExpressionList_return retval = new CTFParser.ctfAssignmentExpressionList_return();
                retval.start = input.LT(1);
 
                CommonTree root_0 = null;
 
-               Token TERM177=null;
-               ParserRuleReturnScope ctfAssignmentExpression176 =null;
+               Token TERM176=null;
+               ParserRuleReturnScope ctfAssignmentExpression175 =null;
 
-               CommonTree TERM177_tree=null;
+               CommonTree TERM176_tree=null;
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:630:3: ( ( ctfAssignmentExpression TERM !)+ )
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:630:5: ( ctfAssignmentExpression TERM !)+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:628:3: ( ( ctfAssignmentExpression TERM !)+ )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:628:5: ( ctfAssignmentExpression TERM !)+
                        {
                        root_0 = (CommonTree)adaptor.nil();
 
 
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:630:5: ( ctfAssignmentExpression TERM !)+
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:628:5: ( ctfAssignmentExpression TERM !)+
                        int cnt57=0;
                        loop57:
                        while (true) {
@@ -7802,15 +7762,15 @@ public class CTFParser extends Parser {
 
                                switch (alt57) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:630:6: ctfAssignmentExpression TERM !
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:628:6: ctfAssignmentExpression TERM !
                                        {
-                                       pushFollow(FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3396);
-                                       ctfAssignmentExpression176=ctfAssignmentExpression();
+                                       pushFollow(FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3379);
+                                       ctfAssignmentExpression175=ctfAssignmentExpression();
                                        state._fsp--;
                                        if (state.failed) return retval;
-                                       if ( state.backtracking==0 ) adaptor.addChild(root_0, ctfAssignmentExpression176.getTree());
+                                       if ( state.backtracking==0 ) adaptor.addChild(root_0, ctfAssignmentExpression175.getTree());
 
-                                       TERM177=(Token)match(input,TERM,FOLLOW_TERM_in_ctfAssignmentExpressionList3398); if (state.failed) return retval;
+                                       TERM176=(Token)match(input,TERM,FOLLOW_TERM_in_ctfAssignmentExpressionList3381); if (state.failed) return retval;
                                        }
                                        break;
 
@@ -7853,7 +7813,7 @@ public class CTFParser extends Parser {
 
 
        // $ANTLR start "ctfAssignmentExpression"
-       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:633:1: ctfAssignmentExpression : (left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl );
+       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:631:1: ctfAssignmentExpression : (left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl );
        public final CTFParser.ctfAssignmentExpression_return ctfAssignmentExpression() throws RecognitionException {
                CTFParser.ctfAssignmentExpression_return retval = new CTFParser.ctfAssignmentExpression_return();
                retval.start = input.LT(1);
@@ -7865,21 +7825,21 @@ public class CTFParser extends Parser {
                ParserRuleReturnScope left =null;
                ParserRuleReturnScope right1 =null;
                ParserRuleReturnScope right2 =null;
-               ParserRuleReturnScope declarationSpecifiers178 =null;
-               ParserRuleReturnScope declaratorList179 =null;
-               ParserRuleReturnScope typealiasDecl180 =null;
+               ParserRuleReturnScope declarationSpecifiers177 =null;
+               ParserRuleReturnScope declaratorList178 =null;
+               ParserRuleReturnScope typealiasDecl179 =null;
 
                CommonTree assignment_tree=null;
                CommonTree type_assignment_tree=null;
-               RewriteRuleTokenStream stream_ASSIGNMENT=new RewriteRuleTokenStream(adaptor,"token ASSIGNMENT");
                RewriteRuleTokenStream stream_TYPE_ASSIGNMENT=new RewriteRuleTokenStream(adaptor,"token TYPE_ASSIGNMENT");
+               RewriteRuleTokenStream stream_ASSIGNMENT=new RewriteRuleTokenStream(adaptor,"token ASSIGNMENT");
                RewriteRuleSubtreeStream stream_declaratorList=new RewriteRuleSubtreeStream(adaptor,"rule declaratorList");
+               RewriteRuleSubtreeStream stream_typeSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule typeSpecifier");
                RewriteRuleSubtreeStream stream_unaryExpression=new RewriteRuleSubtreeStream(adaptor,"rule unaryExpression");
                RewriteRuleSubtreeStream stream_declarationSpecifiers=new RewriteRuleSubtreeStream(adaptor,"rule declarationSpecifiers");
-               RewriteRuleSubtreeStream stream_typeSpecifier=new RewriteRuleSubtreeStream(adaptor,"rule typeSpecifier");
 
                try {
-                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:639:3: (left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl )
+                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:637:3: (left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) ) | ( declarationSpecifiers {...}? declaratorList ) -> ^( TYPEDEF declaratorList declarationSpecifiers ) | typealiasDecl )
                        int alt59=3;
                        switch ( input.LA(1) ) {
                        case IDENTIFIER:
@@ -7895,7 +7855,6 @@ public class CTFParser extends Parser {
                                }
                                break;
                        case ALIGNTOK:
-                       case CALLSITETOK:
                        case CHARACTER_LITERAL:
                        case CLOCKTOK:
                        case DECIMAL_LITERAL:
@@ -8059,14 +8018,14 @@ public class CTFParser extends Parser {
                        }
                        switch (alt59) {
                                case 1 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:639:5: left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:637:5: left= unaryExpression (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) )
                                        {
-                                       pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3421);
+                                       pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3404);
                                        left=unaryExpression();
                                        state._fsp--;
                                        if (state.failed) return retval;
                                        if ( state.backtracking==0 ) stream_unaryExpression.add(left.getTree());
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:640:7: (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:638:7: (assignment= ASSIGNMENT right1= unaryExpression -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) ) |type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) ) )
                                        int alt58=2;
                                        int LA58_0 = input.LA(1);
                                        if ( (LA58_0==ASSIGNMENT) ) {
@@ -8085,37 +8044,37 @@ public class CTFParser extends Parser {
 
                                        switch (alt58) {
                                                case 1 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:640:9: assignment= ASSIGNMENT right1= unaryExpression
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:638:9: assignment= ASSIGNMENT right1= unaryExpression
                                                        {
-                                                       assignment=(Token)match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3433); if (state.failed) return retval; 
+                                                       assignment=(Token)match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3416); if (state.failed) return retval; 
                                                        if ( state.backtracking==0 ) stream_ASSIGNMENT.add(assignment);
 
-                                                       pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3437);
+                                                       pushFollow(FOLLOW_unaryExpression_in_ctfAssignmentExpression3420);
                                                        right1=unaryExpression();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
                                                        if ( state.backtracking==0 ) stream_unaryExpression.add(right1.getTree());
                                                        // AST REWRITE
-                                                       // elements: left, right1
+                                                       // elements: right1, left
                                                        // token labels: 
-                                                       // rule labels: retval, left, right1
+                                                       // rule labels: right1, left, retval
                                                        // token list labels: 
                                                        // rule list labels: 
                                                        // wildcard labels: 
                                                        if ( state.backtracking==0 ) {
                                                        retval.tree = root_0;
-                                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
-                                                       RewriteRuleSubtreeStream stream_left=new RewriteRuleSubtreeStream(adaptor,"rule left",left!=null?left.getTree():null);
                                                        RewriteRuleSubtreeStream stream_right1=new RewriteRuleSubtreeStream(adaptor,"rule right1",right1!=null?right1.getTree():null);
+                                                       RewriteRuleSubtreeStream stream_left=new RewriteRuleSubtreeStream(adaptor,"rule left",left!=null?left.getTree():null);
+                                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                                        root_0 = (CommonTree)adaptor.nil();
-                                                       // 641:11: -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
+                                                       // 639:11: -> ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
                                                        {
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:641:14: ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:639:14: ^( CTF_EXPRESSION_VAL ^( CTF_LEFT $left) ^( CTF_RIGHT $right1) )
                                                                {
                                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_EXPRESSION_VAL, "CTF_EXPRESSION_VAL"), root_1);
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:642:18: ^( CTF_LEFT $left)
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:640:18: ^( CTF_LEFT $left)
                                                                {
                                                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_LEFT, "CTF_LEFT"), root_2);
@@ -8123,7 +8082,7 @@ public class CTFParser extends Parser {
                                                                adaptor.addChild(root_1, root_2);
                                                                }
 
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:643:18: ^( CTF_RIGHT $right1)
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:641:18: ^( CTF_RIGHT $right1)
                                                                {
                                                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_RIGHT, "CTF_RIGHT"), root_2);
@@ -8143,37 +8102,37 @@ public class CTFParser extends Parser {
                                                        }
                                                        break;
                                                case 2 :
-                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:644:9: type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier
+                                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:642:9: type_assignment= TYPE_ASSIGNMENT right2= typeSpecifier
                                                        {
-                                                       type_assignment=(Token)match(input,TYPE_ASSIGNMENT,FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3513); if (state.failed) return retval; 
+                                                       type_assignment=(Token)match(input,TYPE_ASSIGNMENT,FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3496); if (state.failed) return retval; 
                                                        if ( state.backtracking==0 ) stream_TYPE_ASSIGNMENT.add(type_assignment);
 
-                                                       pushFollow(FOLLOW_typeSpecifier_in_ctfAssignmentExpression3517);
+                                                       pushFollow(FOLLOW_typeSpecifier_in_ctfAssignmentExpression3500);
                                                        right2=typeSpecifier();
                                                        state._fsp--;
                                                        if (state.failed) return retval;
                                                        if ( state.backtracking==0 ) stream_typeSpecifier.add(right2.getTree());
                                                        // AST REWRITE
-                                                       // elements: right2, left
+                                                       // elements: left, right2
                                                        // token labels: 
-                                                       // rule labels: retval, left, right2
+                                                       // rule labels: left, right2, retval
                                                        // token list labels: 
                                                        // rule list labels: 
                                                        // wildcard labels: 
                                                        if ( state.backtracking==0 ) {
                                                        retval.tree = root_0;
-                                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
                                                        RewriteRuleSubtreeStream stream_left=new RewriteRuleSubtreeStream(adaptor,"rule left",left!=null?left.getTree():null);
                                                        RewriteRuleSubtreeStream stream_right2=new RewriteRuleSubtreeStream(adaptor,"rule right2",right2!=null?right2.getTree():null);
+                                                       RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                                        root_0 = (CommonTree)adaptor.nil();
-                                                       // 645:11: -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
+                                                       // 643:11: -> ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
                                                        {
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:645:14: ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:643:14: ^( CTF_EXPRESSION_TYPE ^( CTF_LEFT $left) ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) ) )
                                                                {
                                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_EXPRESSION_TYPE, "CTF_EXPRESSION_TYPE"), root_1);
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:646:18: ^( CTF_LEFT $left)
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:644:18: ^( CTF_LEFT $left)
                                                                {
                                                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_LEFT, "CTF_LEFT"), root_2);
@@ -8181,11 +8140,11 @@ public class CTFParser extends Parser {
                                                                adaptor.addChild(root_1, root_2);
                                                                }
 
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:18: ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) )
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:645:18: ^( CTF_RIGHT ^( TYPE_SPECIFIER_LIST $right2) )
                                                                {
                                                                CommonTree root_2 = (CommonTree)adaptor.nil();
                                                                root_2 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(CTF_RIGHT, "CTF_RIGHT"), root_2);
-                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:30: ^( TYPE_SPECIFIER_LIST $right2)
+                                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:645:30: ^( TYPE_SPECIFIER_LIST $right2)
                                                                {
                                                                CommonTree root_3 = (CommonTree)adaptor.nil();
                                                                root_3 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPE_SPECIFIER_LIST, "TYPE_SPECIFIER_LIST"), root_3);
@@ -8213,25 +8172,25 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 2 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:649:5: ( declarationSpecifiers {...}? declaratorList )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:5: ( declarationSpecifiers {...}? declaratorList )
                                        {
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:649:5: ( declarationSpecifiers {...}? declaratorList )
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:649:6: declarationSpecifiers {...}? declaratorList
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:5: ( declarationSpecifiers {...}? declaratorList )
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:647:6: declarationSpecifiers {...}? declaratorList
                                        {
-                                       pushFollow(FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3600);
-                                       declarationSpecifiers178=declarationSpecifiers();
+                                       pushFollow(FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3583);
+                                       declarationSpecifiers177=declarationSpecifiers();
                                        state._fsp--;
                                        if (state.failed) return retval;
-                                       if ( state.backtracking==0 ) stream_declarationSpecifiers.add(declarationSpecifiers178.getTree());
+                                       if ( state.backtracking==0 ) stream_declarationSpecifiers.add(declarationSpecifiers177.getTree());
                                        if ( !((inTypedef())) ) {
                                                if (state.backtracking>0) {state.failed=true; return retval;}
                                                throw new FailedPredicateException(input, "ctfAssignmentExpression", "inTypedef()");
                                        }
-                                       pushFollow(FOLLOW_declaratorList_in_ctfAssignmentExpression3604);
-                                       declaratorList179=declaratorList();
+                                       pushFollow(FOLLOW_declaratorList_in_ctfAssignmentExpression3587);
+                                       declaratorList178=declaratorList();
                                        state._fsp--;
                                        if (state.failed) return retval;
-                                       if ( state.backtracking==0 ) stream_declaratorList.add(declaratorList179.getTree());
+                                       if ( state.backtracking==0 ) stream_declaratorList.add(declaratorList178.getTree());
                                        }
 
                                        // AST REWRITE
@@ -8246,9 +8205,9 @@ public class CTFParser extends Parser {
                                        RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
 
                                        root_0 = (CommonTree)adaptor.nil();
-                                       // 650:7: -> ^( TYPEDEF declaratorList declarationSpecifiers )
+                                       // 648:7: -> ^( TYPEDEF declaratorList declarationSpecifiers )
                                        {
-                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:650:10: ^( TYPEDEF declaratorList declarationSpecifiers )
+                                               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:648:10: ^( TYPEDEF declaratorList declarationSpecifiers )
                                                {
                                                CommonTree root_1 = (CommonTree)adaptor.nil();
                                                root_1 = (CommonTree)adaptor.becomeRoot((CommonTree)adaptor.create(TYPEDEF, "TYPEDEF"), root_1);
@@ -8266,16 +8225,16 @@ public class CTFParser extends Parser {
                                        }
                                        break;
                                case 3 :
-                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:651:5: typealiasDecl
+                                       // org/eclipse/tracecompass/ctf/parser/CTFParser.g:649:5: typealiasDecl
                                        {
                                        root_0 = (CommonTree)adaptor.nil();
 
 
-                                       pushFollow(FOLLOW_typealiasDecl_in_ctfAssignmentExpression3627);
-                                       typealiasDecl180=typealiasDecl();
+                                       pushFollow(FOLLOW_typealiasDecl_in_ctfAssignmentExpression3610);
+                                       typealiasDecl179=typealiasDecl();
                                        state._fsp--;
                                        if (state.failed) return retval;
-                                       if ( state.backtracking==0 ) adaptor.addChild(root_0, typealiasDecl180.getTree());
+                                       if ( state.backtracking==0 ) adaptor.addChild(root_0, typealiasDecl179.getTree());
 
                                        }
                                        break;
@@ -8307,10 +8266,10 @@ public class CTFParser extends Parser {
 
        // $ANTLR start synpred1_CTFParser
        public final void synpred1_CTFParser_fragment() throws RecognitionException {
-               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:5: ( IDENTIFIER )
-               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:207:6: IDENTIFIER
+               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:5: ( IDENTIFIER )
+               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:206:6: IDENTIFIER
                {
-               match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred1_CTFParser560); if (state.failed) return;
+               match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_synpred1_CTFParser553); if (state.failed) return;
 
                }
 
@@ -8319,10 +8278,10 @@ public class CTFParser extends Parser {
 
        // $ANTLR start synpred2_CTFParser
        public final void synpred2_CTFParser_fragment() throws RecognitionException {
-               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:5: ( ctfKeyword )
-               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:6: ctfKeyword
+               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:5: ( ctfKeyword )
+               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:208:6: ctfKeyword
                {
-               pushFollow(FOLLOW_ctfKeyword_in_synpred2_CTFParser586);
+               pushFollow(FOLLOW_ctfKeyword_in_synpred2_CTFParser579);
                ctfKeyword();
                state._fsp--;
                if (state.failed) return;
@@ -8334,10 +8293,10 @@ public class CTFParser extends Parser {
 
        // $ANTLR start synpred3_CTFParser
        public final void synpred3_CTFParser_fragment() throws RecognitionException {
-               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:210:5: ( STRING_LITERAL )
-               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:210:6: STRING_LITERAL
+               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:5: ( STRING_LITERAL )
+               // org/eclipse/tracecompass/ctf/parser/CTFParser.g:209:6: STRING_LITERAL
                {
-               match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_synpred3_CTFParser606); if (state.failed) return;
+               match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_synpred3_CTFParser599); if (state.failed) return;
 
                }
 
@@ -8346,11 +8305,11 @@ public class CTFParser extends Parser {
 
        // Delegated rules
 
-       public final boolean synpred2_CTFParser() {
+       public final boolean synpred1_CTFParser() {
                state.backtracking++;
                int start = input.mark();
                try {
-                       synpred2_CTFParser_fragment(); // can never throw exception
+                       synpred1_CTFParser_fragment(); // can never throw exception
                } catch (RecognitionException re) {
                        System.err.println("impossible: "+re);
                }
@@ -8360,11 +8319,11 @@ public class CTFParser extends Parser {
                state.failed=false;
                return success;
        }
-       public final boolean synpred1_CTFParser() {
+       public final boolean synpred3_CTFParser() {
                state.backtracking++;
                int start = input.mark();
                try {
-                       synpred1_CTFParser_fragment(); // can never throw exception
+                       synpred3_CTFParser_fragment(); // can never throw exception
                } catch (RecognitionException re) {
                        System.err.println("impossible: "+re);
                }
@@ -8374,11 +8333,11 @@ public class CTFParser extends Parser {
                state.failed=false;
                return success;
        }
-       public final boolean synpred3_CTFParser() {
+       public final boolean synpred2_CTFParser() {
                state.backtracking++;
                int start = input.mark();
                try {
-                       synpred3_CTFParser_fragment(); // can never throw exception
+                       synpred2_CTFParser_fragment(); // can never throw exception
                } catch (RecognitionException re) {
                        System.err.println("impossible: "+re);
                }
@@ -8396,13 +8355,13 @@ public class CTFParser extends Parser {
        static final String DFA24_eofS =
                "\10\uffff";
        static final String DFA24_minS =
-               "\1\46\1\24\1\0\1\24\1\0\2\uffff\1\0";
+               "\1\45\1\23\1\0\1\23\1\0\2\uffff\1\0";
        static final String DFA24_maxS =
-               "\2\72\1\0\1\72\1\0\2\uffff\1\0";
+               "\2\71\1\0\1\71\1\0\2\uffff\1\0";
        static final String DFA24_acceptS =
                "\5\uffff\1\1\1\2\1\uffff";
        static final String DFA24_specialS =
-               "\2\uffff\1\2\1\uffff\1\1\2\uffff\1\0}>";
+               "\2\uffff\1\0\1\uffff\1\1\2\uffff\1\2}>";
        static final String[] DFA24_transitionS = {
                        "\1\2\23\uffff\1\1",
                        "\1\3\21\uffff\1\4\23\uffff\1\1",
@@ -8445,7 +8404,7 @@ public class CTFParser extends Parser {
                }
                @Override
                public String getDescription() {
-                       return "372:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )";
+                       return "371:10: ({...}? => declaratorList -> ^( TYPEDEF declaratorList declarationSpecifiers ) | structOrVariantDeclaratorList -> ^( SV_DECLARATION declarationSpecifiers structOrVariantDeclaratorList ) )";
                }
                @Override
                public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
@@ -8453,15 +8412,15 @@ public class CTFParser extends Parser {
                        int _s = s;
                        switch ( s ) {
                                        case 0 : 
-                                               int LA24_7 = input.LA(1);
+                                               int LA24_2 = input.LA(1);
                                                 
-                                               int index24_7 = input.index();
+                                               int index24_2 = input.index();
                                                input.rewind();
                                                s = -1;
                                                if ( ((inTypedef())) ) {s = 5;}
                                                else if ( (true) ) {s = 6;}
                                                 
-                                               input.seek(index24_7);
+                                               input.seek(index24_2);
                                                if ( s>=0 ) return s;
                                                break;
 
@@ -8479,15 +8438,15 @@ public class CTFParser extends Parser {
                                                break;
 
                                        case 2 : 
-                                               int LA24_2 = input.LA(1);
+                                               int LA24_7 = input.LA(1);
                                                 
-                                               int index24_2 = input.index();
+                                               int index24_7 = input.index();
                                                input.rewind();
                                                s = -1;
                                                if ( ((inTypedef())) ) {s = 5;}
                                                else if ( (true) ) {s = 6;}
                                                 
-                                               input.seek(index24_2);
+                                               input.seek(index24_7);
                                                if ( s>=0 ) return s;
                                                break;
                        }
@@ -8499,196 +8458,195 @@ public class CTFParser extends Parser {
                }
        }
 
-       public static final BitSet FOLLOW_declaration_in_parse449 = new BitSet(new long[]{0x40004AC1DA182B00L,0x000000000001CE95L});
-       public static final BitSet FOLLOW_EOF_in_parse452 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_SIGN_in_numberLiteral474 = new BitSet(new long[]{0x8040001000200000L});
-       public static final BitSet FOLLOW_HEX_LITERAL_in_numberLiteral485 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_DECIMAL_LITERAL_in_numberLiteral506 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_OCTAL_LITERAL_in_numberLiteral527 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_primaryExpression565 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ctfKeyword_in_primaryExpression591 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_STRING_LITERAL_in_primaryExpression611 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_numberLiteral_in_primaryExpression636 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_enumConstant_in_primaryExpression642 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_CHARACTER_LITERAL_in_primaryExpression648 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_OPENBRAC_in_postfixExpressionSuffix661 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
-       public static final BitSet FOLLOW_unaryExpression_in_postfixExpressionSuffix663 = new BitSet(new long[]{0x0000000000004000L});
-       public static final BitSet FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix665 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_DOT_in_postfixExpressionSuffix675 = new BitSet(new long[]{0x0000004000000000L});
-       public static final BitSet FOLLOW_ARROW_in_postfixExpressionSuffix681 = new BitSet(new long[]{0x0000004000000000L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_postfixExpressionSuffix684 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_DOT_in_postfixCtfExpression719 = new BitSet(new long[]{0x0000000050002200L,0x0000000000000204L});
-       public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixCtfExpression722 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_primaryExpression_in_postfixExpression755 = new BitSet(new long[]{0x0200000000800022L});
-       public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression757 = new BitSet(new long[]{0x0200000000800022L});
-       public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixExpression766 = new BitSet(new long[]{0x0200000000800020L});
-       public static final BitSet FOLLOW_postfixCtfExpression_in_postfixExpression768 = new BitSet(new long[]{0x0200000000800020L});
-       public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression771 = new BitSet(new long[]{0x0200000000800022L});
-       public static final BitSet FOLLOW_postfixExpression_in_unaryExpression787 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_STRING_LITERAL_in_enumConstant804 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_enumConstant818 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ctfKeyword_in_enumConstant832 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_declarationSpecifiers_in_declaration863 = new BitSet(new long[]{0x0400004000000000L,0x0000000000000100L});
-       public static final BitSet FOLLOW_declaratorList_in_declaration865 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-       public static final BitSet FOLLOW_TERM_in_declaration868 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ctfSpecifier_in_declaration936 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-       public static final BitSet FOLLOW_TERM_in_declaration938 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_storageClassSpecifier_in_declarationSpecifiers976 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C891L});
-       public static final BitSet FOLLOW_typeQualifier_in_declarationSpecifiers986 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C891L});
-       public static final BitSet FOLLOW_typeSpecifier_in_declarationSpecifiers996 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C891L});
-       public static final BitSet FOLLOW_declarator_in_declaratorList1026 = new BitSet(new long[]{0x2000000000000002L});
-       public static final BitSet FOLLOW_SEPARATOR_in_declaratorList1029 = new BitSet(new long[]{0x0400004000000000L});
-       public static final BitSet FOLLOW_declarator_in_declaratorList1031 = new BitSet(new long[]{0x2000000000000002L});
-       public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1061 = new BitSet(new long[]{0x2000000000000002L});
-       public static final BitSet FOLLOW_SEPARATOR_in_abstractDeclaratorList1064 = new BitSet(new long[]{0x0400804000000000L});
-       public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1066 = new BitSet(new long[]{0x2000000000000002L});
-       public static final BitSet FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1096 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_FLOATTOK_in_typeSpecifier1112 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_INTTOK_in_typeSpecifier1118 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_LONGTOK_in_typeSpecifier1124 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_SHORTTOK_in_typeSpecifier1130 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_SIGNEDTOK_in_typeSpecifier1136 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_UNSIGNEDTOK_in_typeSpecifier1142 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_CHARTOK_in_typeSpecifier1148 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_DOUBLETOK_in_typeSpecifier1154 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_VOIDTOK_in_typeSpecifier1160 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_BOOLTOK_in_typeSpecifier1166 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_COMPLEXTOK_in_typeSpecifier1172 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IMAGINARYTOK_in_typeSpecifier1178 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_structSpecifier_in_typeSpecifier1184 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_variantSpecifier_in_typeSpecifier1190 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_enumSpecifier_in_typeSpecifier1196 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ctfTypeSpecifier_in_typeSpecifier1202 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_typedefName_in_typeSpecifier1212 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_CONSTTOK_in_typeQualifier1225 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ALIGNTOK_in_alignAttribute1238 = new BitSet(new long[]{0x0000800000000000L});
-       public static final BitSet FOLLOW_LPAREN_in_alignAttribute1240 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
-       public static final BitSet FOLLOW_unaryExpression_in_alignAttribute1242 = new BitSet(new long[]{0x1000000000000000L});
-       public static final BitSet FOLLOW_RPAREN_in_alignAttribute1244 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_LCURL_in_structBody1278 = new BitSet(new long[]{0x48004AC18A180900L,0x000000000001CC91L});
-       public static final BitSet FOLLOW_structOrVariantDeclarationList_in_structBody1280 = new BitSet(new long[]{0x0800000000000000L});
-       public static final BitSet FOLLOW_RCURL_in_structBody1283 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_STRUCTTOK_in_structSpecifier1311 = new BitSet(new long[]{0x0000104000000000L});
-       public static final BitSet FOLLOW_structName_in_structSpecifier1336 = new BitSet(new long[]{0x0000100000000012L});
-       public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1358 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_structBody_in_structSpecifier1394 = new BitSet(new long[]{0x0000000000000012L});
-       public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1425 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_structBody_in_structSpecifier1541 = new BitSet(new long[]{0x0000000000000012L});
-       public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1559 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_structName1625 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1646 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001CC91L});
-       public static final BitSet FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1679 = new BitSet(new long[]{0x0400004000000000L});
-       public static final BitSet FOLLOW_declaratorList_in_structOrVariantDeclaration1720 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-       public static final BitSet FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1758 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-       public static final BitSet FOLLOW_typealiasDecl_in_structOrVariantDeclaration1817 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-       public static final BitSet FOLLOW_TERM_in_structOrVariantDeclaration1829 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_typeQualifier_in_specifierQualifierList1843 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C091L});
-       public static final BitSet FOLLOW_typeSpecifier_in_specifierQualifierList1847 = new BitSet(new long[]{0x40004AC18A180902L,0x000000000001C091L});
-       public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1880 = new BitSet(new long[]{0x2000000000000002L});
-       public static final BitSet FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1883 = new BitSet(new long[]{0x0400004000000000L});
-       public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1885 = new BitSet(new long[]{0x2000000000000002L});
-       public static final BitSet FOLLOW_declarator_in_structOrVariantDeclarator1924 = new BitSet(new long[]{0x0000000000008002L});
-       public static final BitSet FOLLOW_COLON_in_structOrVariantDeclarator1927 = new BitSet(new long[]{0x8040001000200000L});
-       public static final BitSet FOLLOW_numberLiteral_in_structOrVariantDeclarator1929 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_VARIANTTOK_in_variantSpecifier1953 = new BitSet(new long[]{0x0001104000000000L});
-       public static final BitSet FOLLOW_variantName_in_variantSpecifier1971 = new BitSet(new long[]{0x0001100000000000L});
-       public static final BitSet FOLLOW_variantTag_in_variantSpecifier2001 = new BitSet(new long[]{0x0000100000000002L});
-       public static final BitSet FOLLOW_variantBody_in_variantSpecifier2027 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_variantBody_in_variantSpecifier2095 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_variantTag_in_variantSpecifier2116 = new BitSet(new long[]{0x0000100000000000L});
+       public static final BitSet FOLLOW_declaration_in_parse442 = new BitSet(new long[]{0xA0002560ED0C1500L,0x000000000000E74AL});
+       public static final BitSet FOLLOW_EOF_in_parse445 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_SIGN_in_numberLiteral467 = new BitSet(new long[]{0x4020000800100000L});
+       public static final BitSet FOLLOW_HEX_LITERAL_in_numberLiteral478 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_DECIMAL_LITERAL_in_numberLiteral499 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_OCTAL_LITERAL_in_numberLiteral520 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_primaryExpression558 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ctfKeyword_in_primaryExpression584 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_STRING_LITERAL_in_primaryExpression604 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_numberLiteral_in_primaryExpression629 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_enumConstant_in_primaryExpression635 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_CHARACTER_LITERAL_in_primaryExpression641 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_OPENBRAC_in_postfixExpressionSuffix654 = new BitSet(new long[]{0xC020002828101210L,0x000000000000012AL});
+       public static final BitSet FOLLOW_unaryExpression_in_postfixExpressionSuffix656 = new BitSet(new long[]{0x0000000000002000L});
+       public static final BitSet FOLLOW_CLOSEBRAC_in_postfixExpressionSuffix658 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_DOT_in_postfixExpressionSuffix668 = new BitSet(new long[]{0x0000002000000000L});
+       public static final BitSet FOLLOW_ARROW_in_postfixExpressionSuffix674 = new BitSet(new long[]{0x0000002000000000L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_postfixExpressionSuffix677 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_DOT_in_postfixCtfExpression712 = new BitSet(new long[]{0x0000000028001000L,0x0000000000000102L});
+       public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixCtfExpression715 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_primaryExpression_in_postfixExpression748 = new BitSet(new long[]{0x0100000000400022L});
+       public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression750 = new BitSet(new long[]{0x0100000000400022L});
+       public static final BitSet FOLLOW_ctfSpecifierHead_in_postfixExpression759 = new BitSet(new long[]{0x0100000000400020L});
+       public static final BitSet FOLLOW_postfixCtfExpression_in_postfixExpression761 = new BitSet(new long[]{0x0100000000400020L});
+       public static final BitSet FOLLOW_postfixExpressionSuffix_in_postfixExpression764 = new BitSet(new long[]{0x0100000000400022L});
+       public static final BitSet FOLLOW_postfixExpression_in_unaryExpression780 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_STRING_LITERAL_in_enumConstant797 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_enumConstant811 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ctfKeyword_in_enumConstant825 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_declarationSpecifiers_in_declaration856 = new BitSet(new long[]{0x0200002000000000L,0x0000000000000080L});
+       public static final BitSet FOLLOW_declaratorList_in_declaration858 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+       public static final BitSet FOLLOW_TERM_in_declaration861 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ctfSpecifier_in_declaration929 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+       public static final BitSet FOLLOW_TERM_in_declaration931 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_storageClassSpecifier_in_declarationSpecifiers969 = new BitSet(new long[]{0xA0002560C50C0502L,0x000000000000E448L});
+       public static final BitSet FOLLOW_typeQualifier_in_declarationSpecifiers979 = new BitSet(new long[]{0xA0002560C50C0502L,0x000000000000E448L});
+       public static final BitSet FOLLOW_typeSpecifier_in_declarationSpecifiers989 = new BitSet(new long[]{0xA0002560C50C0502L,0x000000000000E448L});
+       public static final BitSet FOLLOW_declarator_in_declaratorList1019 = new BitSet(new long[]{0x1000000000000002L});
+       public static final BitSet FOLLOW_SEPARATOR_in_declaratorList1022 = new BitSet(new long[]{0x0200002000000000L});
+       public static final BitSet FOLLOW_declarator_in_declaratorList1024 = new BitSet(new long[]{0x1000000000000002L});
+       public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1054 = new BitSet(new long[]{0x1000000000000002L});
+       public static final BitSet FOLLOW_SEPARATOR_in_abstractDeclaratorList1057 = new BitSet(new long[]{0x0200402000000000L});
+       public static final BitSet FOLLOW_abstractDeclarator_in_abstractDeclaratorList1059 = new BitSet(new long[]{0x1000000000000002L});
+       public static final BitSet FOLLOW_TYPEDEFTOK_in_storageClassSpecifier1089 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_FLOATTOK_in_typeSpecifier1105 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_INTTOK_in_typeSpecifier1111 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_LONGTOK_in_typeSpecifier1117 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_SHORTTOK_in_typeSpecifier1123 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_SIGNEDTOK_in_typeSpecifier1129 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_UNSIGNEDTOK_in_typeSpecifier1135 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_CHARTOK_in_typeSpecifier1141 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_DOUBLETOK_in_typeSpecifier1147 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_VOIDTOK_in_typeSpecifier1153 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_BOOLTOK_in_typeSpecifier1159 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_COMPLEXTOK_in_typeSpecifier1165 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_IMAGINARYTOK_in_typeSpecifier1171 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_structSpecifier_in_typeSpecifier1177 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_variantSpecifier_in_typeSpecifier1183 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_enumSpecifier_in_typeSpecifier1189 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ctfTypeSpecifier_in_typeSpecifier1195 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_typedefName_in_typeSpecifier1205 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_CONSTTOK_in_typeQualifier1218 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ALIGNTOK_in_alignAttribute1231 = new BitSet(new long[]{0x0000400000000000L});
+       public static final BitSet FOLLOW_LPAREN_in_alignAttribute1233 = new BitSet(new long[]{0xC020002828101210L,0x000000000000012AL});
+       public static final BitSet FOLLOW_unaryExpression_in_alignAttribute1235 = new BitSet(new long[]{0x0800000000000000L});
+       public static final BitSet FOLLOW_RPAREN_in_alignAttribute1237 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_LCURL_in_structBody1271 = new BitSet(new long[]{0xA4002560C50C0500L,0x000000000000E648L});
+       public static final BitSet FOLLOW_structOrVariantDeclarationList_in_structBody1273 = new BitSet(new long[]{0x0400000000000000L});
+       public static final BitSet FOLLOW_RCURL_in_structBody1276 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_STRUCTTOK_in_structSpecifier1304 = new BitSet(new long[]{0x0000082000000000L});
+       public static final BitSet FOLLOW_structName_in_structSpecifier1329 = new BitSet(new long[]{0x0000080000000012L});
+       public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1351 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_structBody_in_structSpecifier1387 = new BitSet(new long[]{0x0000000000000012L});
+       public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1418 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_structBody_in_structSpecifier1534 = new BitSet(new long[]{0x0000000000000012L});
+       public static final BitSet FOLLOW_alignAttribute_in_structSpecifier1552 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_structName1618 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_structOrVariantDeclaration_in_structOrVariantDeclarationList1639 = new BitSet(new long[]{0xA0002560C50C0502L,0x000000000000E648L});
+       public static final BitSet FOLLOW_declarationSpecifiers_in_structOrVariantDeclaration1672 = new BitSet(new long[]{0x0200002000000000L});
+       public static final BitSet FOLLOW_declaratorList_in_structOrVariantDeclaration1713 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+       public static final BitSet FOLLOW_structOrVariantDeclaratorList_in_structOrVariantDeclaration1751 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+       public static final BitSet FOLLOW_typealiasDecl_in_structOrVariantDeclaration1810 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+       public static final BitSet FOLLOW_TERM_in_structOrVariantDeclaration1822 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_typeQualifier_in_specifierQualifierList1836 = new BitSet(new long[]{0xA0002560C50C0502L,0x000000000000E048L});
+       public static final BitSet FOLLOW_typeSpecifier_in_specifierQualifierList1840 = new BitSet(new long[]{0xA0002560C50C0502L,0x000000000000E048L});
+       public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1873 = new BitSet(new long[]{0x1000000000000002L});
+       public static final BitSet FOLLOW_SEPARATOR_in_structOrVariantDeclaratorList1876 = new BitSet(new long[]{0x0200002000000000L});
+       public static final BitSet FOLLOW_structOrVariantDeclarator_in_structOrVariantDeclaratorList1878 = new BitSet(new long[]{0x1000000000000002L});
+       public static final BitSet FOLLOW_declarator_in_structOrVariantDeclarator1917 = new BitSet(new long[]{0x0000000000004002L});
+       public static final BitSet FOLLOW_COLON_in_structOrVariantDeclarator1920 = new BitSet(new long[]{0x4020000800100000L});
+       public static final BitSet FOLLOW_numberLiteral_in_structOrVariantDeclarator1922 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_VARIANTTOK_in_variantSpecifier1946 = new BitSet(new long[]{0x0000882000000000L});
+       public static final BitSet FOLLOW_variantName_in_variantSpecifier1964 = new BitSet(new long[]{0x0000880000000000L});
+       public static final BitSet FOLLOW_variantTag_in_variantSpecifier1994 = new BitSet(new long[]{0x0000080000000002L});
+       public static final BitSet FOLLOW_variantBody_in_variantSpecifier2020 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_variantBody_in_variantSpecifier2088 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_variantTag_in_variantSpecifier2109 = new BitSet(new long[]{0x0000080000000000L});
+       public static final BitSet FOLLOW_variantBody_in_variantSpecifier2111 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_variantBody_in_variantSpecifier2118 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_variantBody_in_variantSpecifier2125 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_variantName2157 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_LCURL_in_variantBody2188 = new BitSet(new long[]{0x40004AC18A180900L,0x000000000001CC91L});
-       public static final BitSet FOLLOW_structOrVariantDeclarationList_in_variantBody2190 = new BitSet(new long[]{0x0800000000000000L});
-       public static final BitSet FOLLOW_RCURL_in_variantBody2192 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_LT_in_variantTag2219 = new BitSet(new long[]{0x0000004000000000L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_variantTag2221 = new BitSet(new long[]{0x0000000200000000L});
-       public static final BitSet FOLLOW_GT_in_variantTag2223 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ENUMTOK_in_enumSpecifier2244 = new BitSet(new long[]{0x0000104000008000L});
-       public static final BitSet FOLLOW_enumName_in_enumSpecifier2283 = new BitSet(new long[]{0x0000100000008002L});
-       public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2315 = new BitSet(new long[]{0x0000100000000000L});
-       public static final BitSet FOLLOW_enumBody_in_enumSpecifier2317 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_enumBody_in_enumSpecifier2347 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2439 = new BitSet(new long[]{0x0000100000000000L});
-       public static final BitSet FOLLOW_enumBody_in_enumSpecifier2441 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_enumBody_in_enumSpecifier2465 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_enumName2509 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_LCURL_in_enumBody2530 = new BitSet(new long[]{0x0000004040000010L,0x0000000000000051L});
-       public static final BitSet FOLLOW_enumeratorList_in_enumBody2532 = new BitSet(new long[]{0x2800000000000000L});
-       public static final BitSet FOLLOW_SEPARATOR_in_enumBody2534 = new BitSet(new long[]{0x0800000000000000L});
-       public static final BitSet FOLLOW_RCURL_in_enumBody2537 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_COLON_in_enumContainerType2558 = new BitSet(new long[]{0x40004AC18A180900L,0x000000000001C891L});
-       public static final BitSet FOLLOW_declarationSpecifiers_in_enumContainerType2560 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_enumerator_in_enumeratorList2581 = new BitSet(new long[]{0x2000000000000002L});
-       public static final BitSet FOLLOW_SEPARATOR_in_enumeratorList2584 = new BitSet(new long[]{0x0000004040000010L,0x0000000000000051L});
-       public static final BitSet FOLLOW_enumerator_in_enumeratorList2586 = new BitSet(new long[]{0x2000000000000002L});
-       public static final BitSet FOLLOW_enumConstant_in_enumerator2612 = new BitSet(new long[]{0x0000000000000042L});
-       public static final BitSet FOLLOW_enumeratorValue_in_enumerator2614 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ASSIGNMENT_in_enumeratorValue2628 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
-       public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2632 = new BitSet(new long[]{0x0000000004000002L});
-       public static final BitSet FOLLOW_ELIPSES_in_enumeratorValue2671 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
-       public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2675 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_pointer_in_declarator2718 = new BitSet(new long[]{0x0400004000000000L});
-       public static final BitSet FOLLOW_directDeclarator_in_declarator2721 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_directDeclarator2759 = new BitSet(new long[]{0x0200000000000002L});
-       public static final BitSet FOLLOW_directDeclaratorSuffix_in_directDeclarator2799 = new BitSet(new long[]{0x0200000000000002L});
-       public static final BitSet FOLLOW_OPENBRAC_in_directDeclaratorSuffix2813 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
-       public static final BitSet FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2815 = new BitSet(new long[]{0x0000000000004000L});
-       public static final BitSet FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2817 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_unaryExpression_in_directDeclaratorLength2845 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_pointer_in_abstractDeclarator2858 = new BitSet(new long[]{0x0400804000000002L});
-       public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2861 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2886 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_directAbstractDeclarator2923 = new BitSet(new long[]{0x0200000000000002L});
-       public static final BitSet FOLLOW_LPAREN_in_directAbstractDeclarator2934 = new BitSet(new long[]{0x0400804000000000L});
-       public static final BitSet FOLLOW_abstractDeclarator_in_directAbstractDeclarator2936 = new BitSet(new long[]{0x1000000000000000L});
-       public static final BitSet FOLLOW_RPAREN_in_directAbstractDeclarator2938 = new BitSet(new long[]{0x0200000000000002L});
-       public static final BitSet FOLLOW_OPENBRAC_in_directAbstractDeclarator2953 = new BitSet(new long[]{0x8040005050206610L,0x0000000000000255L});
-       public static final BitSet FOLLOW_unaryExpression_in_directAbstractDeclarator2955 = new BitSet(new long[]{0x0000000000004000L});
-       public static final BitSet FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2958 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_POINTER_in_pointer2976 = new BitSet(new long[]{0x0000000000100002L});
-       public static final BitSet FOLLOW_typeQualifierList_in_pointer2978 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_typeQualifier_in_typeQualifierList3001 = new BitSet(new long[]{0x0000000000100002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_typedefName3017 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasTarget3034 = new BitSet(new long[]{0x0400804000000002L});
-       public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasTarget3036 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3062 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasAlias3068 = new BitSet(new long[]{0x0400804000000002L});
-       public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3070 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_TYPEALIASTOK_in_typealiasDecl3084 = new BitSet(new long[]{0x40004AC18A180900L,0x000000000001C891L});
-       public static final BitSet FOLLOW_typealiasTarget_in_typealiasDecl3086 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L});
-       public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3088 = new BitSet(new long[]{0x4400CAC18A180900L,0x000000000001C891L});
-       public static final BitSet FOLLOW_typealiasAlias_in_typealiasDecl3090 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ctfSpecifierHead_in_ctfSpecifier3190 = new BitSet(new long[]{0x0000100000000000L});
-       public static final BitSet FOLLOW_ctfBody_in_ctfSpecifier3192 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_typealiasDecl_in_ctfSpecifier3209 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_EVENTTOK_in_ctfSpecifierHead3230 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_STREAMTOK_in_ctfSpecifierHead3240 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_TRACETOK_in_ctfSpecifierHead3250 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ENVTOK_in_ctfSpecifierHead3260 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_CLOCKTOK_in_ctfSpecifierHead3270 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_CALLSITETOK_in_ctfSpecifierHead3280 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3303 = new BitSet(new long[]{0x0000100000000000L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_variantName2150 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_LCURL_in_variantBody2181 = new BitSet(new long[]{0xA0002560C50C0500L,0x000000000000E648L});
+       public static final BitSet FOLLOW_structOrVariantDeclarationList_in_variantBody2183 = new BitSet(new long[]{0x0400000000000000L});
+       public static final BitSet FOLLOW_RCURL_in_variantBody2185 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_LT_in_variantTag2212 = new BitSet(new long[]{0x0000002000000000L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_variantTag2214 = new BitSet(new long[]{0x0000000100000000L});
+       public static final BitSet FOLLOW_GT_in_variantTag2216 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ENUMTOK_in_enumSpecifier2237 = new BitSet(new long[]{0x0000082000004000L});
+       public static final BitSet FOLLOW_enumName_in_enumSpecifier2276 = new BitSet(new long[]{0x0000080000004002L});
+       public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2308 = new BitSet(new long[]{0x0000080000000000L});
+       public static final BitSet FOLLOW_enumBody_in_enumSpecifier2310 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_enumBody_in_enumSpecifier2340 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_enumContainerType_in_enumSpecifier2432 = new BitSet(new long[]{0x0000080000000000L});
+       public static final BitSet FOLLOW_enumBody_in_enumSpecifier2434 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_enumBody_in_enumSpecifier2458 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_enumName2502 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_LCURL_in_enumBody2523 = new BitSet(new long[]{0x8000002020000010L,0x0000000000000028L});
+       public static final BitSet FOLLOW_enumeratorList_in_enumBody2525 = new BitSet(new long[]{0x1400000000000000L});
+       public static final BitSet FOLLOW_SEPARATOR_in_enumBody2527 = new BitSet(new long[]{0x0400000000000000L});
+       public static final BitSet FOLLOW_RCURL_in_enumBody2530 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_COLON_in_enumContainerType2551 = new BitSet(new long[]{0xA0002560C50C0500L,0x000000000000E448L});
+       public static final BitSet FOLLOW_declarationSpecifiers_in_enumContainerType2553 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_enumerator_in_enumeratorList2574 = new BitSet(new long[]{0x1000000000000002L});
+       public static final BitSet FOLLOW_SEPARATOR_in_enumeratorList2577 = new BitSet(new long[]{0x8000002020000010L,0x0000000000000028L});
+       public static final BitSet FOLLOW_enumerator_in_enumeratorList2579 = new BitSet(new long[]{0x1000000000000002L});
+       public static final BitSet FOLLOW_enumConstant_in_enumerator2605 = new BitSet(new long[]{0x0000000000000042L});
+       public static final BitSet FOLLOW_enumeratorValue_in_enumerator2607 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ASSIGNMENT_in_enumeratorValue2621 = new BitSet(new long[]{0xC020002828101210L,0x000000000000012AL});
+       public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2625 = new BitSet(new long[]{0x0000000002000002L});
+       public static final BitSet FOLLOW_ELIPSES_in_enumeratorValue2664 = new BitSet(new long[]{0xC020002828101210L,0x000000000000012AL});
+       public static final BitSet FOLLOW_unaryExpression_in_enumeratorValue2668 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_pointer_in_declarator2711 = new BitSet(new long[]{0x0200002000000000L});
+       public static final BitSet FOLLOW_directDeclarator_in_declarator2714 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_directDeclarator2752 = new BitSet(new long[]{0x0100000000000002L});
+       public static final BitSet FOLLOW_directDeclaratorSuffix_in_directDeclarator2792 = new BitSet(new long[]{0x0100000000000002L});
+       public static final BitSet FOLLOW_OPENBRAC_in_directDeclaratorSuffix2806 = new BitSet(new long[]{0xC020002828101210L,0x000000000000012AL});
+       public static final BitSet FOLLOW_directDeclaratorLength_in_directDeclaratorSuffix2808 = new BitSet(new long[]{0x0000000000002000L});
+       public static final BitSet FOLLOW_CLOSEBRAC_in_directDeclaratorSuffix2810 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_unaryExpression_in_directDeclaratorLength2838 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_pointer_in_abstractDeclarator2851 = new BitSet(new long[]{0x0200402000000002L});
+       public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2854 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_directAbstractDeclarator_in_abstractDeclarator2879 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_directAbstractDeclarator2916 = new BitSet(new long[]{0x0100000000000002L});
+       public static final BitSet FOLLOW_LPAREN_in_directAbstractDeclarator2927 = new BitSet(new long[]{0x0200402000000000L});
+       public static final BitSet FOLLOW_abstractDeclarator_in_directAbstractDeclarator2929 = new BitSet(new long[]{0x0800000000000000L});
+       public static final BitSet FOLLOW_RPAREN_in_directAbstractDeclarator2931 = new BitSet(new long[]{0x0100000000000002L});
+       public static final BitSet FOLLOW_OPENBRAC_in_directAbstractDeclarator2946 = new BitSet(new long[]{0xC020002828103210L,0x000000000000012AL});
+       public static final BitSet FOLLOW_unaryExpression_in_directAbstractDeclarator2948 = new BitSet(new long[]{0x0000000000002000L});
+       public static final BitSet FOLLOW_CLOSEBRAC_in_directAbstractDeclarator2951 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_POINTER_in_pointer2969 = new BitSet(new long[]{0x0000000000080002L});
+       public static final BitSet FOLLOW_typeQualifierList_in_pointer2971 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_typeQualifier_in_typeQualifierList2994 = new BitSet(new long[]{0x0000000000080002L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_typedefName3010 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasTarget3027 = new BitSet(new long[]{0x0200402000000002L});
+       public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasTarget3029 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3055 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_declarationSpecifiers_in_typealiasAlias3061 = new BitSet(new long[]{0x0200402000000002L});
+       public static final BitSet FOLLOW_abstractDeclaratorList_in_typealiasAlias3063 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_TYPEALIASTOK_in_typealiasDecl3077 = new BitSet(new long[]{0xA0002560C50C0500L,0x000000000000E448L});
+       public static final BitSet FOLLOW_typealiasTarget_in_typealiasDecl3079 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L});
+       public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_typealiasDecl3081 = new BitSet(new long[]{0xA2006560C50C0500L,0x000000000000E448L});
+       public static final BitSet FOLLOW_typealiasAlias_in_typealiasDecl3083 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ctfSpecifierHead_in_ctfSpecifier3183 = new BitSet(new long[]{0x0000080000000000L});
+       public static final BitSet FOLLOW_ctfBody_in_ctfSpecifier3185 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_typealiasDecl_in_ctfSpecifier3202 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_EVENTTOK_in_ctfSpecifierHead3223 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_STREAMTOK_in_ctfSpecifierHead3233 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_TRACETOK_in_ctfSpecifierHead3243 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ENVTOK_in_ctfSpecifierHead3253 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_CLOCKTOK_in_ctfSpecifierHead3263 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_FLOATINGPOINTTOK_in_ctfTypeSpecifier3286 = new BitSet(new long[]{0x0000080000000000L});
+       public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3288 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3303 = new BitSet(new long[]{0x0000080000000000L});
        public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3305 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_INTEGERTOK_in_ctfTypeSpecifier3320 = new BitSet(new long[]{0x0000100000000000L});
+       public static final BitSet FOLLOW_STRINGTOK_in_ctfTypeSpecifier3320 = new BitSet(new long[]{0x0000080000000002L});
        public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3322 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_STRINGTOK_in_ctfTypeSpecifier3337 = new BitSet(new long[]{0x0000100000000002L});
-       public static final BitSet FOLLOW_ctfBody_in_ctfTypeSpecifier3339 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_LCURL_in_ctfBody3372 = new BitSet(new long[]{0xC8404AD1DA382F10L,0x000000000001CED5L});
-       public static final BitSet FOLLOW_ctfAssignmentExpressionList_in_ctfBody3374 = new BitSet(new long[]{0x0800000000000000L});
-       public static final BitSet FOLLOW_RCURL_in_ctfBody3377 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3396 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
-       public static final BitSet FOLLOW_TERM_in_ctfAssignmentExpressionList3398 = new BitSet(new long[]{0xC0404AD1DA382F12L,0x000000000001CED5L});
-       public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3421 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001000L});
-       public static final BitSet FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3433 = new BitSet(new long[]{0x8040005050202610L,0x0000000000000255L});
-       public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3437 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3513 = new BitSet(new long[]{0x40004AC18A080900L,0x000000000001C091L});
-       public static final BitSet FOLLOW_typeSpecifier_in_ctfAssignmentExpression3517 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3600 = new BitSet(new long[]{0x0400004000000000L});
-       public static final BitSet FOLLOW_declaratorList_in_ctfAssignmentExpression3604 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_typealiasDecl_in_ctfAssignmentExpression3627 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_IDENTIFIER_in_synpred1_CTFParser560 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_ctfKeyword_in_synpred2_CTFParser586 = new BitSet(new long[]{0x0000000000000002L});
-       public static final BitSet FOLLOW_STRING_LITERAL_in_synpred3_CTFParser606 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_LCURL_in_ctfBody3355 = new BitSet(new long[]{0xE4202568ED1C1710L,0x000000000000E76AL});
+       public static final BitSet FOLLOW_ctfAssignmentExpressionList_in_ctfBody3357 = new BitSet(new long[]{0x0400000000000000L});
+       public static final BitSet FOLLOW_RCURL_in_ctfBody3360 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ctfAssignmentExpression_in_ctfAssignmentExpressionList3379 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L});
+       public static final BitSet FOLLOW_TERM_in_ctfAssignmentExpressionList3381 = new BitSet(new long[]{0xE0202568ED1C1712L,0x000000000000E76AL});
+       public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3404 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000800L});
+       public static final BitSet FOLLOW_ASSIGNMENT_in_ctfAssignmentExpression3416 = new BitSet(new long[]{0xC020002828101210L,0x000000000000012AL});
+       public static final BitSet FOLLOW_unaryExpression_in_ctfAssignmentExpression3420 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_TYPE_ASSIGNMENT_in_ctfAssignmentExpression3496 = new BitSet(new long[]{0xA0002560C5040500L,0x000000000000E048L});
+       public static final BitSet FOLLOW_typeSpecifier_in_ctfAssignmentExpression3500 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_declarationSpecifiers_in_ctfAssignmentExpression3583 = new BitSet(new long[]{0x0200002000000000L});
+       public static final BitSet FOLLOW_declaratorList_in_ctfAssignmentExpression3587 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_typealiasDecl_in_ctfAssignmentExpression3610 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_IDENTIFIER_in_synpred1_CTFParser553 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_ctfKeyword_in_synpred2_CTFParser579 = new BitSet(new long[]{0x0000000000000002L});
+       public static final BitSet FOLLOW_STRING_LITERAL_in_synpred3_CTFParser599 = new BitSet(new long[]{0x0000000000000002L});
 }
index 3c02ebf5c7e2af9b6ac717eb12561b12750f025e..da32d48d5ceb3e078163cf29a7791ef3a89d0883 100644 (file)
@@ -19,7 +19,6 @@ Export-Package: org.eclipse.tracecompass.internal.tmf.ctf.core;x-internal:=true,
  org.eclipse.tracecompass.tmf.ctf.core.context,
  org.eclipse.tracecompass.tmf.ctf.core.event,
  org.eclipse.tracecompass.tmf.ctf.core.event.aspect,
- org.eclipse.tracecompass.tmf.ctf.core.event.lookup,
  org.eclipse.tracecompass.tmf.ctf.core.trace
 Import-Package: com.google.common.collect,
  com.google.common.primitives,
index 7a30b7b2047acd3fc80bbf771c601de449ec1250..b2e4a09a96393f1ce7f43c8ce4f03ae90974dc7c 100644 (file)
@@ -31,5 +31,4 @@
     </plugins>
   </build>
 
- <groupId>org.eclipse.tracecompass</groupId>
 </project>
index f2c990099190a62b0bcc03fa9f05322323cf059c..9fb7548515ddb98a1bd24dc0e18146be37fed4bb 100644 (file)
@@ -32,11 +32,9 @@ import org.eclipse.tracecompass.tmf.core.event.ITmfEventType;
 import org.eclipse.tracecompass.tmf.core.event.TmfEvent;
 import org.eclipse.tracecompass.tmf.core.event.TmfEventField;
 import org.eclipse.tracecompass.tmf.core.event.lookup.ITmfModelLookup;
-import org.eclipse.tracecompass.tmf.core.event.lookup.ITmfSourceLookup;
 import org.eclipse.tracecompass.tmf.core.timestamp.TmfNanoTimestamp;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfContext;
 import org.eclipse.tracecompass.tmf.ctf.core.CtfConstants;
-import org.eclipse.tracecompass.tmf.ctf.core.event.lookup.CtfTmfCallsite;
 import org.eclipse.tracecompass.tmf.ctf.core.trace.CtfTmfTrace;
 
 /**
@@ -47,7 +45,7 @@ import org.eclipse.tracecompass.tmf.ctf.core.trace.CtfTmfTrace;
  */
 @NonNullByDefault
 public class CtfTmfEvent extends TmfEvent
-        implements ITmfSourceLookup, ITmfModelLookup, ITmfCustomAttributes {
+        implements ITmfModelLookup, ITmfCustomAttributes {
 
     // ------------------------------------------------------------------------
     // Constants
@@ -282,35 +280,6 @@ public class CtfTmfEvent extends TmfEvent
         return declaration.getCustomAttribute(name);
     }
 
-    // ------------------------------------------------------------------------
-    // ITmfSourceLookup
-    // ------------------------------------------------------------------------
-
-    /**
-     * Get the call site for this event.
-     *
-     * @return the call site information, or null if there is none
-     */
-    @Override
-    public @Nullable CtfTmfCallsite getCallsite() {
-        CtfTmfCallsite callsite = null;
-
-        ITmfEventField ipField = getContent().getField(CtfConstants.CONTEXT_FIELD_PREFIX + CtfConstants.IP_KEY);
-        if (ipField != null && ipField.getValue() instanceof Long) {
-            long ip = (Long) ipField.getValue();
-            callsite = getTrace().getCallsite(fEventName, ip);
-        }
-
-        if (callsite == null) {
-            callsite = getTrace().getCallsite(fEventName);
-        }
-        return callsite;
-    }
-
-    // ------------------------------------------------------------------------
-    // ITmfModelLookup
-    // ------------------------------------------------------------------------
-
     @Override
     public @Nullable String getModelUri() {
         return getCustomAttribute(CtfConstants.MODEL_URI_KEY);
diff --git a/ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/event/lookup/CtfTmfCallsite.java b/ctf/org.eclipse.tracecompass.tmf.ctf.core/src/org/eclipse/tracecompass/tmf/ctf/core/event/lookup/CtfTmfCallsite.java
deleted file mode 100644 (file)
index c65b1f5..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013, 2014 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Patrick Tasse - Initial API and implementation
- *     Bernd Hufmann - Updated for new parent class
- *******************************************************************************/
-
-package org.eclipse.tracecompass.tmf.ctf.core.event.lookup;
-
-import static org.eclipse.tracecompass.common.core.NonNullUtils.equalsNullable;
-import org.eclipse.tracecompass.ctf.core.event.CTFCallsite;
-import org.eclipse.tracecompass.tmf.core.event.lookup.TmfCallsite;
-
-/**
- * CTF TMF call site information for source code lookup.
- *
- * @author Patrick Tasse
- */
-public class CtfTmfCallsite extends TmfCallsite {
-
-    // ------------------------------------------------------------------------
-    // Attributes
-    // ------------------------------------------------------------------------
-
-    /** The event name. */
-    private final String fEventName;
-
-    /** The instruction pointer. */
-    private final long fInstructionPointer;
-
-    // ------------------------------------------------------------------------
-    // Constructors
-    // ------------------------------------------------------------------------
-
-    /**
-     * Standard Constructor.
-     *
-     * @param callsite
-     *            - a CTF call site
-     */
-    public CtfTmfCallsite(CTFCallsite callsite) {
-        super(callsite.getFileName(), callsite.getFunctionName(), callsite.getLineNumber());
-        fEventName = callsite.getEventName();
-        fInstructionPointer = callsite.getIp();
-    }
-
-    // ------------------------------------------------------------------------
-    // Accessors
-    // ------------------------------------------------------------------------
-
-    /**
-     * Returns the event name of the call site.
-     *
-     * @return the event name
-     */
-    public String getEventName() {
-        return fEventName;
-    }
-
-    /**
-     * Returns the instruction pointer of the call site.
-     *
-     * @return the instruction pointer
-     */
-    public long getIntructionPointer() {
-        return fInstructionPointer;
-    }
-
-    // ------------------------------------------------------------------------
-    // Accessors
-    // ------------------------------------------------------------------------
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = super.hashCode();
-        result = prime * result + ((fEventName == null) ? 0 : fEventName.hashCode());
-        result = prime * result + (int) (fInstructionPointer ^ (fInstructionPointer >>> 32));
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!super.equals(obj)) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        CtfTmfCallsite other = (CtfTmfCallsite) obj;
-        if (!equalsNullable(fEventName, other.fEventName)) {
-            return false;
-        }
-        if (fInstructionPointer != other.fInstructionPointer) {
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public String toString() {
-        return getEventName() + "@0x" + Long.toHexString(fInstructionPointer) + ": " + //$NON-NLS-1$ //$NON-NLS-2$
-                getFileName() + ':' + Long.toString(getLineNumber()) + ' ' + getFileName() + "()"; //$NON-NLS-1$
-    }
-}
index bd44123a64a35b8acbbd63fe85082bba87741e76..5328b5b293424fdfaced06611f015c7f39b0b2b6 100644 (file)
@@ -32,9 +32,7 @@ import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jdt.annotation.NonNull;
-import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.tracecompass.ctf.core.CTFException;
-import org.eclipse.tracecompass.ctf.core.event.CTFCallsite;
 import org.eclipse.tracecompass.ctf.core.event.CTFClock;
 import org.eclipse.tracecompass.ctf.core.event.IEventDeclaration;
 import org.eclipse.tracecompass.ctf.core.event.types.StructDeclaration;
@@ -71,7 +69,6 @@ import org.eclipse.tracecompass.tmf.ctf.core.event.CtfTmfEvent;
 import org.eclipse.tracecompass.tmf.ctf.core.event.CtfTmfEventType;
 import org.eclipse.tracecompass.tmf.ctf.core.event.aspect.CtfChannelAspect;
 import org.eclipse.tracecompass.tmf.ctf.core.event.aspect.CtfCpuAspect;
-import org.eclipse.tracecompass.tmf.ctf.core.event.lookup.CtfTmfCallsite;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
@@ -389,38 +386,6 @@ public class CtfTmfTrace extends TmfTrace
         return super.getHostId();
     }
 
-    /**
-     * Get the first callsite that matches the event name
-     *
-     * @param eventName The event name to look for
-     * @return The best callsite candidate
-     */
-    public @Nullable CtfTmfCallsite getCallsite(String eventName) {
-        CTFCallsite callsite = fTrace.getCallsite(eventName);
-        if (callsite != null) {
-            return new CtfTmfCallsite(callsite);
-        }
-        return null;
-    }
-
-    /**
-     * Get the closest matching callsite for given event name and instruction
-     * pointer
-     *
-     * @param eventName
-     *            The event name
-     * @param ip
-     *            The instruction pointer
-     * @return The closest matching callsite
-     */
-    public @Nullable CtfTmfCallsite getCallsite(String eventName, long ip) {
-        CTFCallsite calliste = fTrace.getCallsite(eventName, ip);
-        if (calliste != null) {
-            return new CtfTmfCallsite(calliste);
-        }
-        return null;
-    }
-
     /**
      * Get the CTF environment variables defined in this CTF trace, in <name,
      * value> form. This comes from the trace's CTF metadata.
index ae1a251ff04dddfd8dd4d428ae1c03210c6b9ebc..025284c725b57895662b2f44ad75b4bd5a9347de 100644 (file)
@@ -68,11 +68,11 @@ public class TestInvalidCtfTrace {
     private static final Map<String, String> ERRORS = new HashMap<>();
     static {
         // metadata
-        ERRORS.put("array-redefinition", "MismatchedTokenException(57!=72)");
+        ERRORS.put("array-redefinition", "MismatchedTokenException(56!=71)");
         ERRORS.put("array-size-identifier", "Is not an integer: x");
-        ERRORS.put("array-size-keyword", "NoViableAltException(75@[])");
+        ERRORS.put("array-size-keyword", "NoViableAltException(74@[])");
         ERRORS.put("array-size-negative", "Array length is negative");
-        ERRORS.put("array-size-not-present", "NoViableAltException(14@[])");
+        ERRORS.put("array-size-not-present", "NoViableAltException(13@[])");
         ERRORS.put("array-size-string", "Is not an integer: x");
         ERRORS.put("array-size-type-field", "Is not an integer: uint32_t");
         ERRORS.put("array-size-type", "Is not an integer: uint32_t");
@@ -91,7 +91,7 @@ public class TestInvalidCtfTrace {
         ERRORS.put("struct-align-zero", "Invalid value for alignment : 0");
         ERRORS.put("struct-duplicate-field-name", "Identifier has already been defined:xxx");
         ERRORS.put("struct-duplicate-struct-name", "struct a already defined.");
-        ERRORS.put("struct-field-name-keyword", "NoViableAltException(73@[])");
+        ERRORS.put("struct-field-name-keyword", "NoViableAltException(72@[])");
         // streams
         ERRORS.put("content-size-larger-than-packet-size", "UNKNOWN"); //FIXME
         ERRORS.put("cross-packet-event-alignment-empty-struct", "UNKNOWN"); //FIXME
This page took 0.211944 seconds and 5 git commands to generate.