aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Merge branch 'master' of ↵Michael Schmidt2015-11-061-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | git+ssh://ssh.absint.com/common/repositories/git/tools/compcert
| * | | | | | Do not print parameter names in function types.Bernhard Schommer2015-11-061-2/+2
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For function types used by function pointers we do not need to print the name of the paraments. Also switch the logic in case of prototyped/unprototyped. Fix 17579.
* / / / / / bug 17567, typosMichael Schmidt2015-11-064-11/+11
|/ / / / /
* | | | | Merge pull request #67 from fpottier/compressBernhard Schommer2015-11-051-1/+9
|\ \ \ \ \ | | | | | | | | | | | | When printing a fragment of source text as part of an error message, …
| * | | | | When printing a fragment of source text as part of an error message, ↵François Pottier2015-11-031-1/+9
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | compress multiple whitespace characters into just one space character. This is done before the call to [sanitize], which replaces special characters with a dot. This produces more a readable result when the error spans multiple lines.
* | | | | 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.