aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* New option to control the debug information build.Bernhard Schommer2015-11-044-5/+15
| | | | | | The new option -gonly-global allows the generation of debuging information for global variables only. Bug 17566.
* bug 17567, typosMichael Schmidt2015-11-041-3/+3
|
* bug 17567, typosMichael Schmidt2015-11-042-2/+2
|
* Removed unused p_char_list function. Bug 17544.Bernhard Schommer2015-11-031-2/+0
|
* Changed the name of a few ppc instructions. Bug 17544Bernhard Schommer2015-11-031-3/+3
|
* Simplify the Json export.Bernhard Schommer2015-11-031-166/+183
| | | | | | Instead of having a function for each instruction we now use a generic function to print the arguments. Bug 17544.
* Few simple rewrite for the AsmToJSON printer.Bernhard Schommer2015-10-291-155/+147
| | | | | | In a first step all the print commands for the names are replaced by a more safe variant that avoids missing \". Bug 17328
* Another typo in AsmToJson.Bernhard Schommer2015-10-291-1/+1
| | | | Bug 17473
* Fixed some minor types in the asm printer.Bernhard Schommer2015-10-291-1/+1
| | | | Bug 17473
* Merge branch 'master' of github.com:AbsInt/CompCertBernhard Schommer2015-10-282-17/+17
|\
| * Merge pull request #62 from fpottier/commentBernhard Schommer2015-10-282-17/+17
| |\ | | | | | | Fixed some comments.
| | * Set [ErrorReports.debug] to [false].François Pottier2015-10-281-1/+1
| | | | | | | | | | | | | | | | | | When [debug] is [false], there are a few places where we silently ignore an error. This should not make any difference if everything works as planned.
| | * Fixed some comments.François Pottier2015-10-281-16/+16
| |/
* | Use ifndef correct. Bug 17481Bernhard Schommer2015-10-271-1/+1
| |
* | Test if menhir includes is set before trying to set it.Bernhard Schommer2015-10-271-1/+5
| | | | | | | | Bug 17481.
* | Allow the MENHIR_INCLUDE path to be set by environment.Bernhard Schommer2015-10-271-4/+3
|/ | | | Bug 17481
* Fixed typo in AsmToJson.Bernhard Schommer2015-10-261-1/+1
| | | | Bug 17473.
* Merge pull request #61 from fpottier/cleanBernhard Schommer2015-10-261-5/+1
|\ | | | | Fixed one error message and removed two comments.
| * Fixed one error message and removed two comments.François Pottier2015-10-261-5/+1
| |
* | Also redirect the output of stderr.Bernhard Schommer2015-10-261-2/+1
| | | | | | | | Bug 17481.
* | Merge branch 'fpottier-clean'Bernhard Schommer2015-10-2626-126/+6195
|\ \
| * | Merge branch 'clean' of git://github.com/fpottier/CompCert into fpottier-cleanBernhard Schommer2015-10-2626-126/+6195
|/| | | |/
| * Merge branch 'clean' of github.com:fpottier/CompCert into cleanFrançois Pottier2015-10-230-0/+0
| |\
| | * Merge remote branch 'upstream/master' into cleanFrançois Pottier2015-10-23289-20497/+17037
| | |\ | | | | | | | | | | | | | | | | Conflicts: Makefile.extr
| * | \ Merge remote branch 'upstream/master' into cleanFrançois Pottier2015-10-23289-20497/+17037
| |\ \ \ | | |/ / | |/| / | | |/ | | | Conflicts: Makefile.extr
| * | Updated [configure] to require today's Menhir.François Pottier2015-10-231-3/+4
| | |
| * | Added copyright banners to the new files.François Pottier2015-10-238-0/+94
| | |
| * | Added a few cleanup commands in [make clean].François Pottier2015-10-232-2/+3
| | |
| * | Added some handwritten .c files in tests/handwritten/.François Pottier2015-10-2311-0/+59
| | |
| * | Install the new system for reporting syntax errors.François Pottier2015-10-239-8/+5791
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires the development version of Menhir, to be released soon. In summary: handcrafted.messages is new. It contains a mapping of erroneous sentences to error messages, together with a lot of comments. Makefile.extr is new. It contains a rule to generate cparser/pre_parser_messages.ml based on this mapping. cparser/ErrorReports.{ml,mli} are new. They construct syntax error messages, based on the compiled mapping. cparser/Lexer.mll is modified. The last two tokens that have been read are stored in a buffer. ErrorReports is called to construct a syntax error message. cparser/GNUmakefile is new. It offers several commands for working on the pre-parser. cparser/deLexer.ml is new. It is a script (it is not linked into CompCert). It translates the symbolic name of a token to an example of this token in concrete C syntax. It is used by [make -C cparser concrete] to produce the .c files in tests/generated/. cparser/tests/generated/Makefile is new. It runs ccomp, clang and gcc on each of the generated C files, so as to allow a comparison of the error messages.
| * | Lexer update: use Menhir's incremental API instead of Menhir's traditional API.François Pottier2015-10-231-3/+16
| | | | | | | | | | | | | | | This means that CompCert must now be compiled in --table mode. At this point, the error message for a syntax error is still just "syntax error".
| * | Lexer cleanup: isolate [lexer_wraper] and rename it to [lexer].François Pottier2015-10-231-6/+10
| | |
| * | Lexer cleanup: isolate the entry point into the lexer.François Pottier2015-10-231-6/+10
| | |
| * | Added an %on_error_reduce declaration.François Pottier2015-10-231-0/+42
| | | | | | | | | | | | | | | This affects in which states errors are detected, but does not change the language that is accepted.
| * | Changed [asm_flags] to a left-recursive list.François Pottier2015-10-231-1/+1
| | | | | | | | | | | | This allows us to give a better error message in one state.
| * | Removed the two uses of $syntaxerror in a semantic action.François Pottier2015-10-231-2/+7
| | | | | | | | | | | | | | | | | | | | | For the first one, this is fine; the error is caught by a type check later on. For the second one, it is temporary. More thought is needed about the syntax of K&R functions anyway, as Jacques-Henri and I discovered that it is currently broken (it mis-interprets some function definitions).
| * | Inlined [constant_expression] to save one state.François Pottier2015-10-231-1/+1
| | |
| * | Reformulated [specifier_qualifier_list_no_typedef_name] as a left-recursive ↵François Pottier2015-10-231-4/+4
| | | | | | | | | | | | | | | | | | list. This saves 7 states and 4 error states.
| * | Redefined [pointer] as a left-recursive list.François Pottier2015-10-231-7/+24
| | | | | | | | | | | | | | | This creates more states and does not change the number of error states. It should make it easier to give a good error message in at least 2 states.
| * | Replaced [declaration_specifiers_no_typedef_name] with ↵François Pottier2015-10-231-7/+3
| | | | | | | | | | | | | | | | | | | | | [declaration_specifier_no_typedef_name*]. This replaces a right-recursive list with a left-recursive list. This saves 2 states and 6 error states.
| * | Factorized [declaration_specifier_no_typedef_name].François Pottier2015-10-231-5/+9
| | | | | | | | | | | | This results in slightly fewer states.
| * | Reformulated the definitions of [option] and [list] in a slightly more ↵François Pottier2015-10-231-11/+13
| | | | | | | | | | | | elegant manner.
| * | Introduced [list] and [ilist]. Redefined [declaration_specifiers_no_type] as ↵François Pottier2015-10-231-11/+22
| | | | | | | | | | | | | | | | | | a left-recursive list. This further reduces the number of states (and error states).
| * | Factorized [declaration_specifier_no_type].François Pottier2015-10-231-3/+7
| | | | | | | | | | | | This saves a few states.
| * | Added a phantom parameter to [declaration].François Pottier2015-10-231-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This parameter is passed down in [declaration_specifiers(declaration(phantom))]. This allows us to distinguish between three calling contexts for [declaration_specifiers]: - we are definitely in a parameter declaration; - we are definitely in a declaration (e.g., in a block); - we are in a declaration or in a function definition (i.e., at the top level). This allows us to give better error messages. For instance, when inside a block, we know that this cannot be the beginning of a function definition.
| * | Added a phantom parameter to [declaration_specifiers].François Pottier2015-10-231-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | This does not change the automaton at all. It allows us to distinguish more easily between two contexts: - the beginning of a declaration or function definition; - the beginning of a parameter declaration. This leads to better error messages.
| * | Added a phantom parameter to [abstract_declarator].François Pottier2015-10-231-4/+8
| | | | | | | | | | | | | | | | | | | | | This allows distinguishing two uses of abstract_declarator, within a type_name and within a parameter_declaration. This provides more static context and allows giving a better syntax error message, as this allows us know what is expected next: a closing parenthesis or a comma.
| * | Added a phantom parameter to [specifier_qualifier_list].François Pottier2015-10-231-3/+4
| | |
| * | A general comment about phantom parameters.François Pottier2015-10-231-0/+16
| | |
| * | Remove all productions that involve the [error] token.François Pottier2015-10-231-34/+0
| | | | | | | | | | | | | | | These productions were used to give better error messages in some situations. They are no longer useful, since we are building a whole new system for reporting errors.